/* ============================================================
   FIKR CMS — public site styles
   Front-end stylesheet — Brand: Deep Indigo-Navy + Warm Taupe/Mauve
   Supports light/dark mode via [data-theme] and RTL via [dir="rtl"]
   ============================================================ */

/* Brand scale: derived at runtime from the theme (renderer.js sets --indigo-* / --mauve-* on :root);
   the values below are the shipped defaults so the page is correct even before JS runs. */
:root{
  --indigo-950:#15123c;
  --indigo-900:#1e1a50;
  --indigo-800:#282460;
  --indigo-700:#342e79;
  --indigo-600:#443c93;
  --indigo-100:#e7e5f5;
  --mauve-700:#6b5a55;
  --mauve-600:#7c6b66;
  --mauve-500:#8e7d78;
  --mauve-400:#a4948e;
  --mauve-100:#f3ece9;
  --gold-500:#c9962e;
  --gold-100:#faf1de;
  --green-500:#3f9a5c;

  /* semantic tokens -> editable theme (Appearance > Theme) */
  --ink:var(--sw-text,#1a1730);
  --ink-soft:var(--sw-muted,#5c5670);
  --line:var(--sw-border,#e6e2ee);
  --surface:var(--sw-bg,#ffffff);
  --surface-soft:var(--sw-surface,#f7f5fb);
  --icon:var(--sw-icon,#282460);
  --link:var(--sw-link,#282460);
  --link-hover:var(--sw-link-hover,#8e7d78);
  --btn-bg:var(--sw-btn-bg,#6b5a55);
  --btn-text:var(--sw-btn-text,#ffffff);
  --btn-hover-bg:var(--sw-btn-hover-bg,#7c6b66);
  --btn-hover-text:var(--sw-btn-hover-text,#ffffff);
  --badge-bg:var(--sw-badge-bg,#ece9f5);
  --badge-text:var(--sw-badge-text,#282460);
  --header-bg:var(--sw-header-bg,#ffffff);
  --footer-bg:var(--sw-footer-bg,#15123c);
  --shadow-sm:0 1px 2px rgba(21,18,60,.07), 0 1px 1px rgba(21,18,60,.04);
  --shadow-md:0 10px 30px -12px rgba(21,18,60,.22);
  --shadow-lg:0 24px 60px -20px rgba(21,18,60,.32);
  --radius-sm:calc(var(--sw-radius,14px) * .57);
  --radius-md:var(--sw-radius,14px);
  --radius-lg:calc(var(--sw-radius,14px) * 1.57);
  --container:1180px;
  --ff-head:var(--sw-font-heading,'Poppins'),system-ui,sans-serif;
  --ff-body:var(--sw-font-body,'Inter'),system-ui,sans-serif;
  --ff-ar:var(--sw-font-arabic,'Cairo'),'Tajawal',system-ui,sans-serif;
}

/* ---------------- DARK MODE ---------------- */
[data-theme="dark"]{
  --indigo-100:#26224a;
  --mauve-100:#2c2440;
  --shadow-sm:0 1px 2px rgba(0,0,0,.4);
  --shadow-md:0 10px 30px -12px rgba(0,0,0,.55);
  --header-bg:var(--sw-header-bg,#181433);
  --surface-soft:var(--sw-surface,#1f1a40);
}
[data-theme="dark"] body{background:var(--surface);}
[data-theme="dark"] .site-header{border-bottom-color:rgba(255,255,255,.08);}
[data-theme="dark"] .site-header.scrolled{border-bottom-color:var(--line);}
[data-theme="dark"] .main-nav{background:var(--surface);}
[data-theme="dark"] .main-nav a{color:var(--ink);}
[data-theme="dark"] .field input,[data-theme="dark"] .field select,[data-theme="dark"] .field textarea{background:var(--surface-soft);color:var(--ink);border-color:var(--line);}
[data-theme="dark"] .field input:focus,[data-theme="dark"] .field select:focus,[data-theme="dark"] .field textarea:focus{background:var(--surface);}
[data-theme="dark"] .nav-phone,[data-theme="dark"] .brand{color:var(--ink);}
[data-theme="dark"] .btn-ghost{color:var(--ink);}


*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
html[lang="ar"] body{font-family:var(--ff-ar);}
body{
  margin:0;font-family:var(--ff-body);color:var(--ink);background:var(--surface);
  line-height:1.6;-webkit-font-smoothing:antialiased;transition:background .2s ease,color .2s ease;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4{font-family:var(--ff-head);line-height:1.2;margin:0 0 .5em;color:var(--ink);}
html[lang="ar"] h1,html[lang="ar"] h2,html[lang="ar"] h3,html[lang="ar"] h4{font-family:var(--ff-ar);font-weight:700;}
p{margin:0 0 1em;color:var(--ink-soft);}
.container{max-width:var(--container);margin-inline:auto;padding-inline:24px;}
section{padding:88px 0;}
.section-tight{padding:56px 0;}
.section-soft{background:var(--surface-soft);}
.section-navy{background:linear-gradient(160deg,var(--indigo-950),var(--indigo-800));color:#eeecf9;}
.section-navy p{color:#c3bcdd;}
.section-navy h1,.section-navy h2,.section-navy h3{color:#fff;}

/* ---------- RTL ---------- */
html[dir="rtl"] body{direction:rtl;text-align:right;}
html[dir="rtl"] .check-list svg,html[dir="rtl"] .hero-badge svg,html[dir="rtl"] .trust-item svg{margin-inline-end:0;}
html[dir="rtl"] .card-link svg,html[dir="rtl"] .btn.arrow svg{transform:scaleX(-1);}
html[dir="rtl"] .breadcrumb svg{transform:scaleX(-1);}

/* ---------- eyebrow / tags ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--badge-text);background:var(--badge-bg);
  padding:6px 14px;border-radius:999px;margin-bottom:16px;
}
html[lang="ar"] .eyebrow{letter-spacing:0;}
.section-navy .eyebrow{background:rgba(255,255,255,.12);color:#e3d9d6;}
.section-head{max-width:680px;margin-bottom:48px;}
.section-head.center{margin-inline:auto;text-align:center;}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--ff-body);font-weight:600;font-size:.95rem;
  padding:13px 26px;border-radius:999px;border:1px solid transparent;
  cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease,color .15s ease;
  white-space:nowrap;
}
html[lang="ar"] .btn{font-family:var(--ff-ar);}
.btn:active{transform:translateY(1px);}
.btn-primary{background:var(--btn-bg);color:var(--btn-text);box-shadow:0 10px 24px -10px color-mix(in srgb,var(--btn-bg) 60%,transparent);}
.btn-primary:hover{background:var(--btn-hover-bg);color:var(--btn-hover-text);}
.btn-outline{background:transparent;border-color:rgba(255,255,255,.35);color:#fff;}
.btn-outline:hover{background:rgba(255,255,255,.1);}
.btn-ghost{background:var(--surface);border-color:var(--line);color:var(--sw-primary,#282460);}
.btn-ghost:hover{border-color:var(--mauve-500);color:var(--mauve-700);}
.btn-block{width:100%;}
.btn-sm{padding:9px 18px;font-size:.85rem;}
.btn svg{width:18px;height:18px;flex:none;}

/* ---------- header / nav ---------- */
.topbar{background:var(--indigo-950);color:#d8d3ec;font-size:.82rem;}
.topbar .container{display:flex;align-items:center;justify-content:space-between;padding-block:8px;gap:16px;flex-wrap:wrap;}
.topbar-links{display:flex;gap:20px;flex-wrap:wrap;}
.topbar-links a{display:inline-flex;align-items:center;gap:6px;color:#d8d3ec;}
.topbar-links a:hover{color:#fff;}
.topbar-right{display:flex;align-items:center;gap:16px;}
.topbar-social{display:flex;gap:12px;}
.topbar-social a{width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;}
.topbar-social svg{width:14px;height:14px;}

/* ---- lang switcher ---- */
.lang-switch{display:flex;align-items:center;gap:4px;background:rgba(255,255,255,.08);border-radius:999px;padding:3px;}
.lang-btn{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:none;background:none;color:#c7c1e1;font-size:.78rem;font-weight:700;cursor:pointer;}
.lang-btn.active{background:#fff;color:var(--indigo-800);}
.lang-btn .flag{width:18px;height:13px;border-radius:2px;overflow:hidden;flex:none;box-shadow:0 0 0 1px rgba(0,0,0,.15);}
.lang-btn .flag svg{width:100%;height:100%;display:block;}

/* ---- theme switcher ---- */
.theme-switch{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.08);border:none;color:#d8d3ec;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none;}
.theme-switch:hover{background:rgba(255,255,255,.16);}
.theme-switch svg{width:17px;height:17px;}

header.site-header{
  position:sticky;top:0;z-index:60;
  background:color-mix(in srgb,var(--header-bg) 55%,transparent);
  backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);
  border-bottom:1px solid rgba(255,255,255,.3);
  box-shadow:0 1px 0 rgba(21,18,60,.05);
  transition:background .25s ease,box-shadow .25s ease,border-color .25s ease;
}
header.site-header.scrolled{
  background:color-mix(in srgb,var(--header-bg) 88%,transparent);
  border-bottom-color:var(--line);
  box-shadow:0 8px 24px -16px rgba(8,20,32,.35);
}
.nav-row{display:flex;align-items:center;justify-content:space-between;padding-block:14px;gap:20px;}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--ff-head);font-weight:700;font-size:1.15rem;color:var(--sw-primary,#282460);}
html[lang="ar"] .brand{font-family:var(--ff-ar);}
.brand-mark{
  width:42px;height:42px;border-radius:12px;flex:none;
  background:linear-gradient(135deg,var(--indigo-800),var(--mauve-500));
  display:flex;align-items:center;justify-content:center;color:#fff;
  box-shadow:0 8px 18px -8px rgba(40,36,96,.6);
}
.brand-mark svg{width:24px;height:24px;}
.brand small{display:block;font-family:var(--ff-body);font-weight:500;font-size:.68rem;letter-spacing:.06em;color:var(--ink-soft);text-transform:uppercase;}

.main-nav{display:flex;align-items:center;gap:6px;}
.main-nav a{padding:10px 14px;border-radius:8px;font-weight:600;font-size:.92rem;color:var(--sw-primary,#282460);transition:background .15s ease,color .15s ease;}
.main-nav a:hover,.main-nav a.active{background:var(--mauve-100);color:var(--mauve-700);}
.nav-cta{display:flex;align-items:center;gap:12px;}
.nav-phone{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--indigo-900);}
.nav-phone svg{width:18px;height:18px;color:var(--mauve-600);}
.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:6px;}
.nav-toggle svg{width:26px;height:26px;color:var(--sw-primary,#282460);}

@media (max-width:960px){
  .main-nav{position:fixed;inset:64px 0 0 0;background:var(--surface);flex-direction:column;align-items:stretch;padding:20px;gap:4px;transform:translateY(-12px);opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;overflow:auto;z-index:55;}
  .main-nav.open{opacity:1;transform:translateY(0);pointer-events:auto;}
  .main-nav a{padding:14px;border-bottom:1px solid var(--line);}
  .nav-toggle{display:inline-flex;}
  .nav-phone span{display:none;}
}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;background:radial-gradient(1100px 500px at 85% -10%,rgba(142,125,120,.28),transparent 60%),linear-gradient(160deg,var(--indigo-950) 0%,#100d2c 55%,var(--indigo-900) 100%);color:#fff;padding:96px 0 120px;}
.hero .container{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;}
.hero h1{font-size:clamp(2.1rem,4vw,3.3rem);color:#fff;}
.hero p.lead{color:#c3bcdd;font-size:1.08rem;max-width:520px;}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;}
.hero-badges{display:flex;gap:28px;flex-wrap:wrap;margin-top:40px;}
.hero-badge{display:flex;align-items:center;gap:10px;font-size:.85rem;color:#d8d3ec;}
.hero-badge svg{width:20px;height:20px;color:var(--mauve-400);flex:none;}
.hero-visual{position:relative;border-radius:var(--radius-lg);overflow:hidden;background:linear-gradient(150deg,var(--indigo-700),var(--indigo-950));min-height:380px;box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.08);}
.hero-visual .sweep{position:absolute;inset:0;background:conic-gradient(from 210deg at 30% 20%,rgba(142,125,120,.35),transparent 40%);animation:sweep 6s linear infinite;}
@keyframes sweep{to{transform:rotate(360deg);}}
.hero-visual .grid-overlay{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:34px 34px;}
.hero-stat-card{position:absolute;bottom:22px;left:22px;right:22px;background:rgba(21,18,60,.72);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);padding:18px 20px;display:flex;gap:24px;flex-wrap:wrap;}
.hero-stat-card .stat b{display:block;font-size:1.4rem;color:#fff;font-family:var(--ff-head);}
.hero-stat-card .stat span{font-size:.75rem;color:#b6aed3;text-transform:uppercase;letter-spacing:.06em;}
@media (max-width:900px){.hero .container{grid-template-columns:1fr;}.hero-visual{min-height:260px;}}

/* ---------- trust strip ---------- */
.trust-strip{background:var(--indigo-900);color:#e7e3f5;padding:22px 0;}
.trust-strip .container{display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between;align-items:center;}
.trust-item{display:flex;align-items:center;gap:10px;font-size:.86rem;font-weight:600;}
.trust-item svg{width:20px;height:20px;color:var(--mauve-400);flex:none;}

/* ---------- cards ---------- */
.grid{display:grid;gap:26px;}
.grid-2{grid-template-columns:repeat(2,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
@media (max-width:960px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr;}}

.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:30px 26px;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--mauve-400);}
.card-icon{width:54px;height:54px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--indigo-100),var(--surface));color:var(--icon);margin-bottom:18px;}
.card-icon.amber{background:linear-gradient(135deg,var(--mauve-100),var(--surface));color:var(--mauve-700);}
.card-icon svg{width:28px;height:28px;}
.card h3{font-size:1.08rem;margin-bottom:8px;}
.card p{margin-bottom:0;font-size:.92rem;}
.card-link{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-weight:700;color:var(--link);font-size:.88rem;}
.card-link:hover{color:var(--link-hover);}
.card-link svg{width:16px;height:16px;transition:transform .15s ease;}
.card:hover .card-link svg{transform:translateX(3px);}
html[dir="rtl"] .card:hover .card-link svg{transform:translateX(-3px) scaleX(-1);}

.service-tile{border-radius:var(--radius-lg);padding:36px 36px 40px;color:#fff;position:relative;overflow:hidden;min-height:280px;display:flex;flex-direction:column;justify-content:flex-end;gap:0;box-shadow:var(--shadow-md);}
.service-tile.guards{background:linear-gradient(150deg,var(--indigo-800),var(--indigo-950));}
.service-tile.lifeguards{background:linear-gradient(150deg,var(--mauve-700),#3a2f2c);}
/* badge sits in normal flow at the top of the tile (never overlaps the heading / icon) and is RTL-safe */
.service-tile .tag{display:inline-flex;align-items:center;align-self:flex-start;margin:0 0 auto;padding:7px 16px;min-height:30px;font-size:.72rem;line-height:1.2;font-weight:700;letter-spacing:.08em;text-transform:uppercase;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.18);border-radius:999px;white-space:nowrap;}
html[lang="ar"] .service-tile .tag{letter-spacing:0;}
.service-tile .tile-body{padding-top:28px;}
.service-tile h3{color:#fff;font-size:1.6rem;margin-top:0;}
.service-tile p{color:#d9d3ea;max-width:420px;}

/* ---------- stats ---------- */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center;}
@media (max-width:760px){.stats-row{grid-template-columns:repeat(2,1fr);}}
.stat-box b{display:block;font-family:var(--ff-head);font-size:2.2rem;color:var(--ink);}
.section-navy .stat-box b{color:#fff;}
.stat-box span{font-size:.82rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em;}
.section-navy .stat-box span{color:#b6aed3;}

/* ---------- steps / process ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:step;}
@media (max-width:900px){.steps{grid-template-columns:repeat(2,1fr);}}
@media (max-width:520px){.steps{grid-template-columns:1fr;}}
.step{position:relative;padding:26px 22px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);}
.step::before{counter-increment:step;content:counter(step);position:absolute;top:-16px;left:22px;width:34px;height:34px;border-radius:50%;background:var(--indigo-800);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;font-family:var(--ff-head);box-shadow:0 6px 14px -6px rgba(40,36,96,.6);}
html[dir="rtl"] .step::before{left:auto;right:22px;}
.step h4{margin-top:10px;font-size:1rem;}
.step p{font-size:.88rem;margin:0;}

/* ---------- testimonials ---------- */
.testi-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:28px;box-shadow:var(--shadow-sm);}
.testi-stars{color:var(--gold-500);display:flex;gap:2px;margin-bottom:12px;}
.testi-person{display:flex;align-items:center;gap:12px;margin-top:18px;}
.testi-avatar{width:42px;height:42px;border-radius:50%;background:var(--indigo-800);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-family:var(--ff-head);flex:none;}
.testi-person b{display:block;font-size:.92rem;}
.testi-person span{font-size:.8rem;color:var(--ink-soft);}

/* ---------- FAQ accordion ---------- */
.faq-item{border-bottom:1px solid var(--line);}
.faq-q{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 4px;cursor:pointer;font-weight:600;color:var(--ink);background:none;border:none;width:100%;text-align:inherit;font-size:.98rem;font-family:var(--ff-body);}
html[lang="ar"] .faq-q{font-family:var(--ff-ar);}
.faq-q svg{width:20px;height:20px;flex:none;transition:transform .2s ease;color:var(--mauve-700);}
.faq-item.open .faq-q svg{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.faq-a p{padding:0 4px 20px;margin:0;}
.faq-item.open .faq-a{max-height:400px;}

/* ---------- industries ---------- */
.industry-card{text-align:center;padding:26px 16px;border-radius:var(--radius-md);background:var(--surface);border:1px solid var(--line);}
.industry-card .card-icon{margin-inline:auto;}

/* ---------- forms ---------- */
.form-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:36px;box-shadow:var(--shadow-md);}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
@media (max-width:640px){.form-grid{grid-template-columns:1fr;}}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;}
.field.full{grid-column:1/-1;}
.field label{font-size:.82rem;font-weight:700;color:var(--sw-primary,#282460);}
.field input,.field select,.field textarea{border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;font-family:var(--ff-body);font-size:.94rem;color:var(--ink);background:var(--surface-soft);transition:border-color .15s ease,background .15s ease;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--mauve-500);background:var(--surface);}
.field textarea{resize:vertical;min-height:110px;}
.form-note{font-size:.78rem;color:var(--ink-soft);}
.form-success{display:none;background:var(--mauve-100);border:1px solid var(--mauve-400);color:var(--mauve-700);padding:14px 18px;border-radius:var(--radius-sm);font-weight:600;margin-bottom:18px;align-items:center;gap:10px;}
.form-success.show{display:flex;}
.form-success svg{width:20px;height:20px;flex:none;}

/* ---------- CTA banner ---------- */
.cta-banner{background:linear-gradient(120deg,var(--mauve-700),var(--indigo-900));border-radius:var(--radius-lg);padding:46px 42px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap;}
.cta-banner h3{color:#fff;font-size:1.5rem;margin-bottom:6px;}
.cta-banner p{color:#ece6f0;margin:0;}

/* ---------- footer ---------- */
footer.site-footer{background:var(--footer-bg);color:#b6aed3;padding:70px 0 0;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:36px;padding-bottom:50px;border-bottom:1px solid rgba(255,255,255,.08);}
@media (max-width:900px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr;}}
.footer-grid h4{color:#fff;font-size:.95rem;margin-bottom:18px;}
.footer-grid ul li{margin-bottom:10px;}
.footer-grid a:hover{color:#fff;}
.footer-brand p{color:#9d94bd;max-width:280px;}
.footer-social{display:flex;gap:10px;margin-top:16px;}
.footer-social a{width:34px;height:34px;border-radius:9px;background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;}
.footer-social svg{width:16px;height:16px;}
.footer-contact li{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;}
.footer-contact svg{width:18px;height:18px;color:var(--mauve-400);flex:none;margin-top:2px;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:22px 0;font-size:.8rem;color:#8a81ab;flex-wrap:wrap;gap:10px;}
.footer-bottom a:hover{color:#fff;}
.footer-credit{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;}
.footer-credit .fc-heart{width:14px;height:14px;flex:none;fill:#ef4444;filter:drop-shadow(0 0 4px rgba(239,68,68,.55));transform-origin:center;}
.footer-credit .fc-link{font-weight:700;color:#d9d0cc;letter-spacing:.02em;unicode-bidi:isolate;text-decoration:none;}
.footer-credit .fc-link:hover{color:#fff;text-decoration:underline;}
@media (prefers-reduced-motion:no-preference){.footer-credit .fc-heart{animation:fcBeat 1.3s ease-in-out infinite;}}
@keyframes fcBeat{0%,45%,100%{transform:scale(1);}12%{transform:scale(1.28);}24%{transform:scale(1);}34%{transform:scale(1.18);}}
@media (max-width:640px){.footer-bottom{flex-direction:column;align-items:flex-start;}}


/* ---------- page hero (inner pages) ---------- */
.page-hero{background:linear-gradient(150deg,var(--indigo-950),var(--indigo-800));color:#fff;padding:64px 0 56px;}
.breadcrumb{display:flex;gap:8px;align-items:center;font-size:.82rem;color:#b6aed3;margin-bottom:14px;}
.breadcrumb a:hover{color:#fff;}
.page-hero h1{color:#fff;font-size:clamp(1.8rem,3vw,2.6rem);margin-bottom:10px;}
.page-hero p{color:#c3bcdd;max-width:640px;margin:0;}

/* ---------- badges ---------- */
.badge{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;font-weight:700;line-height:1.3;padding:6px 14px;border-radius:999px;max-width:100%;text-align:start;}
.badge-teal{background:var(--badge-bg);color:var(--badge-text);}
.badge-amber{background:var(--mauve-100);color:var(--mauve-700);}
[data-theme="dark"] .badge-amber{color:var(--mauve-400);}

/* ---------- list-check ---------- */
.check-list li{display:flex;gap:10px;align-items:flex-start;margin-bottom:12px;font-size:.94rem;color:var(--ink);}
.check-list svg{width:20px;height:20px;color:var(--mauve-600);flex:none;margin-top:1px;}

/* ---------- utility ---------- */
.text-center{text-align:center;}
.mt-0{margin-top:0;}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease;}
.reveal.in{opacity:1;transform:translateY(0);}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;}
@media (max-width:900px){.two-col{grid-template-columns:1fr;}}
.media-block{border-radius:var(--radius-lg);min-height:340px;background:linear-gradient(150deg,var(--indigo-700),var(--indigo-950));position:relative;overflow:hidden;box-shadow:var(--shadow-md);}
.media-block .grid-overlay{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:30px 30px;}

/* tabs (legal page) */
.tab-nav{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-bottom:28px;}
.tab-btn{padding:12px 20px;font-weight:700;color:var(--ink-soft);background:none;border:none;cursor:pointer;border-bottom:2px solid transparent;font-family:var(--ff-body);}
.tab-btn.active{color:var(--mauve-700);border-color:var(--mauve-700);}
.tab-panel{display:none;}
.tab-panel.active{display:block;}

.admin-link{opacity:.55;font-size:.72rem;}
.admin-link:hover{opacity:1;}


/* ============================================================
   FIKR CMS additions — page-builder output, header v2, footer v2,
   WhatsApp float, PWA install popup, maintenance, a11y
   ============================================================ */
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.skip-link{position:absolute;inset-inline-start:12px;top:-60px;background:var(--btn-bg);color:var(--btn-text);padding:10px 16px;border-radius:8px;z-index:200;font-weight:700;}
.skip-link:focus{top:12px;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--mauve-400);outline-offset:2px;border-radius:6px;}
.hero a:focus-visible,.section-navy a:focus-visible,.page-hero a:focus-visible,.site-footer a:focus-visible,.topbar a:focus-visible{outline-color:#fff;}
main{display:block;min-height:40vh;}
.prose a,.sw-text a{color:var(--link);text-decoration:underline;text-underline-offset:3px;}
.prose a:hover,.sw-text a:hover{color:var(--link-hover);}

/* ---------- header v2 ---------- */
.brand-logo{display:block;object-fit:contain;flex:none;max-width:60vw;}
.brand-text{display:block;line-height:1.15;}
.brand-text small{display:block;}
.site-header.no-sticky{position:relative;}
.site-header.no-glass,.site-header.no-glass.scrolled{background:var(--header-bg);backdrop-filter:none;-webkit-backdrop-filter:none;}
.topbar-links a,.topbar-links span.tb-item{display:inline-flex;align-items:center;gap:6px;}
.topbar-links svg{width:14px;height:14px;flex:none;}
.main-nav>.nav-item{position:relative;display:flex;align-items:center;}
.main-nav .nav-link,.main-nav>a{padding:10px 14px;border-radius:8px;font-weight:600;font-size:.92rem;color:var(--sw-primary,#282460);display:inline-flex;align-items:center;gap:6px;background:none;border:0;cursor:pointer;font-family:inherit;transition:background .15s ease,color .15s ease;}
html[lang="ar"] .main-nav .nav-link{font-family:var(--ff-ar);}
.main-nav .nav-link:hover,.main-nav .nav-link.active,.main-nav .nav-item:focus-within>.nav-link{background:var(--mauve-100);color:var(--mauve-700);}
[data-theme="dark"] .main-nav .nav-link{color:var(--ink);}
[data-theme="dark"] .main-nav .nav-link:hover,[data-theme="dark"] .main-nav .nav-link.active{color:#fff;}
.nav-link .caret{width:14px;height:14px;transition:transform .15s ease;}
.sub-menu{position:absolute;top:100%;inset-inline-start:0;min-width:230px;padding:8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-md);display:none;z-index:70;}
.nav-item.has-sub:hover>.sub-menu,.nav-item.has-sub:focus-within>.sub-menu,.nav-item.has-sub.open>.sub-menu{display:block;}
.nav-item.has-sub:hover>.nav-link .caret,.nav-item.has-sub.open>.nav-link .caret{transform:rotate(180deg);}
.sub-menu a{display:block;padding:10px 12px;border-radius:8px;font-weight:600;font-size:.88rem;color:var(--ink);}
.sub-menu a:hover,.sub-menu a.active{background:var(--mauve-100);color:var(--mauve-700);}
[data-theme="dark"] .sub-menu a:hover{color:#fff;}
.nav-cta .btn{white-space:nowrap;}
@media (max-width:960px){
  .main-nav{inset:auto 0 0 0;top:var(--nav-top,64px);}
  .main-nav>.nav-item{display:block;border-bottom:1px solid var(--line);}
  .main-nav .nav-link,.main-nav>a{width:100%;padding:14px;justify-content:space-between;border-bottom:0;}
  .sub-menu{position:static;display:none;box-shadow:none;border:0;border-radius:0;padding:0 0 8px;margin-inline-start:14px;min-width:0;background:transparent;}
  .nav-item.has-sub.open>.sub-menu{display:block;}
  .nav-item.has-sub:hover>.sub-menu{display:none;}
  .nav-item.has-sub.open:hover>.sub-menu{display:block;}
}

/* ---------- builder output: sections & columns ---------- */
.sw-section{position:relative;padding:88px 0;background-size:cover;background-position:center;}
.sw-section.tone-soft{background-color:var(--surface-soft);}
.sw-section.tone-navy{background:linear-gradient(160deg,var(--indigo-950),var(--indigo-800));color:#eeecf9;}
.sw-section.tone-navy p{color:#c3bcdd;}
.sw-section.tone-navy h1,.sw-section.tone-navy h2,.sw-section.tone-navy h3,.sw-section.tone-navy h4{color:#fff;}
.sw-section.tone-pagehero{background:linear-gradient(150deg,var(--indigo-950),var(--indigo-800));color:#fff;}
.sw-section.has-bg-img::before{content:"";position:absolute;inset:0;background:rgba(10,8,40,.45);pointer-events:none;}
.sw-section.has-bg-img>.sw-inner{position:relative;}
.sw-inner{max-width:var(--container);margin-inline:auto;padding-inline:24px;}
.sw-inner.sw-full{max-width:none;padding-inline:0;}
.sw-row{display:flex;flex-wrap:wrap;gap:var(--rg,56px);align-items:flex-start;}
.sw-row.valign-center{align-items:center;}
.sw-row.valign-end{align-items:flex-end;}
.sw-row.valign-stretch{align-items:stretch;}
.sw-col{flex:0 0 auto;max-width:100%;min-width:0;display:flex;flex-direction:column;gap:18px;width:100%;}
.sw-col.va-center{justify-content:center;}
.sw-col[data-span="1"]{width:calc((100% - 11*var(--rg,56px))/12*1 + 0*var(--rg,56px));}
.sw-col[data-span="2"]{width:calc((100% - 11*var(--rg,56px))/12*2 + 1*var(--rg,56px));}
.sw-col[data-span="3"]{width:calc((100% - 11*var(--rg,56px))/12*3 + 2*var(--rg,56px));}
.sw-col[data-span="4"]{width:calc((100% - 11*var(--rg,56px))/12*4 + 3*var(--rg,56px));}
.sw-col[data-span="5"]{width:calc((100% - 11*var(--rg,56px))/12*5 + 4*var(--rg,56px));}
.sw-col[data-span="6"]{width:calc((100% - 11*var(--rg,56px))/12*6 + 5*var(--rg,56px));}
.sw-col[data-span="7"]{width:calc((100% - 11*var(--rg,56px))/12*7 + 6*var(--rg,56px));}
.sw-col[data-span="8"]{width:calc((100% - 11*var(--rg,56px))/12*8 + 7*var(--rg,56px));}
.sw-col[data-span="9"]{width:calc((100% - 11*var(--rg,56px))/12*9 + 8*var(--rg,56px));}
.sw-col[data-span="10"]{width:calc((100% - 11*var(--rg,56px))/12*10 + 9*var(--rg,56px));}
.sw-col[data-span="11"]{width:calc((100% - 11*var(--rg,56px))/12*11 + 10*var(--rg,56px));}
.sw-col[data-span="12"]{width:calc((100% - 11*var(--rg,56px))/12*12 + 11*var(--rg,56px));}
@media (max-width:900px){
  .sw-row{--rg:36px!important;}
  .sw-col{width:100%!important;}
  .sw-col[data-span="1"],.sw-col[data-span="2"],.sw-col[data-span="3"],.sw-col[data-span="4"]{width:calc(50% - 18px)!important;}
}
@media (max-width:560px){.sw-col{width:100%!important;}.sw-section{padding:64px 0;}.sw-inner{padding-inline:18px;}.nav-cta .btn{display:none;}.nav-cta{gap:6px;}}
.sw-el{min-width:0;}
.sw-el.al-center{text-align:center;}
.sw-el.al-right{text-align:end;}
.sw-el.al-left{text-align:start;}
.sw-el.al-center .btn{margin-inline:auto;}
.sw-el.al-center .check-list{display:inline-block;text-align:start;}
@media (min-width:961px){.sw-hide-d{display:none!important;}}
@media (min-width:601px) and (max-width:960px){.sw-hide-t{display:none!important;}}
@media (max-width:600px){.sw-hide-m{display:none!important;}}
[data-sw-anim]{opacity:0;transition:opacity .7s ease,transform .7s ease;}
[data-sw-anim="fade-up"]{transform:translateY(26px);}
[data-sw-anim="fade-in"]{transform:none;}
[data-sw-anim="zoom-in"]{transform:scale(.94);}
[data-sw-anim="slide-left"]{transform:translateX(-30px);}
[data-sw-anim="slide-right"]{transform:translateX(30px);}
[data-sw-anim].in{opacity:1;transform:none;}

/* ---------- element styles ---------- */
.sw-heading .section-head{margin-bottom:0;max-width:760px;}
.sw-heading .section-head.center{margin-inline:auto;}
.sw-heading h1,.sw-heading h2,.sw-heading h3,.sw-heading h4{margin-bottom:.35em;}
.sw-heading .sub{color:var(--ink-soft);font-size:1.05rem;margin:0;}
.sw-heading.al-center .section-head{margin-inline:auto;}
.sw-text{font-size:1rem;}
.sw-text p{margin:0 0 1em;}
.sw-text ul,.sw-text ol{padding-inline-start:1.3em;margin:0 0 1em;color:var(--ink-soft);list-style:revert;}
.sw-text h3{font-size:1.15rem;margin:1.4em 0 .5em;}
.sw-text h3:first-child{margin-top:0;}
.sw-text p{color:var(--ink-soft);}
.tone-navy .sw-text p,.tone-pagehero .sw-text p{color:#c3bcdd;}
.sw-image img{width:100%;height:auto;border-radius:var(--radius-lg);}
.sw-image figcaption{font-size:.85rem;color:var(--ink-soft);margin-top:8px;}
.sw-image .media-block{min-height:var(--mb-h,340px);}
.sw-image figure{margin:0;}
.sw-gallery{display:grid;gap:14px;}
.sw-gallery.g-grid{grid-template-columns:repeat(var(--cols,3),1fr);}
.sw-gallery.g-masonry{display:block;column-count:var(--cols,3);column-gap:14px;}
.sw-gallery.g-masonry a{display:block;margin-bottom:14px;break-inside:avoid;}
.sw-gallery img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-md);aspect-ratio:4/3;cursor:zoom-in;transition:transform .2s ease;}
.sw-gallery.g-masonry img{aspect-ratio:auto;height:auto;}
.sw-gallery a:hover img{transform:scale(1.02);}
@media (max-width:700px){.sw-gallery.g-grid{grid-template-columns:repeat(2,1fr);}.sw-gallery.g-masonry{column-count:2;}}
.sw-carousel{position:relative;overflow:hidden;border-radius:var(--radius-lg);}
.sw-carousel .track{display:flex;transition:transform .4s ease;}
html[dir="rtl"] .sw-carousel .track{flex-direction:row;}
.sw-carousel .slide{flex:0 0 100%;}
.sw-carousel .slide img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:0;cursor:zoom-in;}
.sw-carousel button.nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.9);color:#1a1730;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;}
.sw-carousel button.prev{left:12px;}.sw-carousel button.next{right:12px;}
.sw-carousel .dots{position:absolute;bottom:10px;inset-inline:0;display:flex;gap:6px;justify-content:center;}
.sw-carousel .dots i{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.55);display:block;cursor:pointer;}
.sw-carousel .dots i.on{background:#fff;}
.sw-lightbox{position:fixed;inset:0;z-index:300;background:rgba(8,6,28,.92);display:flex;align-items:center;justify-content:center;padding:24px;}
.sw-lightbox img{max-width:min(1100px,100%);max-height:88vh;border-radius:12px;}
.sw-lightbox button{position:absolute;top:18px;inset-inline-end:18px;width:44px;height:44px;border-radius:50%;border:0;background:#fff;color:#111;font-size:1.3rem;cursor:pointer;}
.sw-lightbox .lb-nav{top:50%;inset-inline-end:auto;}
.sw-lightbox .lb-prev{left:16px;}.sw-lightbox .lb-next{right:16px;}
.sw-spacer{display:block;}
.sw-divider{border:0;height:1px;background:var(--line);margin:0 auto;}
.sw-divider.d-dashed{background:none;border-top:2px dashed var(--line);height:0;}
.sw-divider.d-thick{height:4px;border-radius:4px;background:var(--mauve-400);}
.sw-video{position:relative;border-radius:var(--radius-lg);overflow:hidden;background:#000;aspect-ratio:16/9;}
.sw-video iframe,.sw-video video{position:absolute;inset:0;width:100%;height:100%;border:0;}
.sw-map{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);}
.sw-map iframe{display:block;width:100%;border:0;}
.sw-map .map-fallback{padding:10px 14px;font-size:.85rem;color:var(--ink-soft);}
.sw-cardgrid{display:grid;gap:26px;grid-template-columns:repeat(var(--cols,3),1fr);}
@media (max-width:960px){.sw-cardgrid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.sw-cardgrid{grid-template-columns:1fr;}}
.sw-cardgrid .card .badge{margin-top:14px;}
.sw-cardgrid .card .card-icon.circle{border-radius:50%;}
.sw-cardgrid.center .card-icon{margin-inline:auto;}
.sw-cardgrid .testi-avatar.big{margin-inline:auto;width:64px;height:64px;font-size:1.2rem;}
.sw-iconbox{display:flex;gap:18px;align-items:flex-start;}
.sw-iconbox.stack{flex-direction:column;}
.sw-iconbox.al-center{align-items:center;text-align:center;}
.sw-iconbox .card-icon{margin-bottom:0;flex:none;}
.sw-iconbox.stack .card-icon{margin-bottom:8px;}
.sw-iconbox.boxed{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:26px;box-shadow:var(--shadow-sm);}
.sw-iconbox h3{font-size:1.08rem;margin-bottom:6px;}
.sw-iconbox p{margin:0;font-size:.94rem;}
.sw-stats.tone-light .stat-box b{color:var(--ink);}
.sw-steps .step p{margin:0;}
.sw-testis{display:grid;gap:26px;grid-template-columns:repeat(var(--cols,3),1fr);}
@media (max-width:960px){.sw-testis{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.sw-testis{grid-template-columns:1fr;}}
.testi-card p{font-size:.96rem;}
.sw-cta .cta-btn{flex:none;}
.cta-banner.on-dark{background:linear-gradient(120deg,var(--mauve-700),var(--indigo-900));}
.sw-badge-el{display:inline-flex;}
.sw-checklist .check-list li svg{color:var(--icon);}
.sw-checklist .check-list li{color:var(--ink);}
.tone-navy .sw-checklist .check-list li{color:#eeecf9;}
.sw-checklist.al-center .check-list{display:inline-block;text-align:start;}
.sw-trust{background:var(--indigo-900);color:#e7e3f5;padding:22px 0;}
.sw-trust .container{display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between;align-items:center;max-width:var(--container);margin-inline:auto;padding-inline:24px;}
.sw-contact ul{display:flex;flex-direction:column;gap:16px;}
.sw-contact li{display:flex;gap:12px;align-items:flex-start;color:var(--ink);}
.sw-contact li svg{width:20px;height:20px;color:var(--icon);flex:none;margin-top:3px;}
.sw-contact a:hover{color:var(--link-hover);}
.btn-whatsapp{background:#128c4a!important;border-color:#128c4a!important;color:#fff!important;}
.btn-whatsapp:hover{background:#0e7a3f!important;}
.btn-lg{padding:16px 32px;font-size:1.02rem;}
.btn-ghost-light{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3);color:#fff;}
.sw-form .form-card{box-shadow:var(--shadow-md);}
.sw-form .form-card h3{margin-bottom:18px;}
.sw-form .req{color:#d14343;margin-inline-start:2px;}
.field .opts{display:flex;flex-wrap:wrap;gap:10px 18px;}
.field .opts label{font-weight:500;color:var(--ink);display:inline-flex;gap:8px;align-items:center;font-size:.92rem;}
.field input[type=checkbox],.field input[type=radio]{width:auto;accent-color:var(--btn-bg);}
.field .err{color:#d14343;font-size:.78rem;display:none;}
.field.invalid .err{display:block;}
.field.invalid input,.field.invalid select,.field.invalid textarea{border-color:#d14343;}
.form-success.show{display:flex;}
.sw-tabs-el .tab-nav{flex-wrap:wrap;}
.tab-panel h3{font-size:1.05rem;margin-top:1.4em;}
.tab-panel h3:first-child{margin-top:0;}

/* hero-night inside builder output */
.sw-herowrap{margin:0;}
.hero .container{max-width:var(--container);margin-inline:auto;padding-inline:24px;}
.hero-badges .hero-badge{max-width:300px;}

/* ---------- footer v2 ---------- */
.footer-grid.cols-1{grid-template-columns:1fr;}
.footer-grid.cols-2{grid-template-columns:1.4fr 1fr;}
.footer-grid.cols-3{grid-template-columns:1.4fr 1fr 1fr;}
.footer-grid.cols-5{grid-template-columns:1.4fr 1fr 1fr 1fr 1.2fr;}
@media (max-width:900px){.footer-grid[class*="cols-"]{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.footer-grid[class*="cols-"]{grid-template-columns:1fr;}}
.footer-brand .brand{color:#fff;margin-bottom:14px;}
.site-footer .footer-grid a{color:inherit;}
.site-footer .footer-social a svg{color:#cfe0ea;}
.footer-logo{display:block;object-fit:contain;}
/* light/dark logo variants (only emitted when a dark logo is set) */
.logo-d{display:none!important;}
[data-theme="dark"] .logo-d{display:block!important;}
[data-theme="dark"] .logo-l{display:none!important;}

/* ---------- WhatsApp float (editable) ---------- */
.float-whatsapp{position:fixed;bottom:var(--wa-y,24px);inset-inline-end:var(--wa-x,24px);inset-inline-start:auto;height:var(--wa-size,58px);min-width:var(--wa-size,58px);padding:0;border-radius:999px;background:var(--wa-bg,#25D366);color:var(--wa-fg,#fff);display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 12px 26px -8px rgba(0,0,0,.45);z-index:70;font-weight:700;font-size:.92rem;}
.float-whatsapp.pos-left{inset-inline-end:auto;inset-inline-start:auto;left:var(--wa-x,24px);right:auto;}
.float-whatsapp.pos-right{inset-inline-start:auto;inset-inline-end:auto;right:var(--wa-x,24px);left:auto;}
.float-whatsapp.has-label{padding-inline:calc(var(--wa-size,58px) * .3) calc(var(--wa-size,58px) * .4);}
.float-whatsapp svg{width:calc(var(--wa-size,58px) * .52);height:calc(var(--wa-size,58px) * .52);color:var(--wa-fg,#fff);flex:none;}
.float-whatsapp.pulse{animation:wa-pulse 2.4s infinite;}
@keyframes wa-pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--wa-bg,#25D366) 55%,transparent);}70%{box-shadow:0 0 0 16px transparent;}100%{box-shadow:0 0 0 0 transparent;}}
@media (prefers-reduced-motion:reduce){.float-whatsapp.pulse{animation:none;}}

/* ---------- PWA install popup ---------- */
.pwa-pop{position:fixed;inset-inline:0;bottom:0;z-index:2147483200;display:flex;justify-content:center;padding:14px;pointer-events:none;}
.pwa-card{pointer-events:auto;width:min(460px,100%);background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 24px 60px -16px rgba(0,0,0,.45);padding:20px 20px 18px;}
.pwa-head{display:flex;align-items:center;gap:12px;margin-bottom:10px;}
.pwa-head img,.pwa-head .pwa-ic{width:44px;height:44px;border-radius:11px;flex:none;background:var(--indigo-800);}
.pwa-head h3{margin:0;font-size:1.02rem;flex:1;}
.pwa-x{background:none;border:0;font-size:1.4rem;line-height:1;color:var(--ink-soft);cursor:pointer;padding:4px 8px;}
.pwa-tabs{display:flex;gap:6px;margin:6px 0 12px;}
.pwa-tabs button{flex:1;padding:8px 10px;border:1px solid var(--line);background:var(--surface-soft);color:var(--ink);border-radius:999px;font-weight:700;font-size:.82rem;cursor:pointer;}
.pwa-tabs button[aria-selected="true"]{background:var(--btn-bg);color:var(--btn-text);border-color:transparent;}
.pwa-steps{margin:0 0 12px;padding:0;list-style:none;display:grid;gap:10px;counter-reset:ps;}
.pwa-steps li{display:flex;gap:12px;align-items:center;font-size:.9rem;color:var(--ink);}
.pwa-steps li::before{counter-increment:ps;content:counter(ps);width:26px;height:26px;border-radius:50%;background:var(--indigo-100);color:var(--sw-primary,#282460);font-weight:800;display:flex;align-items:center;justify-content:center;flex:none;font-size:.8rem;}
.pwa-steps svg{width:24px;height:24px;color:var(--icon);flex:none;}
.pwa-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;}
.pwa-note{font-size:.85rem;color:var(--ink-soft);margin:0 0 10px;}

/* ---------- maintenance ---------- */
.maint-bar{position:sticky;top:0;z-index:120;background:#b45309;color:#fff;font-weight:700;font-size:.82rem;text-align:center;padding:7px 12px;}
.maint-bar a{color:#fff;text-decoration:underline;margin-inline-start:10px;}
.maint-bar.sw-preview-bar{background:#1d4ed8;padding:4px 12px;font-size:.76rem;font-weight:600;}
/* maintenance illustration (renderer.js E.maintenance + ssr.php e_maintenance emit identical markup) */
.mt-ill{width:min(300px,78%);margin:2px auto 20px;color:var(--icon);}
.mt-ill svg{display:block;width:100%;height:auto;overflow:visible;}
.mt-ill .mt-sh{fill:var(--line);opacity:.7;}
.mt-ill .mt-g1{fill:currentColor;}
.mt-ill .mt-g2{fill:var(--mauve-500);}
.mt-ill .mt-wr path{fill:var(--gold-500);stroke:var(--surface);stroke-width:.7;stroke-linejoin:round;}
.mt-ill .mt-sp{fill:var(--gold-500);transform-box:fill-box;transform-origin:center;}
.mt-ill .mt-tr{fill:var(--line);}
.mt-ill .mt-fl{fill:var(--mauve-500);transform-origin:40px 136px;transform:scaleX(.62);}
[dir="rtl"] .mt-ill svg{transform:scaleX(-1);}
@media (prefers-reduced-motion:no-preference){
  .mt-ill .mt-g1{transform-origin:88px 76px;animation:mtSpin 16s linear infinite;}
  .mt-ill .mt-g2{transform-origin:134.9px 46.7px;animation:mtSpin 11.2s linear infinite reverse;}
  .mt-ill .mt-wr{transform-origin:176px 90px;animation:mtWrench 2.6s ease-in-out infinite alternate;}
  .mt-ill .mt-sp{animation:mtTwinkle 2.8s ease-in-out infinite;}
  .mt-ill .mt-s2{animation-delay:.9s;}
  .mt-ill .mt-s3{animation-delay:1.7s;}
  .mt-ill .mt-fl{animation:mtBar 4.5s ease-in-out infinite;}
}
@keyframes mtSpin{to{transform:rotate(360deg);}}
@keyframes mtWrench{from{transform:rotate(-16deg);}to{transform:rotate(14deg);}}
@keyframes mtTwinkle{0%,100%{opacity:.25;transform:scale(.5);}50%{opacity:1;transform:scale(1.1);}}
@keyframes mtBar{0%{transform:scaleX(.05);opacity:1;}82%{transform:scaleX(.92);opacity:1;}100%{transform:scaleX(.92);opacity:0;}}
.maint-eta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:18px;}
.maint-eta div{min-width:78px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);text-align:center;}
.maint-eta b{display:block;font-size:1.6rem;font-family:var(--ff-head);color:var(--ink);}
.maint-eta span{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);}
body.is-maintenance .topbar,body.is-maintenance .site-footer,body.is-maintenance .float-whatsapp{display:none;}
.sw-loading{min-height:60vh;}

/* fixes */
.main-nav .nav-link,.main-nav>a{white-space:nowrap;padding:10px 11px;}
.nav-phone{white-space:nowrap;}
.main-nav .sub-toggle{padding:10px 4px;margin-inline-start:-8px;}
.nav-row{gap:14px;}
.sw-section.tone-navy .stat-box b,.sw-section.tone-pagehero .stat-box b{color:#fff;}
.sw-section.tone-navy .stat-box span{color:#b6aed3;}
.sw-section.tone-navy .testi-card p{color:var(--ink-soft);}
@media (max-width:960px){.main-nav .sub-toggle{position:absolute;inset-inline-end:6px;top:6px;}.main-nav>.nav-item{position:relative;}}
.sw-col>.sw-service-tile{flex:1;display:flex;}
.sw-service-tile .service-tile{flex:1;width:100%;}

/* ---------- QA fixes: header fit ---------- */
.site-header .container.nav-row{max-width:1320px;}
.main-nav{flex:1 1 auto;justify-content:center;min-width:0;}
.brand{flex:none;}
.nav-cta{flex:none;}
@media (max-width:1399px){.nav-phone{display:none;}}
@media (min-width:961px) and (max-width:1120px){.main-nav .nav-link,.main-nav>a{padding:10px 8px;font-size:.86rem;}.brand-text small{display:none;}}
.sw-trust .container{gap:12px 24px;}
.trust-item{font-size:.84rem;}
@media (min-width:1100px){.sw-trust .container{flex-wrap:nowrap;}.trust-item{white-space:nowrap;}}

/* ---------- QA fixes: mobile ---------- */
@media (max-width:760px){
  .sw-stats.stats-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px;}
  .stat-box{min-width:0;overflow-wrap:anywhere;}
}
@media (max-width:640px){
  .topbar .container{flex-wrap:nowrap;gap:8px;padding-block:6px;}
  .topbar-links{flex:1 1 auto;min-width:0;flex-wrap:nowrap;gap:12px;overflow:hidden;}
  .topbar .topbar-links>*:nth-child(n+2){display:none;}
  .topbar .topbar-links>*{white-space:nowrap;}
  .topbar-social{display:none;}
  .topbar-right{gap:8px;flex:none;}
}

/* mobile menu: header has backdrop-filter, so position:fixed would be clipped to the header -> anchor to it instead */
@media (max-width:960px){
  .main-nav{position:absolute;inset:auto;top:100%;left:0;right:0;max-height:calc(100vh - 76px);max-height:calc(100dvh - 76px);overflow-y:auto;background:var(--surface);box-shadow:0 20px 30px -20px rgba(8,6,30,.5);border-top:1px solid var(--line);}
  .main-nav .nav-link,.main-nav>a{color:var(--ink);}
}
@media (max-width:1559px){.nav-phone{display:none;}}
.brand-text{min-width:0;}
.brand{min-width:0;}
@media (max-width:960px){.brand-text small{display:none;}}
@media (max-width:960px){
  .main-nav .nav-item.has-sub{position:relative;}
  .main-nav .nav-item.has-sub>.nav-link:not(.sub-toggle){padding-inline-end:56px;}
  .main-nav .nav-link.sub-toggle{position:absolute;inset-inline-end:0;top:0;width:52px;height:48px;padding:0;margin:0;justify-content:center;}
}
body.is-maintenance .sw-section:first-child{min-height:70vh;display:flex;align-items:center;}
body.is-maintenance .sw-section:first-child>.sw-inner{width:100%;}

@media (min-width:961px){[data-theme="dark"] .main-nav{background:transparent;}}
.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px;}
@media (max-width:640px){.form-grid{grid-template-columns:minmax(0,1fr);}}
.field{min-width:0;}
.field input,.field select,.field textarea{width:100%;min-width:0;box-sizing:border-box;}

/* ---------- QA fixes: dark-mode contrast ---------- */
[data-theme="dark"] .tab-btn.active{color:var(--mauve-400);border-color:var(--mauve-400);}
[data-theme="dark"] .field .req,[data-theme="dark"] .req{color:#ff9a9a;}
.service-tile p{color:#e9e4f3;}
.hero .hero-panel .feed b,.hero .hero-panel .stat small{color:#cbbdb8;}

/* ---------- dark mode: dark-indigo brand colours are unreadable on dark surfaces — icons & links use a light lilac ---------- */
[data-theme="dark"]{--icon:#c4bdf0;--link:#c4bdf0;--link-hover:#ffffff;}
[data-theme="dark"] .btn-ghost:hover{border-color:#c4bdf0;color:#fff;}
[data-theme="dark"] .card-link,[data-theme="dark"] .prose a,[data-theme="dark"] .sw-text a{color:#c4bdf0;}
[data-theme="dark"] .card-link:hover,[data-theme="dark"] .prose a:hover,[data-theme="dark"] .sw-text a:hover,[data-theme="dark"] .sw-contact a:hover{color:#fff;}
[data-theme="dark"] .main-nav a:hover,[data-theme="dark"] .main-nav a.active{color:#fff;}

/* ---- Google reCAPTCHA field (public form + builder placeholder) ---- */
.rc-field{gap:6px;}
.rc-field .rc-box{min-height:0;max-width:100%;overflow-x:auto;overflow-y:hidden;direction:ltr;}
.rc-field .rc-box:focus{outline:2px solid var(--mauve-500,#6c5ce7);outline-offset:3px;}
.rc-field .rc-err{font-size:.82rem;font-weight:600;}
.rc-field.invalid .rc-err{display:block;}
.rc-dev{margin:0;font-size:.78rem;color:var(--ink-soft,#6b6b80);border:1px dashed var(--line,#d9d9e3);border-radius:8px;padding:6px 10px;display:inline-block;}
.rc-ph-box{display:flex;align-items:center;gap:12px;width:304px;max-width:100%;height:78px;box-sizing:border-box;padding:0 12px;border:1px solid #d3d3d3;border-radius:3px;background:#f9f9f9;color:#222;box-shadow:0 0 4px 1px rgba(0,0,0,.08);font:400 14px Roboto,Arial,sans-serif;direction:ltr;}
.rc-ph-box.rc-dark{background:#222;border-color:#444;color:#eee;}
.rc-ph-chk{width:24px;height:24px;border:2px solid #c1c1c1;border-radius:2px;background:#fff;flex:none;}
.rc-ph-box.rc-dark .rc-ph-chk{background:#333;border-color:#777;}
.rc-ph-lbl{flex:1;min-width:0;}
.rc-ph-logo{display:flex;flex-direction:column;align-items:center;font-size:8px;line-height:1.2;color:#555;flex:none;}
.rc-ph-box.rc-dark .rc-ph-logo{color:#bbb;}
.rc-ph-logo svg{color:#4a90e2;}
.rc-ph-box.rc-compact{width:164px;height:144px;flex-direction:column;justify-content:center;text-align:center;gap:8px;}
.rc-ph-badge{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid var(--line,#d9d9e3);border-radius:10px;background:var(--surface-soft,#f6f6fa);font-size:.82rem;color:var(--ink,#222);max-width:100%;}
.rc-ph-badge svg{color:#4a90e2;flex:none;}
.rc-ph-note{display:block;margin-top:2px;font-size:.74rem;color:var(--ink-soft,#6b6b80);font-style:italic;}
@media (max-width:400px){.rc-ph-box:not(.rc-compact){width:100%;}}

/* ---------- header: service link + caret behave as ONE menu item (desktop) ---------- */
@media (min-width:961px){
  .main-nav .nav-item.has-sub{border-radius:8px;transition:background .15s ease;}
  .main-nav .nav-item.has-sub>.nav-link:not(.sub-toggle){border-start-end-radius:0;border-end-end-radius:0;padding-inline-end:4px;}
  .main-nav .nav-item.has-sub>.sub-toggle{margin-inline-start:0;padding:10px 10px 10px 2px;border-start-start-radius:0;border-end-start-radius:0;pointer-events:none;}
  html[dir="rtl"] .main-nav .nav-item.has-sub>.sub-toggle{padding:10px 2px 10px 10px;}
  .main-nav .nav-item.has-sub:hover,.main-nav .nav-item.has-sub:focus-within,.main-nav .nav-item.has-sub.open{background:var(--mauve-100);}
  .main-nav .nav-item.has-sub:hover>.nav-link,.main-nav .nav-item.has-sub:focus-within>.nav-link,.main-nav .nav-item.has-sub.open>.nav-link{background:transparent;color:var(--mauve-700);}
  [data-theme="dark"] .main-nav .nav-item.has-sub:hover,[data-theme="dark"] .main-nav .nav-item.has-sub.open{background:rgba(196,189,240,.14);}
  [data-theme="dark"] .main-nav .nav-item.has-sub:hover>.nav-link,[data-theme="dark"] .main-nav .nav-item.has-sub.open>.nav-link{color:#fff;}
  .main-nav .nav-item.has-sub>.sub-menu{margin-top:0;}
  .main-nav .nav-item.has-sub>.sub-menu::before{content:"";position:absolute;inset:-8px 0 auto 0;height:8px;}
}
@media (min-width:961px){
  .main-nav .nav-item.has-sub:has(>.nav-link.active){background:var(--mauve-100);}
  .main-nav .nav-item.has-sub>.nav-link.active{background:transparent;color:var(--mauve-700);}
  [data-theme="dark"] .main-nav .nav-item.has-sub:has(>.nav-link.active){background:rgba(196,189,240,.14);}
  [data-theme="dark"] .main-nav .nav-item.has-sub>.nav-link.active{color:#fff;}
  .main-nav .nav-item.has-sub>.sub-toggle .caret{display:block;opacity:1;color:inherit;}
  .main-nav .nav-item.has-sub:has(>.nav-link.active)>.sub-toggle{color:var(--mauve-700);}
  [data-theme="dark"] .main-nav .nav-item.has-sub:has(>.nav-link.active)>.sub-toggle{color:#fff;}
}

/* ---------- team gallery (staff photos, names, designations) ---------- */
.sw-team{display:grid;grid-template-columns:repeat(var(--cols,4),minmax(0,1fr));gap:22px;}
.team-card{margin:0;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md,14px);padding:14px 14px 18px;transition:transform .18s ease,box-shadow .18s ease;}
.team-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.team-ph{aspect-ratio:1/1;border-radius:12px;overflow:hidden;background:var(--mauve-100);display:flex;align-items:center;justify-content:center;margin-bottom:12px;}
.team-photo{width:100%;height:100%;object-fit:cover;display:block;}
.team-ini{font-weight:700;font-size:2.4rem;color:var(--sw-primary,#282460);letter-spacing:.04em;}
[data-theme="dark"] .team-ph{background:rgba(196,189,240,.12);}
[data-theme="dark"] .team-ini{color:#c4bdf0;}
.team-card figcaption b{display:block;font-size:1rem;color:var(--ink);}
.team-card figcaption span{display:block;margin-top:2px;font-size:.84rem;color:var(--muted,#6b6880);}
.team-empty{color:var(--muted);font-style:italic;}
@media (max-width:960px){.sw-team{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media (max-width:640px){.sw-team{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}}

/* ---------- v1.1.1: hero pills spacing + long company name in header ---------- */
.hero-scene .hero-tag{display:flex;width:fit-content;max-width:100%;margin-bottom:18px;flex-wrap:wrap;}
.hero-scene .hero-tag + .eyebrow,.hero-scene .eyebrow{display:block;margin-top:0;margin-bottom:14px;}
.hero-scene .eyebrow{width:fit-content;max-width:100%;}
.site-header .brand{max-width:min(46vw,340px);overflow:visible;}
.site-header .brand-text{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;font-size:clamp(.88rem,1.05vw,1.05rem);line-height:1.18;}
@media (max-width:640px){.hero-scene .hero-tag{letter-spacing:.06em;font-size:.7rem;}.site-header .brand{max-width:62vw;}}
