/* Quick Support — Visual System v21
   Artwork is photography only. All text, buttons and links are live HTML.
   Base typography/layout remains in style.css. */

.site-header{background:#00638f;position:sticky;top:0;z-index:500;box-shadow:0 2px 16px #003a541a}
.nav-wrap{min-height:96px;gap:20px}
.brand{gap:12px;min-width:0;flex-shrink:0}
.brand img{width:116px;height:78px;object-fit:contain}
.brand-text{font-size:clamp(1.35rem,1.8vw,2rem);white-space:nowrap}
.main-nav{gap:22px;font-size:16px;white-space:nowrap;flex-wrap:nowrap;align-items:center}
.main-nav>a:not(.btn),.nav-services>a{opacity:.96;transition:color .18s ease}
.main-nav>a.current-page,.nav-services>a.current-page{color:var(--yellow)!important;font-weight:800;opacity:1}
.nav-services{position:relative;display:flex;align-items:center;gap:2px}
.nav-services>a{display:flex;align-items:center;white-space:nowrap}
.nav-services>a::after{display:none}
.nav-services-toggle{width:22px;height:32px;border:0;background:transparent;color:inherit;padding:0;display:inline-grid;place-items:center;cursor:pointer;font:inherit}
.nav-services-toggle span{font-size:12px;line-height:1;transition:transform .18s ease}
.nav-services.open .nav-services-toggle span{transform:rotate(180deg)}
.nav-services-menu{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%,-6px);width:330px;max-height:70vh;overflow:auto;padding:8px;background:#063a5d;border:1px solid rgba(255,255,255,.14);border-radius:10px;box-shadow:0 18px 45px rgba(0,0,0,0.168);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s ease;z-index:600}
.nav-services:hover .nav-services-menu,.nav-services:focus-within .nav-services-menu,.nav-services.open .nav-services-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.nav-services-menu a{display:block;padding:10px 12px;border-radius:7px;color:#fff;font-size:13px;line-height:1.35;white-space:normal}
.nav-services-menu a:hover,.nav-services-menu a:focus-visible{background:rgba(255,210,28,.12);color:var(--yellow);outline:none}
.nav-services-menu .nav-services-all{margin-top:6px;padding-top:12px;border-top:1px solid rgba(255,255,255,.13);color:var(--yellow);font-weight:800}

/* ---------- Visual hero system ---------- */
.qs-visual-hero{width:100%;background:#061f34;overflow:hidden}
.qs-visual-frame{position:relative;width:100%;height:520px;margin:0 auto;background-color:#061f34;background-position:right center;background-size:55% 100%;background-repeat:no-repeat;overflow:hidden;isolation:isolate}
.qs-visual-frame::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#061f34 0%,#061f34 39%,rgba(6,31,52,.96) 47%,rgba(6,31,52,.35) 62%,rgba(6,31,52,0) 78%);z-index:1;pointer-events:none}
.qs-visual-frame::after{content:"";position:absolute;left:0;right:0;bottom:0;height:27%;background:linear-gradient(180deg,rgba(6,31,52,.18),#061f34 22%);z-index:2;pointer-events:none}
.qs-mask-left,.qs-mask-right{display:none!important}
.qs-mask-bottom{position:absolute;left:0;right:0;bottom:0;height:27%;background:rgba(6,31,52,.88);z-index:2;pointer-events:none}
.qs-visual-copy{position:absolute;z-index:4;left:max(6%,calc((100% - 1180px)/2));top:10%;width:min(44%,560px);color:#fff;text-align:left}
.qs-visual-eyebrow{margin:0 0 13px;color:var(--yellow);font-size:12px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.qs-visual-copy h1{margin:0 0 16px;font-family:Montserrat,Arial,sans-serif;font-size:clamp(34px,3.55vw,52px);line-height:1.08;letter-spacing:-.02em;color:#fff}
.qs-accent{color:var(--yellow)}
.qs-visual-lead{margin:0 0 20px;max-width:560px;color:rgba(255,255,255,.91);font-size:clamp(14px,1.05vw,16px);line-height:1.65}
.qs-visual-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.qs-visual-cta,.qs-visual-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 18px;border-radius:8px;font-size:13px;font-weight:800;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.qs-visual-cta{background:var(--yellow);color:#17354b;box-shadow:0 8px 22px rgba(0,0,0,0.108)}
.qs-visual-cta::before{content:'→';display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;margin-right:8px;border-radius:50%;background:#17354b;color:var(--yellow);font-size:14px;line-height:1}
.qs-visual-secondary{border:1px solid rgba(255,255,255,.65);color:#fff;background:rgba(255,255,255,.04)}
.qs-visual-cta:hover,.qs-visual-secondary:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,0,0,0.132)}
.qs-visual-secondary:hover{background:rgba(255,255,255,.1)}
.qs-visual-bottom{position:absolute;z-index:4;left:max(4%,calc((100% - 1240px)/2));right:max(4%,calc((100% - 1240px)/2));bottom:0;height:25%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
.qs-visual-bottom-item{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 16px;color:#fff;text-align:center;border-right:1px solid rgba(255,210,28,.32);font-size:clamp(10.5px,.9vw,13px);font-weight:700;line-height:1.35}
.qs-visual-bottom-item:last-child{border-right:0}
.qs-visual-bottom-icon{display:grid;place-items:center;width:28px;height:28px;margin-bottom:6px;color:var(--yellow);font-size:19px}
.qs-visual-bottom-icon svg{width:23px;height:23px;display:block}
body.rtl .qs-visual-frame{background-position:left center}
body.rtl .qs-visual-frame::before{background:linear-gradient(270deg,#061f34 0%,#061f34 39%,rgba(6,31,52,.96) 47%,rgba(6,31,52,.35) 62%,rgba(6,31,52,0) 78%)}
body.rtl .qs-visual-copy{left:auto;right:max(6%,calc((100% - 1180px)/2));text-align:right;direction:rtl}
body.rtl .qs-visual-cta::before{content:'←';margin-right:0;margin-left:8px}
body.rtl .qs-visual-bottom-item{border-right:0;border-left:1px solid rgba(255,210,28,.32)}
body.rtl .qs-visual-bottom-item:last-child{border-left:0}

/* Services hero: clean photography + live 8-service navigation. */
.qs-visual-services .qs-visual-frame{height:620px;background-size:56% 76%;background-position:right top}
.qs-visual-services .qs-visual-frame::after{height:43%;background:linear-gradient(180deg,rgba(6,31,52,.15),#061f34 26%)}
.qs-visual-services .qs-mask-bottom{height:43%}
.qs-visual-services .qs-visual-copy{top:8%;width:min(43%,560px)}
.qs-visual-service-links{position:absolute;z-index:4;left:max(3%,calc((100% - 1240px)/2));right:max(3%,calc((100% - 1240px)/2));bottom:1%;height:34%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr;gap:7px 10px}
.qs-visual-service-link{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;padding:8px 9px;border:1px solid rgba(255,255,255,.12);border-radius:9px;color:#fff;text-align:center;text-decoration:none;background:rgba(5,35,56,.35);transition:background .18s ease,border-color .18s ease,transform .18s ease}
.qs-visual-service-link:hover,.qs-visual-service-link:focus-visible{background:rgba(255,210,28,.09);border-color:rgba(255,210,28,.48);transform:translateY(-2px);outline:none}
.qs-visual-service-title{font-size:clamp(9px,.72vw,12px);font-weight:700;line-height:1.25}
.qs-visual-arrow{display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin-top:6px;border:1px solid rgba(255,255,255,.6);border-radius:50%;font-size:13px;color:#fff}
.services-list-section{padding-top:58px}
.services-overview-lead{max-width:800px;color:var(--muted);font-size:15px;line-height:1.75;margin:12px 0 0}
.services-flat-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.services-flat-grid .detail-card{display:flex;flex-direction:column;height:100%}
.services-flat-grid .service-icon{flex:0 0 auto}
.services-flat-grid .result-copy{margin-top:auto}

/* About / What We Bring */
.what-bring-page-section{padding-top:58px}
.what-bring-page-section .split{grid-template-columns:1fr;max-width:1040px}
.what-bring-page-section .section-copy{max-width:860px}
.what-bring-page-section .bring-outcome-list{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px;width:100%}
.what-bring-page-section .bring-outcome-item{padding:24px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 5px 16px #0b4d6d0a}

/* Service details */
.qs-visual-service .qs-visual-frame{height:540px;background-size:56% 82%;background-position:right top}
.qs-visual-service .qs-visual-frame::after{height:30%}
.qs-visual-service .qs-mask-bottom{height:30%}
.qs-visual-service .qs-visual-copy{width:min(44%,570px);top:8%}
.service-detail-page-section{padding-top:52px}
.qs-visual-hero + .service-detail-page-section .service-detail-layout{display:block;max-width:980px;margin:0 auto}
.service-page-copy{background:#fff;border:1px solid var(--line);border-radius:16px;padding:36px 42px;box-shadow:0 8px 26px #083e5e10}
.service-page-copy h2{font-family:Montserrat,Arial,sans-serif;font-size:30px;line-height:1.2;color:var(--navy);margin:0 0 14px}
.service-page-copy>p{font-size:16px;line-height:1.8;color:var(--muted);margin:0 0 22px}
.service-page-copy h3{font-family:Montserrat,Arial,sans-serif;color:var(--navy);font-size:19px;margin:24px 0 9px}
.service-page-copy ul{margin:0;padding-left:22px;color:var(--muted);line-height:1.8}
body.rtl .service-page-copy ul{padding-left:0;padding-right:22px}
.service-result{margin-top:28px;padding:21px 23px;border-radius:12px;background:var(--soft);border-right:4px solid var(--yellow)}
body.rtl .service-result{border-right:0;border-left:4px solid var(--yellow)}
.service-result h3{margin:0 0 7px;font-size:18px}
.service-result p{margin:0;color:var(--muted);line-height:1.75}

/* Contact visual */
.qs-visual-contact .qs-visual-frame{height:390px;background-size:58% 100%;background-position:right center}
.qs-visual-contact .qs-visual-frame::after{display:none}
.qs-visual-contact .qs-visual-copy{top:17%;width:min(43%,520px)}

/* Form labels are visually replaced by placeholders; keep labels accessible. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.ct-value-icon{width:28px;height:28px;margin:0 auto 8px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.22);border-radius:50%;color:rgba(255,255,255,.88)}
.ct-value-icon svg{width:15px;height:15px}
.ct-value span{font-size:11px;line-height:1.4}
.ct-card{padding:30px}
.ct-field input,.ct-field textarea{font-family:Inter,Arial,sans-serif}
.process-circle svg,.trust-icon svg,.service-icon svg,.ct-reach i svg,.socials svg{width:24px;height:24px;display:block}
.process-circle svg{width:26px;height:26px}
.service-icon svg{width:25px;height:25px}
.service-visual{display:none!important}

@media(max-width:1180px){
  .brand img{width:100px;height:72px}
  .brand-text{font-size:1.55rem}
  .main-nav{gap:16px;font-size:14px}
  .nav-cta{padding:0 14px}
  .qs-visual-copy{left:5%;width:46%}
  body.rtl .qs-visual-copy{left:auto;right:5%}
}
@media(max-width:980px){
  .nav-wrap{min-height:86px}
  .main-nav{gap:12px;font-size:13px}
  .qs-visual-frame{height:500px;background-size:57% 100%}
  .qs-visual-copy{width:48%;top:9%}
  .qs-visual-copy h1{font-size:clamp(30px,4.2vw,44px)}
  .qs-visual-services .qs-visual-frame{height:650px;background-size:60% 70%}
  .qs-visual-services .qs-visual-copy{width:48%}
  .qs-visual-service-links{height:37%}
  .qs-visual-service-title{font-size:10px}
  .services-flat-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .nav-wrap{min-height:78px}
  .brand img{width:76px;height:58px}
  .brand-text{font-size:1.28rem}
  .main-nav{gap:10px}
  .nav-services-toggle{width:30px}
  .nav-services-menu{position:static;left:auto;width:auto;max-height:none;margin-top:8px;transform:none;display:none;opacity:1;visibility:visible;pointer-events:auto;box-shadow:none;background:#052d49}
  .nav-services.open .nav-services-menu{display:block;transform:none}
  .qs-visual-frame,.qs-visual-services .qs-visual-frame,.qs-visual-service .qs-visual-frame{height:720px;background-size:auto 58%;background-position:center top}
  .qs-visual-frame::before{background:linear-gradient(180deg,rgba(6,31,52,0) 0%,rgba(6,31,52,.15) 30%,#061f34 55%,#061f34 100%)}
  body.rtl .qs-visual-frame::before{background:linear-gradient(180deg,rgba(6,31,52,0) 0%,rgba(6,31,52,.15) 30%,#061f34 55%,#061f34 100%)}
  .qs-mask-bottom,.qs-visual-services .qs-mask-bottom,.qs-visual-service .qs-mask-bottom{height:48%;background:rgba(6,31,52,.93)}
  .qs-visual-copy,.qs-visual-service .qs-visual-copy,.qs-visual-services .qs-visual-copy{left:7%;right:7%;width:auto;top:42%;text-align:left}
  body.rtl .qs-visual-copy,body.rtl .qs-visual-service .qs-visual-copy,body.rtl .qs-visual-services .qs-visual-copy{left:7%;right:7%;text-align:right}
  .qs-visual-copy h1{font-size:34px;line-height:1.1}
  .qs-visual-lead{font-size:14px;max-width:none}
  .qs-visual-actions{flex-direction:column;align-items:flex-start}
  body.rtl .qs-visual-actions{align-items:flex-end}
  .qs-visual-bottom{left:3%;right:3%;height:22%;grid-template-columns:1fr 1fr}
  .qs-visual-bottom-item{min-height:50%;padding:7px 9px;font-size:11px;border-bottom:1px solid rgba(255,210,28,.25)}
  .qs-visual-bottom-item:nth-child(2n){border-right:0}
  body.rtl .qs-visual-bottom-item:nth-child(2n){border-left:0}
  .qs-visual-services .qs-visual-frame{height:860px;background-size:auto 40%;background-position:center top}
  .qs-visual-services .qs-visual-copy{top:31%}
  .qs-visual-services .qs-mask-bottom{height:64%}
  .qs-visual-service-links{left:4%;right:4%;height:36%;grid-template-columns:repeat(2,1fr);gap:6px}
  .qs-visual-service-title{font-size:11px}
  .qs-visual-contact .qs-visual-frame{height:460px;background-size:auto 100%;background-position:center top}
  .qs-visual-contact .qs-visual-copy{top:47%}
  .what-bring-page-section .bring-outcome-list{grid-template-columns:1fr}
  .services-flat-grid{grid-template-columns:1fr}
  .service-page-copy{padding:28px 22px}
  .ct-values{grid-template-columns:1fr 1fr}
}
@media(max-width:470px){
  .brand img{width:68px;height:52px}
  .brand-text{font-size:1.18rem}
  .qs-visual-copy h1{font-size:31px}
  .qs-visual-services .qs-visual-copy{top:28%}
  .qs-visual-contact .qs-visual-copy{top:44%}
}

/* Final responsive/navigation refinements */
body.rtl .qs-visual-copy h1{font-family:Inter,Arial,sans-serif;letter-spacing:0;line-height:1.18}
body.rtl .qs-visual-eyebrow{letter-spacing:.04em}
@media(max-width:1080px) and (min-width:761px){
  .brand img{width:84px;height:64px}
  .brand-text{font-size:1.35rem}
  .main-nav{gap:10px;font-size:13px}
  .nav-cta{padding:0 10px;font-size:12.5px}
  .lang-toggle{width:38px;height:34px}
}

/* Balanced content blocks below visual heroes */
.what-bring-page-section .split{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:start;gap:58px;max-width:1180px}
.what-bring-page-section .section-copy{max-width:620px;position:sticky;top:120px}
.what-bring-page-section .bring-outcome-list{margin-top:0}
@media(max-width:760px){
  .what-bring-page-section .split{grid-template-columns:1fr;gap:28px}
  .what-bring-page-section .section-copy{position:static;max-width:none}
}


/* =========================================================
   Quick Support v22 — precision refinements
   Scope: preserve v21 visual system; fix hero overlap,
   homepage spacing, typography balance, contact icons,
   and touch-friendly Services menu.
   ========================================================= */

/* Keep navigation compact and stable across EN/AR. */
.site-header{background:#00638f}
.nav-wrap{min-height:88px}
.main-nav{gap:20px;font-size:15px}
.main-nav>a,.nav-services>a{line-height:1.2}
.main-nav>a[data-i18n="nav.whatWeBring"]{max-width:120px}

/* Desktop visual heroes: give the live copy enough vertical room.
   Bottom feature rows stay clear of the CTA instead of overlapping it. */
.qs-visual-frame{height:600px}
.qs-visual-copy{top:8%;width:min(46%,570px)}
.qs-visual-copy h1{font-size:clamp(42px,3.15vw,50px);line-height:1.08;margin-bottom:14px}
.qs-visual-lead{font-size:15px;line-height:1.58;margin-bottom:18px;max-width:540px}
.qs-visual-bottom{height:23%;}
.qs-visual-bottom-item{padding:8px 14px;font-size:12px}

/* About + What We Bring: slightly more room for long English headlines. */
.qs-visual-about .qs-visual-copy,
.qs-visual-bring .qs-visual-copy{width:min(47%,580px)}
.qs-visual-about .qs-visual-copy h1,
.qs-visual-bring .qs-visual-copy h1{font-size:clamp(40px,3.05vw,49px)}

/* Services: the 8 live service links need their own clean band. */
.qs-visual-services .qs-visual-frame{height:680px;background-size:56% 72%;background-position:right top}
.qs-visual-services .qs-visual-copy{top:7%;width:min(45%,575px)}
.qs-visual-services .qs-visual-copy h1{font-size:clamp(40px,3.1vw,50px)}
.qs-visual-services .qs-visual-lead{max-width:535px}
.qs-visual-services .qs-visual-frame::after,
.qs-visual-services .qs-mask-bottom{height:39%}
.qs-visual-service-links{bottom:1.5%;height:31%;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 10px}
.qs-visual-service-link{padding:9px 10px}
.qs-visual-service-title{font-size:clamp(10px,.75vw,12px);line-height:1.3}

/* RTL: keep the same geometry, reverse alignment only. */
body.rtl .qs-visual-copy{width:min(47%,580px)}
body.rtl .qs-visual-about .qs-visual-copy h1,
body.rtl .qs-visual-bring .qs-visual-copy h1,
body.rtl .qs-visual-services .qs-visual-copy h1{line-height:1.2}

/* Contact value icons: direct-child selector prevents the generic span rule
   from collapsing the icon itself. */
.ct-value > .ct-value-icon{width:34px;height:34px;margin:0 auto 9px;display:grid;place-items:center;border:0;border-radius:0;color:var(--yellow);font-size:0}
.ct-value > .ct-value-icon svg{width:26px;height:26px;display:block;stroke:currentColor;stroke-width:1.8}
.ct-value > span:not(.ct-value-icon){font-size:11.5px;line-height:1.45;color:#ffffffc4;font-weight:600;display:block}

/* Homepage only: reduce excessive whitespace without changing the established
   card/hero system elsewhere. */
body.home-page .section{padding:58px 0}
body.home-page .about-preview .split{grid-template-columns:minmax(0,.92fr) minmax(0,.78fr);gap:52px}
body.home-page .about-preview .photo-frame{width:min(100%,520px);margin-left:auto}
body.home-page .about-preview .photo-frame img{aspect-ratio:1.5/1;object-fit:cover;object-position:center}
body.home-page .what-bring-preview .split{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:52px}
body.home-page .what-bring-preview .bring-outcome-list{gap:14px}
body.home-page .audience-section{padding-top:54px;padding-bottom:54px}
body.home-page .services-section{padding-top:48px}
body.home-page .process-section{padding-top:58px;padding-bottom:58px}
body.home-page .cta-strip{margin-top:0}

/* Services is opened intentionally by click/tap; the hover state remains as
   a desktop convenience, while the JS .open state is persistent until an
   outside click or a menu selection. */
.nav-services.open .nav-services-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}

@media(max-width:1180px){
  .main-nav{gap:15px;font-size:14px}
  .qs-visual-frame{height:600px}
  .qs-visual-copy{left:5%;width:47%}
  body.rtl .qs-visual-copy{left:auto;right:5%;width:47%}
  .qs-visual-services .qs-visual-frame{height:680px}
}

@media(max-width:980px){
  .nav-wrap{min-height:84px}
  .main-nav{gap:11px;font-size:13px}
  .qs-visual-frame{height:600px}
  .qs-visual-copy{width:49%;top:7%}
  .qs-visual-copy h1{font-size:clamp(34px,4vw,44px)}
  .qs-visual-services .qs-visual-frame{height:700px;background-size:60% 68%}
  .qs-visual-services .qs-visual-copy{width:49%;top:6%}
  .qs-visual-service-links{height:34%;bottom:1%}
}

@media(max-width:760px){
  /* Mobile keeps the existing stacked visual behavior, but uses a tighter,
     readable rhythm and prevents the CTA from touching the feature row. */
  .qs-visual-frame,.qs-visual-services .qs-visual-frame,.qs-visual-service .qs-visual-frame{height:700px}
  .qs-visual-copy,.qs-visual-service .qs-visual-copy,.qs-visual-services .qs-visual-copy{top:39%;left:7%;right:7%;width:auto}
  body.rtl .qs-visual-copy,body.rtl .qs-visual-service .qs-visual-copy,body.rtl .qs-visual-services .qs-visual-copy{left:7%;right:7%;width:auto}
  .qs-visual-copy h1{font-size:33px;line-height:1.12}
  .qs-visual-lead{font-size:14px;line-height:1.6}
  .qs-visual-bottom{height:24%;}
  .qs-visual-services .qs-visual-frame{height:820px;background-size:auto 38%}
  .qs-visual-services .qs-visual-copy{top:28%}
  .qs-visual-services .qs-visual-frame::after,.qs-visual-services .qs-mask-bottom{height:66%}
  .qs-visual-service-links{height:39%;bottom:1%;grid-template-columns:repeat(2,1fr)}
  .qs-visual-contact .qs-visual-frame{height:500px}
  .qs-visual-contact .qs-visual-copy{top:43%}

  body.home-page .section{padding:46px 0}
  body.home-page .about-preview .split,
  body.home-page .what-bring-preview .split{grid-template-columns:1fr;gap:30px}
  body.home-page .about-preview .photo-frame{width:100%;max-width:620px;margin:0 auto}
}

@media(max-width:470px){
  .qs-visual-frame,.qs-visual-service .qs-visual-frame{height:680px}
  .qs-visual-copy h1{font-size:30px}
  .qs-visual-services .qs-visual-frame{height:820px}
  .qs-visual-services .qs-visual-copy{top:26%}
  .qs-visual-contact .qs-visual-copy{top:41%}
}

/* =========================================================
   Quick Support v23 — content density & typography refinement
   Scope: visual-v22 only. Shadow CEO layout intentionally untouched.
   ========================================================= */

/* ---------- Global content rhythm ---------- */
body:not(.sc){
  --content-radius:14px;
  --content-shadow:0 7px 22px rgba(8,62,94,.07);
}
body:not(.sc) .section-copy h2,
body:not(.sc) .section-head h2{
  font-size:clamp(30px,2.45vw,36px);
  line-height:1.18;
  letter-spacing:-.015em;
}
body:not(.sc) .section-copy p,
body:not(.sc) .section-head p,
body:not(.sc) .service-card p,
body:not(.sc) .detail-card p{
  font-size:15px;
  line-height:1.72;
}

/* ---------- Visual hero feature row: icons + text must read as one system ---------- */
.qs-visual-bottom-item{
  padding:12px 18px;
  font-size:clamp(12px,.9vw,14px);
  line-height:1.45;
  gap:2px;
}
.qs-visual-bottom-icon{
  width:36px;
  height:36px;
  margin-bottom:8px;
  font-size:25px;
  flex:0 0 36px;
}
.qs-visual-bottom-icon svg{
  width:29px;
  height:29px;
}

/* ---------- Homepage: use the empty white areas instead of leaving them blank ---------- */
body.home-page .about-preview,
body.home-page .what-bring-preview,
body.home-page .audience-section,
body.home-page .services-section,
body.home-page .approach-section{
  position:relative;
}

body.home-page .about-preview .split,
body.home-page .what-bring-preview .split{
  align-items:center;
}
body.home-page .about-preview .section-copy,
body.home-page .what-bring-preview .section-copy{
  max-width:620px;
}
body.home-page .about-preview .photo-frame{
  border-radius:14px;
  box-shadow:0 12px 30px rgba(8,62,94,0.06);
}
body.home-page .about-preview .photo-frame img{
  aspect-ratio:1.55/1;
  min-height:300px;
  object-fit:cover;
}

/* Make the four What We Bring outcomes visually useful on Home. */
body.home-page .what-bring-preview .bring-outcome-list{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin:0;
}
body.home-page .what-bring-preview .bring-outcome-item{
  min-height:150px;
  display:grid;
  grid-template-columns:42px 1fr;
  gap:14px;
  align-items:start;
  padding:22px 20px;
  border:1px solid var(--line);
  border-radius:14px;
  background:linear-gradient(180deg,#fff 0%,#f8fbfd 100%);
  box-shadow:var(--content-shadow);
}
body.home-page .what-bring-preview .bring-outcome-item > span{
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border-radius:10px;
  background:#eef7fb;
  color:var(--blue2);
  font-size:12px;
  font-weight:800;
}
body.home-page .what-bring-preview .bring-outcome-item h3{
  margin:0 0 7px;
  color:var(--navy);
  font-family:Montserrat,Arial,sans-serif;
  font-size:17px;
  line-height:1.25;
}
body.home-page .what-bring-preview .bring-outcome-item p{
  margin:0;
  color:var(--muted);
  font-size:13px;
  line-height:1.6;
}

/* The Audience section previously had content but almost no visual structure. */
body.home-page .audience-section{
  background:#f7fafc;
  border-top:1px solid #edf3f7;
  border-bottom:1px solid #edf3f7;
}
body.home-page .audience-section .section-head{
  margin-bottom:26px;
}
body.home-page .audience-intro{
  max-width:760px;
  margin-top:10px;
  color:var(--muted);
}
body.home-page .audience-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
body.home-page .audience-item{
  min-height:118px;
  display:flex;
  gap:15px;
  align-items:flex-start;
  padding:20px 18px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:13px;
  box-shadow:0 5px 18px rgba(8,62,94,0.033);
}
body.home-page .audience-num{
  flex:0 0 34px;
  display:grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:9px;
  background:var(--navy);
  color:var(--yellow);
  font-size:11px;
  font-weight:800;
}
body.home-page .audience-item p{
  margin:1px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.6;
  font-weight:600;
}

/* Services section: stronger hierarchy, less visual emptiness. */
body.home-page .services-section .section-head{
  align-items:center;
  margin-bottom:24px;
}
body.home-page .services-section .section-head > div{
  max-width:760px;
}
body.home-page .services-section .service-grid{
  gap:15px;
}
body.home-page .services-section .service-card{
  min-height:190px;
  padding:22px;
}
body.home-page .services-section .service-card h3{
  font-size:18px;
  line-height:1.3;
}
body.home-page .services-section .service-card p{
  font-size:13px;
  line-height:1.62;
}

/* Process section: turn the empty horizontal strip into a clear four-step system. */
body.home-page .approach-section .approach-intro{
  max-width:820px;
  font-size:15px;
  line-height:1.75;
}
body.home-page .approach-section .process-grid{
  gap:10px;
  margin-top:28px;
}
body.home-page .approach-section .process-step{
  flex:1 1 0;
  min-width:0;
  padding:18px 12px 20px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  box-shadow:0 5px 18px rgba(8,62,94,0.033);
}
body.home-page .approach-section .process-circle{
  width:54px;
  height:54px;
  margin-bottom:10px;
  background:#f7fbfd;
}
body.home-page .approach-section .process-step h3{
  font-size:15px;
  line-height:1.35;
  margin:6px 0 0;
}
body.home-page .approach-section .process-line{
  flex:0 0 24px;
}

/* ---------- Services overview: make every Result visibly distinct ---------- */
.services-flat-grid .detail-card{
  padding:26px;
}
.services-flat-grid .detail-card .headline{
  font-size:16px !important;
  line-height:1.5;
}
.services-flat-grid .detail-card .help-heading{
  margin-top:20px;
  margin-bottom:8px;
  font-size:15px;
}
.services-flat-grid .detail-card .result-heading{
  margin:20px 0 8px;
  padding:0;
  color:var(--blue2);
  font-size:13px;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.services-flat-grid .detail-card .result-copy{
  margin-top:0;
  padding:16px 17px;
  border:1px solid #dcebf2;
  border-left:4px solid var(--yellow);
  border-radius:11px;
  background:linear-gradient(135deg,#f5fafc 0%,#fffdf0 100%);
  color:#526c7d;
  font-size:14px;
  line-height:1.7;
}
body.rtl .services-flat-grid .detail-card .result-copy{
  border-left:1px solid #dcebf2;
  border-right:4px solid var(--yellow);
}

/* Service detail pages: the Result box should read as a conclusion, not another paragraph. */
.service-result{
  margin-top:30px;
  padding:22px 24px;
  border:1px solid #dcebf2;
  border-right:4px solid var(--yellow);
  border-radius:13px;
  background:linear-gradient(135deg,#f5fafc 0%,#fffdf0 100%);
  box-shadow:0 5px 16px rgba(8,62,94,0.027);
}
.service-result h3{
  margin:0 0 8px;
  color:var(--blue2);
  font-size:13px;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.service-result p{
  margin:0;
  color:#526c7d;
  font-size:15px;
  line-height:1.75;
}
body.rtl .service-result{
  border-right:1px solid #dcebf2;
  border-left:4px solid var(--yellow);
}

/* ---------- Services hero links: keep the 8 items readable without shrinking the type ---------- */
.qs-visual-service-link{
  padding:10px 12px;
}
.qs-visual-service-title{
  font-size:clamp(10.5px,.78vw,13px);
  line-height:1.38;
}
.qs-visual-arrow{
  width:27px;
  height:27px;
  margin-top:7px;
  font-size:14px;
}

/* ---------- Desktop balance ---------- */
@media(min-width:761px){
  body.home-page .about-preview,
  body.home-page .what-bring-preview{
    padding-top:54px;
    padding-bottom:54px;
  }
  body.home-page .audience-section{
    padding-top:54px;
    padding-bottom:54px;
  }
  body.home-page .services-section{
    padding-top:54px;
    padding-bottom:60px;
  }
  body.home-page .approach-section{
    padding-top:54px;
    padding-bottom:54px;
  }
}

/* ---------- RTL sizing: same visual hierarchy, natural Arabic wrapping ---------- */
body.rtl .what-bring-page-section .bring-outcome-item,
body.rtl .home-page .what-bring-preview .bring-outcome-item{
  direction:rtl;
}
body.rtl .home-page .audience-item{
  direction:rtl;
}

@media(max-width:980px){
  body.home-page .audience-grid{grid-template-columns:1fr 1fr}
  body.home-page .what-bring-preview .bring-outcome-list{grid-template-columns:1fr 1fr}
}

@media(max-width:760px){
  body.home-page .what-bring-preview .bring-outcome-list,
  body.home-page .audience-grid{grid-template-columns:1fr}
  body.home-page .what-bring-preview .bring-outcome-item{min-height:0}
  body.home-page .approach-section .process-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  body.home-page .approach-section .process-line{display:none}
  body.home-page .approach-section .process-step{padding:16px 10px}
  .qs-visual-bottom-item{font-size:11px;padding:8px 9px}
  .qs-visual-bottom-icon{width:30px;height:30px;flex-basis:30px;font-size:21px}
  .qs-visual-bottom-icon svg{width:25px;height:25px}
}

/* =========================================================
   Quick Support v24 — precision typography + service icon pass
   Scope: small, additive refinements on top of v23.
   No Shadow CEO layout changes.
   ========================================================= */

/* Arabic type system: modern, clean, technology-oriented. English remains untouched. */
html[lang="ar"], body.rtl{
  font-family:"Somar",Inter,Arial,sans-serif;
}
body.rtl h1,
body.rtl h2,
body.rtl h3,
body.rtl h4,
body.rtl h5,
body.rtl h6,
body.rtl .brand,
body.rtl .brand-text,
body.rtl .main-nav,
body.rtl .btn,
body.rtl .text-link,
body.rtl .eyebrow,
body.rtl .service-card h3,
body.rtl .detail-card h2,
body.rtl .detail-card h3,
body.rtl .section-copy h2,
body.rtl .section-head h2{
  font-family:"Somar",Inter,Arial,sans-serif;
}
body.rtl .section-copy p,
body.rtl .service-card p,
body.rtl .detail-card p,
body.rtl .about-body,
body.rtl .about-beliefs,
body.rtl .about-vision{
  font-family:"Somar",Inter,Arial,sans-serif;
}

/* Visual feature row: larger, clearer icons and labels without changing artwork. */
.qs-visual-bottom-item{
  gap:0;
  padding:12px 18px;
  font-size:clamp(12px,.92vw,14px);
  line-height:1.45;
  font-weight:700;
}
.qs-visual-bottom-icon{
  width:36px;
  height:36px;
  margin-bottom:8px;
  font-size:23px;
}
.qs-visual-bottom-icon svg{
  width:28px;
  height:28px;
  stroke-width:1.8;
}
body.rtl .qs-visual-bottom-item{
  font-size:clamp(13px,.98vw,15px);
  line-height:1.5;
}

/* Services hero: same service icon language as the service cards above. */
.qs-visual-service-link{
  gap:7px;
  padding:12px 12px;
  justify-content:center;
}
.qs-visual-service-icon{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  color:var(--yellow);
  flex:0 0 30px;
}
.qs-visual-service-icon svg{
  width:26px;
  height:26px;
  display:block;
  stroke:currentColor;
  stroke-width:1.8;
}
.qs-visual-service-title{
  font-size:clamp(11.5px,.82vw,13.5px);
  line-height:1.42;
  font-weight:700;
}
body.rtl .qs-visual-service-title{
  font-size:clamp(12px,.88vw,14px);
  line-height:1.5;
}
.qs-visual-arrow{display:none!important}

/* Bring the service-hero copy together so the title, paragraph and CTA read as one block. */
.qs-visual-services .qs-visual-copy{
  top:8%;
  width:min(46%,590px);
}
.qs-visual-services .qs-visual-copy h1{
  margin-bottom:12px;
  line-height:1.06;
}
.qs-visual-services .qs-visual-lead{
  margin-bottom:17px;
  line-height:1.62;
  max-width:570px;
}
body.rtl .qs-visual-services .qs-visual-copy h1{
  line-height:1.16;
  letter-spacing:0;
}
body.rtl .qs-visual-services .qs-visual-lead{
  line-height:1.78;
  font-size:16px;
}

/* About hero: keep the primary CTA and the future Story Board CTA aligned as one action group. */
.qs-visual-about .qs-visual-actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.qs-visual-about .qs-visual-secondary{
  min-height:46px;
  padding:0 18px 0 14px;
  border-radius:9px;
  border:1px solid rgba(255,255,255,.72);
  font-size:13px;
  font-weight:800;
  letter-spacing:.05px;
  white-space:nowrap;
  background:rgba(7,23,37,.48);
  box-shadow:0 6px 18px rgba(0,0,0,0.072);
}
.qs-visual-about .qs-visual-secondary::before{
  content:'▶';
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:25px;
  height:25px;
  margin-right:8px;
  border-radius:50%;
  background:rgba(255,255,255,.14);
  color:#fff;
  font-size:9px;
  line-height:1;
}
body.rtl .qs-visual-about .qs-visual-secondary{padding:0 14px 0 18px;}
body.rtl .qs-visual-about .qs-visual-secondary::before{margin-right:0;margin-left:8px;}
.qs-visual-about .qs-visual-secondary:hover{
  border-color:rgba(255,211,38,.95);
  background:rgba(255,255,255,.08);
}
body.rtl .qs-visual-about .qs-visual-actions{direction:rtl;}

/* Contact values: stronger icon presence without changing the surrounding layout. */
.ct-value > .ct-value-icon{
  width:42px;
  height:42px;
  margin:0 auto 10px;
}
.ct-value > .ct-value-icon svg{
  width:32px;
  height:32px;
  stroke-width:1.9;
}
body.rtl .ct-value > .ct-value-icon{width:42px;height:42px;}

/* About / What We Bring: make the four value points visually proportional. */
.qs-visual-about .qs-visual-bottom-item,
.qs-visual-bring .qs-visual-bottom-item{
  min-width:0;
}
body.rtl .qs-visual-about .qs-visual-bottom-item,
body.rtl .qs-visual-bring .qs-visual-bottom-item{
  padding-left:20px;
  padding-right:20px;
}

/* Services detail pages: use the same modern icon scale as the overview. */
.qs-visual-service .qs-visual-bottom-icon{
  width:34px;
  height:34px;
  margin-bottom:7px;
}
.qs-visual-service .qs-visual-bottom-icon svg{
  width:26px;
  height:26px;
}

/* Global Arabic content sizing: slightly more presence, without inflating sections. */
body.rtl .section-copy p,
body.rtl .about-body p,
body.rtl .about-vision p{
  font-size:16px;
  line-height:1.9;
}
body.rtl .section-copy h2,
body.rtl .section-head h2{
  line-height:1.35;
}
body.rtl .detail-card .subtitle,
body.rtl .detail-card .headline,
body.rtl .detail-card .help-heading,
body.rtl .detail-card .result-heading{
  line-height:1.65;
}

/* Keep service cards dense and readable in Arabic. */
body.rtl .services-flat-grid .detail-card{
  padding:28px 26px;
}
body.rtl .services-flat-grid .detail-card h2{
  font-size:24px;
  line-height:1.4;
}
body.rtl .services-flat-grid .detail-card .result-copy{
  font-size:15px;
  line-height:1.85;
}

@media(max-width:980px){
  .qs-visual-bottom-item{font-size:12px;padding:10px 12px}
  body.rtl .qs-visual-bottom-item{font-size:13px}
  .qs-visual-service-icon{width:28px;height:28px;flex-basis:28px}
  .qs-visual-service-icon svg{width:24px;height:24px}
  .qs-visual-service-title{font-size:11.5px}
  body.rtl .qs-visual-service-title{font-size:12.5px}
}

@media(max-width:760px){
  .qs-visual-bottom-icon{width:32px;height:32px}
  .qs-visual-bottom-icon svg{width:25px;height:25px}
  .qs-visual-bottom-item{font-size:11.5px;padding:8px 9px}
  body.rtl .qs-visual-bottom-item{font-size:12.5px}
  .qs-visual-service-icon{width:27px;height:27px;flex-basis:27px}
  .qs-visual-service-icon svg{width:23px;height:23px}
  .qs-visual-service-title{font-size:11px}
  body.rtl .qs-visual-service-title{font-size:12px}
  .qs-visual-services .qs-visual-lead{font-size:14px;line-height:1.7}
  body.rtl .qs-visual-services .qs-visual-lead{font-size:14px;line-height:1.75}
}


/* =========================================================
   Quick Support v25 — controlled visual identity refinement
   Scope: only the requested icon scale + blue identity pass.
   Existing artwork, layout and content remain intact.
   ========================================================= */

/* 01 — Homepage approach: clearer, more expressive process icons. */
body.home-page .approach-section .process-circle{
  width:70px;
  height:70px;
  border:1px solid #c3deeb;
  background:linear-gradient(145deg,#ffffff 0%,#f4f9fc 100%);
  box-shadow:0 9px 24px rgba(8,62,94,0.06), inset 0 0 0 5px rgba(0,110,163,0.015);
  color:#006ea3;
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
body.home-page .approach-section .process-circle:hover{
  transform:translateY(-3px);
  border-color:#9fcfe4;
  box-shadow:0 13px 28px rgba(8,62,94,0.084), inset 0 0 0 5px rgba(0,110,163,0.021);
}
body.home-page .approach-section .process-circle svg{
  width:31px;
  height:31px;
  stroke-width:1.9;
}
body.home-page .approach-section .process-step span{
  margin-top:10px;
  font-size:12px;
  font-weight:700;
}
body.home-page .approach-section .process-step h3{
  margin-top:2px;
  font-size:16px;
  line-height:1.35;
}

/* 02 — Visual feature rows: icon should carry equal visual weight to the label. */
.qs-visual-bottom-icon{
  width:44px;
  height:44px;
  flex:0 0 44px;
  margin-bottom:9px;
  border:1px solid rgba(255,210,28,.24);
  border-radius:12px;
  background:linear-gradient(145deg,rgba(255,210,28,.13),rgba(255,255,255,.035));
  box-shadow:0 6px 18px rgba(0,0,0,0.06);
}
.qs-visual-bottom-icon svg{
  width:31px;
  height:31px;
  stroke-width:1.9;
}
.qs-visual-bottom-item{
  font-size:clamp(12.5px,.94vw,14px);
  line-height:1.42;
  padding:12px 20px;
}
body.rtl .qs-visual-bottom-item{
  font-size:clamp(13.5px,1vw,15.5px);
  line-height:1.5;
}

/* 03 — Homepage trust strip: stronger, more premium icon presence. */
.trust-item .trust-icon{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  flex:0 0 40px;
  border:1px solid #c9dfeb;
  border-radius:12px;
  background:linear-gradient(145deg,#ffffff,#f2f8fb);
  color:#006ea3;
  box-shadow:0 6px 16px rgba(8,62,94,0.048);
}
.trust-item .trust-icon svg{
  width:27px;
  height:27px;
  stroke-width:1.85;
}
.trust-item strong{font-size:13px}
.trust-item span{font-size:12px}

/* 04 — Shared blue identity: deeper technology blue, subtle grid, controlled glow. */
.site-header,
.ct .site-header{
  background:
    radial-gradient(circle at 72% -35%,rgba(23,151,221,.42),transparent 38%),
    linear-gradient(135deg,#062d4e 0%,#073d68 52%,#052a49 100%);
  box-shadow:0 3px 20px rgba(0,20,38,0.168);
}

/* Services visual: retain the photography while bringing the blue identity closer
   to the supplied futuristic grid reference. */
.qs-visual-services .qs-visual-frame{
  background-color:#062f52;
}
.qs-visual-services .qs-visual-frame::before{
  background:
    linear-gradient(90deg,rgba(3,27,48,.97) 0%,rgba(3,27,48,.93) 30%,rgba(3,27,48,.78) 48%,rgba(3,27,48,.32) 67%,rgba(3,27,48,.03) 84%),
    repeating-linear-gradient(90deg,rgba(95,196,244,.065) 0 1px,transparent 1px 46px),
    repeating-linear-gradient(0deg,rgba(95,196,244,.065) 0 1px,transparent 1px 46px);
}

/* Contact page: stronger blue depth and the same restrained technology grid. */
.ct-page{
  background:
    radial-gradient(circle at 52% 8%,rgba(23,157,225,.34),transparent 38%),
    linear-gradient(135deg,#062d50 0%,#084b80 50%,#052b4a 100%);
}
.ct-page:before{
  background:
    radial-gradient(circle at 50% 35%,rgba(66,186,239,.08),transparent 42%),
    repeating-linear-gradient(90deg,rgba(111,205,246,.085) 0 1px,transparent 1px 46px),
    repeating-linear-gradient(0deg,rgba(111,205,246,.085) 0 1px,transparent 1px 46px);
}
.ct-bar{
  background:
    radial-gradient(circle at 70% 0%,rgba(22,125,189,.28),transparent 42%),
    linear-gradient(135deg,#062f52,#052844);
}

/* Footer: match the same blue technology identity without changing its structure. */
.site-footer{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 52% -18%,rgba(20,125,190,.34),transparent 42%),
    linear-gradient(135deg,#062f4b 0%,#063a60 52%,#041f36 100%);
}
.site-footer::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.62;
  background:
    radial-gradient(circle at 50% 30%,rgba(44,168,224,.07),transparent 38%),
    repeating-linear-gradient(90deg,rgba(102,198,238,.055) 0 1px,transparent 1px 52px),
    repeating-linear-gradient(0deg,rgba(102,198,238,.055) 0 1px,transparent 1px 52px);
}
.site-footer > *{
  position:relative;
  z-index:1;
}

/* Service-detail feature icons: same visual weight as the service title. */
.qs-visual-service .qs-visual-bottom-icon{
  width:40px;
  height:40px;
  flex-basis:40px;
  margin-bottom:8px;
}
.qs-visual-service .qs-visual-bottom-icon svg{
  width:29px;
  height:29px;
}

@media(max-width:980px){
  body.home-page .approach-section .process-circle{width:64px;height:64px}
  body.home-page .approach-section .process-circle svg{width:28px;height:28px}
  .qs-visual-bottom-icon{width:40px;height:40px;flex-basis:40px}
  .qs-visual-bottom-icon svg{width:28px;height:28px}
  .trust-item .trust-icon{width:36px;height:36px;flex-basis:36px}
  .trust-item .trust-icon svg{width:25px;height:25px}
}

@media(max-width:760px){
  body.home-page .approach-section .process-circle{width:60px;height:60px}
  body.home-page .approach-section .process-circle svg{width:26px;height:26px}
  .qs-visual-bottom-icon{width:36px;height:36px;flex-basis:36px;margin-bottom:7px}
  .qs-visual-bottom-icon svg{width:25px;height:25px}
  .trust-item .trust-icon{width:34px;height:34px;flex-basis:34px}
  .trust-item .trust-icon svg{width:23px;height:23px}
}

/* ---------- Global side-circuit identity ----------
   Decorative edge artwork only. No layout, typography, or content changes. */
.qs-circuit-decor{
  position:absolute;
  top:0;
  bottom:0;
  width:clamp(120px,16vw,260px);
  pointer-events:none;
  background-repeat:no-repeat;
  background-size:auto 100%;
  background-position:center;
  opacity:.58;
}
.qs-circuit-left{
  left:0;
  background-image:url('../assets/visuals/circuit-left.png');
}
.qs-circuit-right{
  right:0;
  background-image:url('../assets/visuals/circuit-right.png');
}

/* Main visual areas: keep the artwork behind live copy/buttons. */
.qs-visual-frame .qs-circuit-decor{z-index:3;}
.hero .qs-circuit-decor{z-index:1;opacity:.34;}
.sc-hero-ref .qs-circuit-decor{z-index:1;opacity:.30;}
.site-footer{position:relative;}
.site-footer .qs-circuit-decor{z-index:0;opacity:.26;}
.site-footer > *{position:relative;z-index:1;}

@media(max-width:760px){
  .qs-circuit-decor{width:96px;opacity:.22;}
  .qs-visual-frame .qs-circuit-decor{opacity:.24;}
  .hero .qs-circuit-decor,.sc-hero-ref .qs-circuit-decor,.site-footer .qs-circuit-decor{opacity:.16;}
}
/* Keep footer decoration behind the footer content only. */
.site-footer > .qs-circuit-decor{
  position:absolute;
  z-index:0;
}

/* ---------- Side Circuit Identity — refined v27 ----------
   Decorative identity only. Kept intentionally subtle so the circuits frame
   the blue visual areas without competing with live content. */
.qs-circuit-decor{
  width:clamp(86px,10vw,168px);
  background-size:auto 100%;
  background-repeat:no-repeat;
  top:0;
  bottom:0;
  opacity:.30;
  filter:saturate(.92) brightness(.92) drop-shadow(0 0 10px rgba(76,190,255,0.06));
  transition:opacity .2s ease;
}
.qs-circuit-left{
  left:0;
  right:auto;
  background-position:left center;
  -webkit-mask-image:linear-gradient(90deg,#000 0%,#000 42%,rgba(0,0,0,.55) 68%,transparent 100%);
  mask-image:linear-gradient(90deg,#000 0%,#000 42%,rgba(0,0,0,.55) 68%,transparent 100%);
}
.qs-circuit-right{
  right:0;
  left:auto;
  background-position:right center;
  -webkit-mask-image:linear-gradient(270deg,#000 0%,#000 42%,rgba(0,0,0,.55) 68%,transparent 100%);
  mask-image:linear-gradient(270deg,#000 0%,#000 42%,rgba(0,0,0,.55) 68%,transparent 100%);
}
/* Keep the visual artwork readable: circuits sit behind copy and controls. */
.qs-visual-frame .qs-circuit-decor{z-index:2;opacity:.26;}
.hero .qs-circuit-decor{z-index:1;opacity:.24;}
.sc-hero-ref .qs-circuit-decor{z-index:1;opacity:.22;}
.site-footer .qs-circuit-decor{z-index:0;opacity:.18;}
@media(max-width:760px){
  .qs-circuit-decor{width:72px;opacity:.15;filter:none;}
  .qs-visual-frame .qs-circuit-decor{opacity:.17;}
  .hero .qs-circuit-decor,.sc-hero-ref .qs-circuit-decor,.site-footer .qs-circuit-decor{opacity:.12;}
}

/* =========================================================
   Contact lower visual — isolated addition
   Uses the supplied clean artwork only in the open lower area
   of the contact intro. No other page geometry is changed.
   ========================================================= */
.ct-intro{position:relative;overflow:hidden;min-height:100%;}
.ct-intro-art{
  position:absolute;
  z-index:0;
  left:-2%;
  right:-2%;
  bottom:-2%;
  top:285px;
  min-height:330px;
  border-radius:0 0 16px 16px;
  background-image:
    linear-gradient(180deg,rgba(7,70,124,0) 0%,rgba(7,70,124,.08) 12%,rgba(5,47,83,.48) 42%,rgba(4,39,69,.78) 100%),
    url('../assets/visuals/art/contact-lower-art.png');
  background-size:cover;
  background-position:center 62%;
  background-repeat:no-repeat;
  opacity:.9;
  pointer-events:none;
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.35) 7%,#000 18%,#000 100%);
  mask-image:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.35) 7%,#000 18%,#000 100%);
}
.ct-intro > :not(.ct-intro-art){position:relative;z-index:2;}
body.rtl .ct-intro-art{background-position:center 62%;}
@media(max-width:980px){
  .ct-intro-art{top:305px;min-height:300px;}
}
@media(max-width:760px){
  .ct-intro-art{position:relative;top:auto;left:auto;right:auto;bottom:auto;height:300px;min-height:0;margin:28px -8px -8px;border-radius:14px;background-position:center 58%;opacity:.88;}
}

/* =========================================================
   Quick Support v31 — About story visual replacement
   Scope: About page story area only. All other page systems remain untouched.
   ========================================================= */
.about-story-visual-section{
  width:100%;
  margin:0;
  padding:0;
  overflow:hidden;
  background:#fff;
}
.about-story-visual{
  width:100%;
  line-height:0;
  display:block;
}
.about-story-visual img{
  display:block;
  width:100%;
  height:auto;
  max-width:none;
}
.about-story-visual-ar{display:none;}
body.rtl .about-story-visual-en{display:none;}
body.rtl .about-story-visual-ar{display:block;}

@media(max-width:760px){
  .about-story-visual-section{overflow:hidden;}
  .about-story-visual img{width:100%;height:auto;}
}

/* =========================================================
   Quick Support v32 — Global typography & spatial balance
   Purpose: unify EN/AR typography, increase readable scale,
   tighten oversized white space, and keep each block proportionate.
   This layer is intentionally additive and does not alter artwork,
   navigation behavior, or the established visual components.
   ========================================================= */

/* ---------- Shared type scale ---------- */
body:not(.sc){
  font-size:16px;
}
body:not(.sc) .section-copy p,
body:not(.sc) .section-head p,
body:not(.sc) .about-body p,
body:not(.sc) .about-vision p,
body:not(.sc) .sec-lead,
body:not(.sc) .services-overview-lead{
  font-size:16px;
  line-height:1.78;
}
body:not(.sc) .section-copy h2,
body:not(.sc) .section-head h2{
  font-size:clamp(32px,2.65vw,38px);
  line-height:1.18;
  margin-bottom:14px;
}

/* ---------- Arabic: modern corporate / technology-oriented system ---------- */
html[lang="ar"] body:not(.sc),
body.rtl:not(.sc){
  font-family:"Somar",Inter,Arial,sans-serif;
  font-size:17px;
  line-height:1.75;
}
body.rtl:not(.sc) .section-copy p,
body.rtl:not(.sc) .section-head p,
body.rtl:not(.sc) .about-body p,
body.rtl:not(.sc) .about-vision p,
body.rtl:not(.sc) .sec-lead,
body.rtl:not(.sc) .services-overview-lead{
  font-size:17px;
  line-height:1.9;
}
body.rtl:not(.sc) .section-copy h2,
body.rtl:not(.sc) .section-head h2{
  font-family:"Somar",Inter,Arial,sans-serif;
  font-size:clamp(34px,2.8vw,40px);
  line-height:1.28;
  letter-spacing:0;
}
body.rtl:not(.sc) .text-link,
body.rtl:not(.sc) .eyebrow,
body.rtl:not(.sc) .detail-card .category,
body.rtl:not(.sc) .detail-card .subtitle{
  font-family:"Somar",Inter,Arial,sans-serif;
}

/* ---------- Live visual heroes ---------- */
.qs-visual-copy h1{
  font-size:clamp(44px,3.25vw,54px);
  line-height:1.08;
  margin-bottom:15px;
}
.qs-visual-lead{
  font-size:clamp(15.5px,1.08vw,17px);
  line-height:1.72;
  max-width:570px;
}
.qs-visual-eyebrow{
  font-size:13px;
  line-height:1.4;
}
.qs-visual-bottom-item{
  padding:14px 20px;
  font-size:clamp(13px,.98vw,15px);
  line-height:1.5;
}
.qs-visual-bottom-icon{
  width:44px;
  height:44px;
  margin-bottom:9px;
  font-size:28px;
}
.qs-visual-bottom-icon svg{
  width:34px;
  height:34px;
  stroke-width:1.75;
}
.qs-visual-service-title{
  font-size:clamp(12px,.86vw,14.5px);
  line-height:1.45;
}
.qs-visual-service-icon{
  width:38px;
  height:38px;
  flex-basis:38px;
}
.qs-visual-service-icon svg{
  width:31px;
  height:31px;
}
body.rtl .qs-visual-copy h1{
  font-family:"Somar",Inter,Arial,sans-serif;
  font-size:clamp(44px,3.35vw,56px);
  line-height:1.22;
  letter-spacing:0;
}
body.rtl .qs-visual-lead{
  font-family:"Somar",Inter,Arial,sans-serif;
  font-size:clamp(16px,1.12vw,18px);
  line-height:1.9;
}
body.rtl .qs-visual-eyebrow,
body.rtl .qs-visual-bottom-item,
body.rtl .qs-visual-service-title{
  font-family:"Somar",Inter,Arial,sans-serif;
}
body.rtl .qs-visual-bottom-item{
  font-size:clamp(14px,1vw,16px);
  line-height:1.65;
}
body.rtl .qs-visual-service-title{
  font-size:clamp(13px,.92vw,15px);
  line-height:1.6;
}

/* ---------- Homepage: fill the canvas without making it crowded ---------- */
body.home-page .section-copy p{
  max-width:700px;
}
body.home-page .about-preview,
body.home-page .what-bring-preview{
  padding-top:46px;
  padding-bottom:46px;
}
body.home-page .about-preview .section-copy,
body.home-page .what-bring-preview .section-copy{
  padding-top:4px;
}
body.home-page .about-preview .photo-frame{
  min-height:0;
}
body.home-page .what-bring-preview .bring-outcome-item{
  min-height:158px;
  padding:24px 22px;
}
body.home-page .what-bring-preview .bring-outcome-item h3{
  font-size:18px;
  line-height:1.35;
}
body.home-page .what-bring-preview .bring-outcome-item p{
  font-size:14px;
  line-height:1.7;
}
body.home-page .audience-section{
  padding-top:48px;
  padding-bottom:48px;
}
body.home-page .audience-item{
  min-height:126px;
  padding:22px 20px;
}
body.home-page .audience-item p{
  font-size:15px;
  line-height:1.7;
}
body.home-page .services-section{
  padding-top:46px;
  padding-bottom:52px;
}
body.home-page .services-section .service-card{
  min-height:205px;
  padding:24px;
}
body.home-page .services-section .service-card h3{
  font-size:19px;
}
body.home-page .services-section .service-card p{
  font-size:14px;
  line-height:1.7;
}
body.home-page .approach-section{
  padding-top:46px;
  padding-bottom:52px;
}
body.home-page .approach-section .approach-intro{
  font-size:16px;
  line-height:1.8;
}
body.home-page .approach-section .process-step{
  padding:20px 14px 22px;
}
body.home-page .approach-section .process-step h3{
  font-size:16px;
}
body.home-page .approach-section .process-step p{
  font-size:13px;
  line-height:1.65;
}
body.rtl.home-page .what-bring-preview .bring-outcome-item p,
body.rtl.home-page .audience-item p,
body.rtl.home-page .services-section .service-card p,
body.rtl.home-page .approach-section .process-step p{
  font-size:15px;
  line-height:1.85;
}

/* ---------- What We Bring: reference page scale ---------- */
.what-bring-page-section{
  padding-top:48px;
  padding-bottom:58px;
}
.what-bring-page-section .section-copy h2{
  font-size:clamp(34px,2.8vw,40px);
}
.what-bring-page-section .section-copy p{
  font-size:16.5px;
  line-height:1.82;
}
.what-bring-page-section .bring-outcome-item{
  padding:25px 24px;
}
.what-bring-page-section .bring-outcome-item h3{
  font-size:18px;
  line-height:1.35;
}
.what-bring-page-section .bring-outcome-item p{
  font-size:14.5px;
  line-height:1.7;
}
body.rtl .what-bring-page-section .section-copy h2{
  font-size:clamp(35px,2.9vw,42px);
}
body.rtl .what-bring-page-section .section-copy p{
  font-size:17px;
  line-height:1.95;
}
body.rtl .what-bring-page-section .bring-outcome-item h3{
  font-size:19px;
}
body.rtl .what-bring-page-section .bring-outcome-item p{
  font-size:15.5px;
  line-height:1.9;
}

/* ---------- Services overview ---------- */
.services-list-section{
  padding-top:48px;
  padding-bottom:60px;
}
.services-overview-lead{
  font-size:16px;
  line-height:1.8;
}
.services-flat-grid .detail-card{
  padding:28px;
}
.services-flat-grid .detail-card h2{
  font-size:22px;
  line-height:1.35;
}
.services-flat-grid .detail-card .headline{
  font-size:17px !important;
  line-height:1.6;
}
.services-flat-grid .detail-card p,
.services-flat-grid .detail-card li{
  font-size:15px;
  line-height:1.8;
}
.services-flat-grid .detail-card .help-heading{
  font-size:16px;
}
.services-flat-grid .detail-card .result-heading{
  font-size:14px;
}
.services-flat-grid .detail-card .result-copy{
  font-size:15px;
  line-height:1.8;
  padding:18px 19px;
}
body.rtl .services-overview-lead,
body.rtl .services-flat-grid .detail-card p,
body.rtl .services-flat-grid .detail-card li{
  font-size:16px;
  line-height:1.95;
}
body.rtl .services-flat-grid .detail-card h2{
  font-size:23px;
}
body.rtl .services-flat-grid .detail-card .headline{
  font-size:18px !important;
  line-height:1.7;
}
body.rtl .services-flat-grid .detail-card .result-copy{
  font-size:16px;
  line-height:1.95;
}

/* ---------- Service detail pages ---------- */
.service-detail-page-section{
  padding-top:46px;
  padding-bottom:62px;
}
.service-page-copy{
  padding:38px 44px;
}
.service-page-copy h2{
  font-size:32px;
  line-height:1.25;
}
.service-page-copy>p{
  font-size:17px;
  line-height:1.85;
}
.service-page-copy h3{
  font-size:21px;
  line-height:1.35;
}
.service-page-copy ul{
  font-size:16px;
  line-height:1.9;
}
.service-result p{
  font-size:16px;
  line-height:1.85;
}
body.rtl .service-page-copy h2{
  font-family:"Somar",Inter,Arial,sans-serif;
  font-size:34px;
  line-height:1.35;
}
body.rtl .service-page-copy>p,
body.rtl .service-page-copy ul,
body.rtl .service-result p{
  font-family:"Somar",Inter,Arial,sans-serif;
  font-size:17px;
  line-height:2;
}
body.rtl .service-page-copy h3{
  font-family:"Somar",Inter,Arial,sans-serif;
  font-size:22px;
}

/* ---------- About page content below the visual ---------- */
.about-beliefs{
  margin-top:58px;
  padding-top:48px;
}
.belief-grid{
  gap:16px;
  margin:22px 0 44px;
}
.belief-grid p{
  padding:21px 20px;
  font-size:15px;
  line-height:1.65;
}
.about-vision{
  margin-top:54px;
  padding:40px 42px;
}
.about-vision h2{
  font-size:32px;
}
.about-vision p{
  font-size:16px;
  line-height:1.85;
}
body.rtl .belief-grid p{
  font-size:15.5px;
  line-height:1.9;
}
body.rtl .about-vision h2{
  font-family:"Somar",Inter,Arial,sans-serif;
  font-size:34px;
}
body.rtl .about-vision p{
  font-family:"Somar",Inter,Arial,sans-serif;
  font-size:17px;
  line-height:2;
}

/* ---------- Contact page ---------- */
.ct-page{
  padding-top:64px;
  padding-bottom:70px;
}
.ct-intro h1{
  font-size:48px;
  line-height:1.15;
}
.ct-intro>p{
  font-size:16.5px;
  line-height:1.85;
}
.ct-value > span:not(.ct-value-icon){
  font-size:13px;
  line-height:1.55;
}
.ct-value > .ct-value-icon{
  width:42px;
  height:42px;
  margin-bottom:10px;
}
.ct-value > .ct-value-icon svg{
  width:32px;
  height:32px;
}
.ct-note{
  font-size:21px;
}
.ct-card{
  padding:34px;
}
.ct-card h2{
  font-size:29px;
}
.ct-card>p{
  font-size:15px;
  line-height:1.8;
}
.ct-field,
.ct-option{
  font-size:15px;
}
body.rtl .ct-intro h1{
  font-family:"Somar",Inter,Arial,sans-serif;
  font-size:clamp(42px,3.3vw,52px);
  line-height:1.35;
  letter-spacing:0;
}
body.rtl .ct-intro>p,
body.rtl .ct-card>p{
  font-family:"Somar",Inter,Arial,sans-serif;
  font-size:17px;
  line-height:2;
}
body.rtl .ct-value > span:not(.ct-value-icon){
  font-family:"Somar",Inter,Arial,sans-serif;
  font-size:14px;
  line-height:1.75;
}
body.rtl .ct-note{
  font-family:"Somar",Inter,Arial,sans-serif;
  font-size:22px;
}
body.rtl .ct-card h2{
  font-family:"Somar",Inter,Arial,sans-serif;
  font-size:30px;
}

/* ---------- Shared mobile scale: keep the larger hierarchy without overflow ---------- */
@media(max-width:980px){
  .qs-visual-copy h1{font-size:clamp(38px,5vw,48px)}
  body.rtl .qs-visual-copy h1{font-size:clamp(38px,5.2vw,50px)}
  .qs-visual-bottom-item{font-size:13px}
  body.rtl .qs-visual-bottom-item{font-size:14px}
}
@media(max-width:760px){
  body:not(.sc){font-size:16px}
  body.rtl:not(.sc){font-size:16.5px}
  body:not(.sc) .section-copy p,
  body:not(.sc) .section-head p{font-size:16px;line-height:1.75}
  body.rtl:not(.sc) .section-copy p,
  body.rtl:not(.sc) .section-head p{font-size:16.5px;line-height:1.9}
  body.home-page .about-preview,
  body.home-page .what-bring-preview,
  body.home-page .audience-section,
  body.home-page .services-section,
  body.home-page .approach-section{padding-top:40px;padding-bottom:42px}
  .what-bring-page-section{padding-top:40px;padding-bottom:46px}
  .services-list-section{padding-top:40px;padding-bottom:48px}
  .service-detail-page-section{padding-top:38px;padding-bottom:48px}
  .service-page-copy{padding:28px 22px}
  .service-page-copy h2{font-size:28px}
  body.rtl .service-page-copy h2{font-size:30px}
  .service-page-copy>p{font-size:16px;line-height:1.8}
  body.rtl .service-page-copy>p,
  body.rtl .service-page-copy ul,
  body.rtl .service-result p{font-size:16px;line-height:1.9}
  .ct-page{padding-top:48px;padding-bottom:54px}
  .ct-intro h1{font-size:40px}
  body.rtl .ct-intro h1{font-size:40px;line-height:1.4}
  .ct-card{padding:26px 20px}
  .ct-value > .ct-value-icon{width:38px;height:38px}
  .ct-value > .ct-value-icon svg{width:29px;height:29px}
}
