/* AL TAMAYUZ — final site design layer, build 40. Generated by 10_production/build/build_final.py from the verified local design; do not hand-edit. */

/* ===== WordPress adapter (before the design) ===== */
/* WordPress adapter — runs BEFORE the design rules.
   The design was written for a page with no other stylesheet: whatever it does not set is the browser default.
   Inside the page wrapper the theme's element rules (h1-h6 sizes and fonts, button and link looks, list and figure margins,
   table and quote styles) are therefore rolled back to the browser default. The selector weighs three elements and no class (0,0,3):
   enough to beat the theme's element rules (h2, blockquote cite ...), never enough to beat a design rule (each carries the wrapper class). */
html body :where(.tz-root) :is(h1,h2,h3,h4,h5,h6,p,ul,ol,li,dl,dt,dd,a,b,strong,i,em,cite,dfn,q,small,sub,sup,blockquote,figure,figcaption,caption,button,details,summary,address,pre,code,kbd,abbr,mark,label){all:revert}
/* elements whose width / height attributes are layout hints (img, table cells, frames) are not rolled back as a whole — that would drop the hints;
   only the single theme declaration that differs from the browser default is undone */
html body :where(.tz-root) table{width:revert}
/* theme state rules weigh one class more (button:hover, a:hover …): the same weight here, later in the cascade */
:where(.tz-root) button:is(:hover,:focus,:active){box-shadow:none}
:where(.tz-root) button:disabled{opacity:revert;cursor:revert}
:where(.tz-root) a:is(:hover,:focus,:active){text-underline-offset:auto;outline:revert}
html body :where(.tz-root) iframe{max-width:revert}
/* the live brand layer (tz-brand.php) gives right-to-left quotes a side bar; the design draws its own quotes */
.tz-root blockquote{border:0;padding:0}


/* ===== style.css ===== */
/* ==========================================================================
   AL TAMAYUZ — Homepage Premium Visual Restoration
   Design prototype stylesheet (not production code)
   Direction: "Confident Clarity — restored & refined"
   ========================================================================== */
/* ---------- 1. Tokens ---------- */
:root{/* Brand palette */
  --teal:#1A9DAD;
  --teal-text:#127A87;       /* AA-compliant teal for TEXT on white/mist */
  --petrol:#08384A;
  --turquoise:#3FC1D0;
  --gold:#BF9B4F;
  --gold-2:#D8B56C;          /* light gold for gradients on dark */
  --ink:#0C1A20;
  --slate-700:#33474F;
  --slate-200:#D9E1E4;
  --mist:#F4F7F8;
  --white:#FFFFFF;

  /* Derived surfaces */
  --petrol-2:#0A4258;        /* lifted petrol for gradients */
  --petrol-deep:#062B39;     /* hero base */
  --teal-ghost:rgba(63,193,208,.12);
  --line:rgba(8,56,74,.10);
  --line-dark:rgba(217,225,228,.14);

  /* Type */
  --font-body:"Jost",system-ui,sans-serif;
  --font-display:"El Messiri",serif;

  /* Rhythm */
  --radius:18px;
  --radius-sm:12px;
  --container:1240px;
  --shadow-card:0 10px 30px -12px rgba(8,56,74,.16);
  --shadow-card-hover:0 24px 48px -16px rgba(8,56,74,.26);
  --shadow-deep:0 30px 60px -20px rgba(6,26,35,.55);}
/* RTL type swap: Tajawal for UI/body, El Messiri (native Arabic) for display */
[dir="rtl"]{--font-body:"Tajawal",system-ui,sans-serif;
  --font-display:"El Messiri",serif;}
/* ---------- 2. Base ---------- */
.tz-root *,.tz-root *::before,.tz-root *::after{box-sizing:border-box;margin:0;padding:0}
.tz-root{scroll-behavior:smooth;overflow-x:clip}
.tz-root{overflow-x:clip;
  font-family:var(--font-body);
  font-weight:400;
  color:var(--slate-700);
  background:var(--white);
  line-height:1.65;
  font-size:17px;
  -webkit-font-smoothing:antialiased;}
.tz-root img{max-width:100%;display:block}
.tz-root a{color:inherit;text-decoration:none}
.tz-root ul{list-style:none}
.tz-root button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
.tz-root h1,.tz-root h2,.tz-root h3,.tz-root .display{font-family:var(--font-display);color:var(--petrol);font-weight:600;line-height:1.22}
.tz-root .container{max-width:var(--container);margin-inline:auto;padding-inline:32px}
.tz-root :focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:4px;box-shadow:0 0 0 6px rgba(63,193,208,.4)}
/* ---------- 3. Buttons ---------- */
.tz-root .btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;
  font-weight:600;font-size:16px;letter-spacing:.02em;
  padding:15px 30px;border-radius:12px;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
  white-space:nowrap;}
.tz-root .btn svg{width:18px;height:18px;flex:none}
[dir="rtl"] .tz-root .btn svg.arrow{transform:scaleX(-1)}
.tz-root .btn-gold{background:linear-gradient(135deg,var(--gold-2) 0%,var(--gold) 60%,#A9863C 100%);
  color:#20170A;
  box-shadow:0 10px 24px -8px rgba(191,155,79,.55);}
.tz-root .btn-gold:hover{transform:translateY(-2px);box-shadow:0 16px 32px -10px rgba(191,155,79,.65)}
.tz-root .btn-ghost{background:rgba(255,255,255,.04);
  color:var(--white);
  border:1px solid rgba(217,225,228,.35);}
.tz-root .btn-ghost:hover{background:rgba(255,255,255,.10);transform:translateY(-2px)}
.tz-root .btn-teal{background:linear-gradient(120deg,#12808F 0%,var(--petrol) 130%);
  color:var(--white);
  box-shadow:0 10px 24px -10px rgba(26,157,173,.55);}
.tz-root .btn-teal:hover{transform:translateY(-2px);box-shadow:0 16px 32px -12px rgba(26,157,173,.6)}
.tz-root .btn-outline-petrol{color:var(--petrol);border:1.5px solid rgba(8,56,74,.25);background:var(--white);}
.tz-root .btn-outline-petrol:hover{border-color:var(--teal);color:var(--teal);transform:translateY(-2px)}
.tz-root .btn-white{background:var(--white);color:var(--petrol);box-shadow:0 10px 24px -10px rgba(6,26,35,.4)}
.tz-root .btn-white:hover{transform:translateY(-2px)}
/* ---------- 4. Section shell ---------- */
.tz-root .section{padding-block:96px}
.tz-root .section-mist{background:var(--mist)}
.tz-root .section-head{max-width:760px;margin-inline:auto;text-align:center;margin-bottom:56px}
.tz-root .eyebrow{display:inline-flex;align-items:center;gap:12px;
  font-size:13px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:var(--teal-text);margin-bottom:18px;}
.tz-root .eyebrow::before{content:"";width:34px;height:2px;background:var(--gold);border-radius:2px}
.tz-root .eyebrow.centered::after{content:"";width:34px;height:2px;background:var(--gold);border-radius:2px}
.tz-root .section-head h2,.tz-root .editorial-copy h2{font-size:clamp(30px,3.4vw,44px)}
.tz-root .section-head p{margin-top:14px;font-size:18px;color:var(--slate-700)}
.tz-root .on-dark .eyebrow{color:var(--turquoise)}
.tz-root .on-dark h2{color:var(--white)}
.tz-root .on-dark p{color:var(--slate-200)}
/* ---------- 5. Utility bar ---------- */
.tz-root .utility{background:linear-gradient(90deg,#0F7683 0%,#0C6673 100%);
  color:var(--white);font-size:14.5px;font-weight:500;
  position:relative;z-index:60;}
.tz-root .utility-inner{max-width:1400px;margin-inline:auto;padding:9px 28px;
  display:flex;align-items:center;gap:22px;}
.tz-root .utility a{display:inline-flex;align-items:center;gap:8px;opacity:.95;white-space:nowrap}
.tz-root .utility a:hover{opacity:1;text-decoration:underline;text-underline-offset:3px}
.tz-root .utility svg{width:15px;height:15px}
.tz-root .u-social{display:flex;gap:8px}
.tz-root .u-social a{width:28px;height:28px;border-radius:50%;
  background:rgba(6,43,57,.55);display:grid;place-items:center;}
.tz-root .u-social a:hover{background:var(--petrol)}
.tz-root .u-social svg{width:13px;height:13px}
.tz-root .u-spacer{flex:1}
.tz-root .u-trust{display:flex;gap:20px;font-weight:600;letter-spacing:.02em}
.tz-root .u-trust span{display:inline-flex;align-items:center;gap:7px}
.tz-root .u-trust svg{width:15px;height:15px;color:var(--gold-2)}
.tz-root .u-cta{background:linear-gradient(135deg,var(--gold-2),var(--gold));
  color:#20170A;font-weight:700;padding:7px 18px;border-radius:9px;}
.tz-root .u-cta:hover{filter:brightness(1.06);text-decoration:none!important}
.tz-root .u-lang{display:flex;align-items:center;gap:4px;font-weight:600}
.tz-root .u-lang a{padding:5px 12px;border-radius:8px;border:1px solid transparent}
.tz-root .u-lang a.active{background:rgba(6,43,57,.5)}
.tz-root .u-lang a:not(.active):hover{border-color:rgba(255,255,255,.4);text-decoration:none!important}
.tz-root .u-lang .ar{font-family:"Tajawal",sans-serif}
/* ---------- 6. Header / navigation ---------- */
.tz-root .header{position:sticky;top:0;z-index:50;
  background:var(--petrol);
  box-shadow:0 14px 34px -18px rgba(6,26,35,.6);
  border-bottom-left-radius:26px;border-bottom-right-radius:26px;}
.tz-root .header-inner{max-width:1400px;margin-inline:auto;padding-inline:28px;
  display:flex;align-items:center;justify-content:center;gap:6px;
  min-height:78px;}
.tz-root .brand{display:flex;align-items:center;padding-inline:20px;flex:none}
.tz-root .brand img{height:56px;width:auto}
.tz-root .brand-mobile{display:none}
.tz-root .nav{display:flex;align-items:center;gap:2px}
.tz-root .nav > li{position:relative}
.tz-root .nav > li.has-mega{position:static}
.tz-root .nav-link{display:inline-flex;align-items:center;gap:7px;
  color:#EAF3F5;font-size:16.5px;font-weight:500;letter-spacing:.01em;
  padding:28px 15px;position:relative;}
.tz-root .nav-link .chev{width:13px;height:13px;opacity:.7;transition:transform .25s}
.tz-root .nav-link::after{content:"";position:absolute;inset-inline:15px;bottom:18px;height:2px;
  background:linear-gradient(90deg,var(--turquoise),var(--gold-2));
  border-radius:2px;transform:scaleX(0);transform-origin:center;transition:transform .28s ease;}
.tz-root .nav > li:hover .nav-link::after,.tz-root .nav > li.current .nav-link::after{transform:scaleX(1)}
.tz-root .nav > li:hover .nav-link .chev{transform:rotate(180deg)}
/* dropdown (simple) */
.tz-root .drop{position:absolute;top:100%;inset-inline-start:0;min-width:250px;
  background:var(--white);border-radius:14px;padding:10px;
  box-shadow:0 30px 60px -18px rgba(6,26,35,.35);
  border:1px solid var(--line);
  opacity:0;visibility:hidden;transform:translateY(12px);
  transition:.28s ease;z-index:40;}
.tz-root .nav > li:hover > .drop,.tz-root .nav > li:focus-within > .drop{opacity:1;visibility:visible;transform:translateY(4px)}
.tz-root .drop a{display:block;padding:10px 14px;border-radius:9px;
  font-size:15.5px;color:var(--slate-700);font-weight:500;}
.tz-root .drop a:hover{background:var(--teal-ghost);color:var(--petrol)}
/* ---------- 7. Mega menu ---------- */
.tz-root .mega{position:absolute;top:100%;inset-inline-start:50%;transform:translate(-50%,12px);
  width:min(1080px,calc(100vw - 48px));
  background:var(--white);border-radius:20px;overflow:hidden;
  box-shadow:0 40px 90px -20px rgba(6,26,35,.45);
  border:1px solid var(--line);
  opacity:0;visibility:hidden;transition:.3s ease;z-index:40;}
[dir="rtl"] .tz-root .mega{transform:translate(50%,12px)}
.tz-root .nav > li:hover > .mega,.tz-root .nav > li:focus-within > .mega{opacity:1;visibility:visible;transform:translate(-50%,4px)}
[dir="rtl"] .tz-root .nav > li:hover > .mega,[dir="rtl"] .tz-root .nav > li:focus-within > .mega{transform:translate(50%,4px)}
.tz-root .mega-grid{display:grid;grid-template-columns:repeat(4,1fr) 268px}
.tz-root .mega-col{padding:30px 26px;border-inline-end:1px solid var(--line)}
.tz-root .mega-col h4{font-family:var(--font-body);font-size:13.5px;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;color:var(--teal-text);
  display:flex;align-items:center;gap:9px;margin-bottom:16px;}
.tz-root .mega-col h4::before{content:"";width:18px;height:2px;background:var(--gold);border-radius:2px}
.tz-root .mega-col a{display:block;padding:8px 10px;margin-inline:-10px;border-radius:8px;
  font-size:15.5px;font-weight:500;color:var(--slate-700);
  transition:.18s;}
.tz-root .mega-col a:hover{background:var(--teal-ghost);color:var(--petrol);padding-inline-start:16px}
.tz-root .mega-col a strong{color:var(--petrol);font-weight:600}
.tz-root .mega-col a .d{display:block;font-size:13px;color:#5E7178;font-weight:400;margin-top:1px;letter-spacing:0}
.tz-root .mega-feature{background:linear-gradient(160deg,var(--petrol) 0%,var(--petrol-deep) 100%);
  color:var(--white);padding:30px 26px;display:flex;flex-direction:column;gap:14px;
  position:relative;overflow:hidden;}
.tz-root .mega-feature::before{content:"";position:absolute;inset:0;
  background:radial-gradient(420px 260px at 110% -10%,rgba(63,193,208,.28),transparent 60%);}
.tz-root .mega-feature > *{position:relative}
.tz-root .mega-feature .shield{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;
  background:rgba(63,193,208,.14);border:1px solid rgba(63,193,208,.4);
  box-shadow:0 0 24px rgba(63,193,208,.35);}
.tz-root .mega-feature .shield svg{width:22px;height:22px;color:var(--turquoise)}
.tz-root .mega-feature h5{font-family:var(--font-display);font-size:19px;font-weight:600;line-height:1.35;color:var(--white)}
.tz-root .mega-feature p{font-size:14.5px;color:var(--slate-200);line-height:1.6}
.tz-root .mega-feature .btn{padding:11px 20px;font-size:14.5px;margin-top:auto;align-self:flex-start}
.tz-root .mega-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px 28px;background:var(--mist);border-top:1px solid var(--line);
  font-size:14.5px;font-weight:500;}
.tz-root .mega-footer a{color:var(--teal-text);font-weight:600;display:inline-flex;align-items:center;gap:7px}
.tz-root .mega-footer a:hover{color:var(--petrol)}
.tz-root .mega-footer svg{width:15px;height:15px}
[dir="rtl"] .tz-root .mega-footer svg{transform:scaleX(-1)}
/* ---------- 8. Hero ---------- */
.tz-root .hero{position:relative;color:var(--white);overflow:hidden;
  background:
    radial-gradient(1100px 620px at 78% 4%,rgba(63,193,208,.16),transparent 55%),
    radial-gradient(900px 700px at -6% 108%,rgba(26,157,173,.22),transparent 55%),
    linear-gradient(158deg,var(--petrol) 0%,var(--petrol-deep) 58%,#052430 100%);
  margin-top:-26px;padding-top:26px; /* tuck behind rounded header */}
.tz-root .hero::before{/* plume watermark */
  content:"";position:absolute;inset-inline-end:-160px;top:-120px;width:760px;height:760px;
  background:
    conic-gradient(from 210deg at 60% 42%,rgba(63,193,208,.10),transparent 24%),
    radial-gradient(closest-side,rgba(63,193,208,.07),transparent 70%);
  filter:blur(2px);pointer-events:none;}
.tz-root .hero::after{/* fine grid texture */
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:
    linear-gradient(rgba(217,225,228,.045) 1px,transparent 1px),
    linear-gradient(90deg,rgba(217,225,228,.045) 1px,transparent 1px);
  background-size:56px 56px;
  mask-image:radial-gradient(900px 620px at 70% 30%,#000 0%,transparent 75%);}
.tz-root .hero-inner{position:relative;z-index:2;
  display:grid;grid-template-columns:1.04fr .96fr;gap:64px;align-items:center;
  padding-block:88px 96px;}
/* FTA glow badge */
.tz-root .fta-badge{display:inline-flex;align-items:center;gap:11px;
  padding:12px 24px;border-radius:999px;
  background:rgba(6,43,57,.55);
  border:1px solid rgba(63,193,208,.55);
  box-shadow:0 0 0 5px rgba(63,193,208,.10),0 0 34px rgba(63,193,208,.38);
  font-size:14.5px;font-weight:600;letter-spacing:.05em;color:#DFF6F9;
  margin-bottom:30px;}
.tz-root .fta-badge svg{width:17px;height:17px;color:var(--turquoise);flex:none}
.tz-root .fta-badge .dot{width:5px;height:5px;border-radius:50%;background:var(--gold-2);flex:none}
.tz-root .hero-eyebrow{font-size:13.5px;font-weight:700;letter-spacing:.26em;text-transform:uppercase;
  color:var(--gold-2);margin-bottom:16px;}
.tz-root .hero h1{color:var(--white);
  font-size:clamp(40px,4.6vw,62px);
  line-height:1.14;font-weight:600;
  margin-bottom:24px;letter-spacing:.002em;}
.tz-root .hero-sub{font-size:18.5px;font-weight:400;color:var(--slate-200);
  max-width:560px;line-height:1.75;margin-bottom:36px;}
.tz-root .hero-sub strong{font-weight:500;color:#EAF6F8}
.tz-root .hero-ctas{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:52px}
/* hero stats */
.tz-root .hero-stats{display:flex;gap:56px;
  border-top:1px solid rgba(217,225,228,.16);
  padding-top:30px;max-width:560px;}
/* hero proof line (credential strip under CTAs) */
.tz-root .hero-proof{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;
  border-top:1px solid rgba(217,225,228,.16);
  padding-top:26px;max-width:600px;
  font-size:14.5px;font-weight:500;letter-spacing:.04em;color:var(--slate-200);}
.tz-root .hero-proof .sep{width:4px;height:4px;border-radius:50%;background:var(--gold-2);flex:none}
.tz-root .stat .num{font-family:var(--font-display);font-size:40px;font-weight:600;color:var(--white);
  line-height:1.1;}
.tz-root .stat .num em{font-style:normal;color:var(--gold-2)}
.tz-root .stat .lbl{font-size:14.5px;color:var(--slate-200);font-weight:400;margin-top:4px}
/* Showcase */
.tz-root .showcase{position:relative}
.tz-root .showcase-card{position:relative;border-radius:22px;overflow:hidden;
  background:var(--petrol-deep);
  box-shadow:var(--shadow-deep),0 0 0 1px rgba(63,193,208,.22);
  aspect-ratio:10/10.6;}
.tz-root .showcase-card::after{/* turquoise edge light */
  content:"";position:absolute;inset:0;border-radius:22px;pointer-events:none;
  box-shadow:inset 0 0 60px -30px rgba(63,193,208,.5);}
.tz-root .slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;pointer-events:none}
.tz-root .slide.active{opacity:1;pointer-events:auto}
.tz-root .slide img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.72) contrast(1.03)}
.tz-root .slide .scrim{position:absolute;inset:0;
  background:
    linear-gradient(rgba(15,92,108,.30),rgba(15,92,108,.30)),
    linear-gradient(200deg,rgba(6,43,57,.08) 30%,rgba(6,32,42,.90) 88%);}
.tz-root .slide-meta{position:absolute;inset-inline:34px;bottom:30px;z-index:2}
.tz-root .slide-meta .eyebrow{color:var(--gold-2);margin-bottom:6px;font-size:13px}
.tz-root .slide-meta .eyebrow::before{background:var(--gold-2);width:26px}
.tz-root .slide-meta h3{color:var(--white);font-size:31px;font-weight:600}
.tz-root .slide-meta .slide-note{font-size:14.5px;color:var(--slate-200);margin-top:5px;max-width:330px}
.tz-root .slide-index{position:absolute;inset-inline-end:32px;bottom:24px;z-index:1;
  font-family:var(--font-display);font-size:84px;font-weight:700;
  color:transparent;-webkit-text-stroke:1.5px rgba(217,225,228,.38);
  line-height:1;pointer-events:none;}
/* corner ticks */
.tz-root .tick{position:absolute;width:30px;height:30px;border:2px solid rgba(63,193,208,.75);z-index:2}
.tz-root .tick.tl{top:18px;inset-inline-start:18px;border-inline-end:none;border-bottom:none;border-start-start-radius:6px}
.tz-root .tick.br{bottom:18px;inset-inline-end:18px;border-inline-start:none;border-top:none;border-end-end-radius:6px}
/* controls */
.tz-root .showcase-controls{display:flex;align-items:center;gap:18px;margin-top:26px;justify-content:center;}
.tz-root .sc-arrow{width:46px;height:46px;border-radius:50%;
  border:1px solid rgba(217,225,228,.3);color:var(--white);
  display:grid;place-items:center;transition:.25s;background:rgba(255,255,255,.04);}
.tz-root .sc-arrow:hover{background:var(--turquoise);border-color:var(--turquoise);color:var(--petrol-deep)}
.tz-root .sc-arrow svg{width:17px;height:17px}
[dir="rtl"] .tz-root .sc-arrow svg{transform:scaleX(-1)}
.tz-root .sc-bars{display:flex;gap:9px;align-items:center}
.tz-root .sc-bar{width:34px;height:32px;padding:14px 0;border:none;cursor:pointer;transition:.3s;
  background:rgba(217,225,228,.45);background-clip:content-box;border-radius:3px;}
.tz-root .sc-bar.active{background:var(--gold-2);background-clip:content-box;width:52px}
/* hero wave bottom */
.tz-root .wave{display:block;width:100%;height:88px;position:relative;z-index:3;margin-top:-1px}
.tz-root .wave svg{display:block;width:100%;height:100%}
/* ---------- 9. Trust strip ---------- */
.tz-root .trust{background:var(--white);border-bottom:1px solid var(--line)}
.tz-root .trust-inner{display:flex;align-items:center;justify-content:space-between;gap:28px;
  padding-block:26px;flex-wrap:wrap;}
.tz-root .trust-item{display:flex;align-items:center;gap:12px;font-size:16.5px;font-weight:500;color:var(--slate-700)}
.tz-root .trust-item svg{width:21px;height:21px;color:var(--teal);flex:none}
.tz-root .trust-item b{color:var(--petrol);font-weight:600}
/* ---------- 10. Service cards ---------- */
.tz-root .services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.tz-root .svc-card{background:var(--white);border-radius:var(--radius);
  border-top:2px solid var(--turquoise);
  box-shadow:var(--shadow-card);
  padding:44px 36px 36px;display:flex;flex-direction:column;
  transition:transform .3s ease,box-shadow .3s ease;
  position:relative;}
.tz-root .svc-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-card-hover)}
.tz-root .svc-card .keycap{margin-inline:auto}
.tz-root .svc-card h3{font-size:26px;margin:26px 0 12px}
.tz-root .svc-card .svc-desc{font-size:16.5px;margin-bottom:18px}
.tz-root .svc-list{display:flex;flex-direction:column;gap:10px;margin-bottom:30px}
.tz-root .svc-list li{display:flex;align-items:center;gap:11px;font-size:16px}
.tz-root .svc-list svg{width:16px;height:16px;color:var(--teal);flex:none}
.tz-root .svc-card .btn{margin-top:auto;width:100%;padding:13px 20px;font-size:15.5px}
/* dimensional keycap icon */
.tz-root .keycap{width:84px;height:84px;border-radius:22px;position:relative;flex:none;
  background:linear-gradient(145deg,#37B9C8 0%,var(--teal) 42%,#0F7683 100%);
  box-shadow:
    0 16px 26px -10px rgba(26,157,173,.55),
    inset 0 2px 3px rgba(255,255,255,.45),
    inset 0 -7px 12px rgba(8,56,74,.45);
  display:grid;place-items:center;
  transform:perspective(500px) rotateX(6deg);}
.tz-root .keycap::before{content:"";position:absolute;inset:9px;border-radius:15px;
  border:1.5px solid rgba(255,255,255,.35);
  border-bottom-color:rgba(8,56,74,.35);}
.tz-root .keycap svg{width:34px;height:34px;color:#F2FBFC;position:relative;filter:drop-shadow(0 2px 3px rgba(8,56,74,.4))}
.tz-root .keycap.sm{width:64px;height:64px;border-radius:17px}
.tz-root .keycap.sm svg{width:26px;height:26px}
.tz-root .services-more{margin-top:44px;text-align:center;font-size:16.5px}
.tz-root .services-more a{color:var(--teal-text);font-weight:600;display:inline-flex;align-items:center;gap:8px}
.tz-root .services-more a:hover{color:var(--petrol)}
.tz-root .services-more svg{width:16px;height:16px}
[dir="rtl"] .tz-root .services-more svg{transform:scaleX(-1)}
/* ---------- 11. Why AL TAMAYUZ ---------- */
.tz-root .why-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:72px;align-items:center}
.tz-root .editorial-copy .eyebrow{margin-bottom:16px}
.tz-root .editorial-copy h2{margin-bottom:18px}
.tz-root .editorial-copy > p{font-size:17.5px;margin-bottom:30px;max-width:520px}
.tz-root .why-cards{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.tz-root .why-card{background:var(--mist);border-radius:var(--radius);padding:30px 26px;
  border:1px solid var(--line);
  transition:transform .3s,box-shadow .3s,background .3s;}
.tz-root .why-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-card);background:var(--white)}
.tz-root .why-card .wicon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;
  background:var(--teal-ghost);border:1px solid rgba(63,193,208,.35);margin-bottom:18px;}
.tz-root .why-card .wicon svg{width:24px;height:24px;color:var(--teal)}
.tz-root .why-card h3{font-size:20.5px;margin-bottom:8px}
.tz-root .why-card p{font-size:15.5px;line-height:1.6}
/* ---------- 12. Numbers band ---------- */
.tz-root .numbers{position:relative;color:var(--white);
  background:linear-gradient(150deg,var(--petrol) 0%,var(--petrol-deep) 70%);
  text-align:center;}
.tz-root .numbers .section-head{margin-bottom:44px}
.tz-root .numbers-grid{display:flex;justify-content:center;gap:96px;flex-wrap:wrap}
.tz-root .numbers .num{font-family:var(--font-display);font-size:64px;font-weight:700;color:var(--white);line-height:1.1;}
.tz-root .numbers .num em{font-style:normal;color:var(--gold-2)}
.tz-root .numbers .lbl{font-size:16.5px;color:var(--slate-200);margin-top:8px}
/* ---------- 13. Industries ---------- */
.tz-root .ind-editorial{display:grid;grid-template-columns:.92fr 1.08fr;gap:72px;align-items:center;margin-bottom:64px}
.tz-root .ind-figure{position:relative}
.tz-root .ind-figure img{border-radius:var(--radius);box-shadow:var(--shadow-card-hover);aspect-ratio:10/10.6;object-fit:cover;width:100%;position:relative;z-index:1}
.tz-root .ind-figure::after{content:"";position:absolute;inset:auto -16px -16px auto;width:58%;height:58%;
  border:2px solid rgba(63,193,208,.5);border-radius:var(--radius);z-index:0;}
[dir="rtl"] .tz-root .ind-figure::after{inset:auto auto -16px -16px}
.tz-root .ind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.tz-root .ind-card{background:var(--white);border-radius:var(--radius);
  border-top:2px solid var(--turquoise);
  box-shadow:var(--shadow-card);padding:30px 26px;
  transition:transform .3s,box-shadow .3s;}
.tz-root .ind-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-card-hover)}
.tz-root .ind-card h3{font-size:20.5px;margin:20px 0 8px}
.tz-root .ind-card p{font-size:15px;line-height:1.6}
/* ---------- 14. Advisory editorial ---------- */
.tz-root .adv-grid{display:grid;grid-template-columns:1fr 1fr;gap:88px;align-items:center}
.tz-root .adv-figure{position:relative;padding-block-end:96px;padding-inline-end:76px}
.tz-root .adv-figure .main{border-radius:var(--radius);box-shadow:var(--shadow-card-hover);
  aspect-ratio:10/11.4;object-fit:cover;width:100%;}
.tz-root .adv-figure .overlap{position:absolute;inset-inline-end:0;bottom:0;width:62%;
  border-radius:var(--radius);
  border:6px solid var(--white);
  box-shadow:var(--shadow-card-hover);
  aspect-ratio:10/7.4;object-fit:cover;}
.tz-root .adv-chip{position:absolute;inset-inline-start:22px;bottom:120px;z-index:2;
  display:inline-flex;align-items:center;gap:10px;
  background:rgba(6,32,42,.82);backdrop-filter:blur(6px);
  color:var(--white);font-size:14.5px;font-weight:600;
  padding:11px 18px;border-radius:11px;
  border:1px solid rgba(63,193,208,.4);}
.tz-root .adv-chip svg{width:16px;height:16px;color:var(--turquoise)}
.tz-root .adv-copy .lead{font-size:17.5px;margin-bottom:16px}
.tz-root .adv-copy .lead strong,.tz-root .adv-copy .lead b{color:var(--teal);font-weight:600}
.tz-root .adv-tags{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0 34px}
.tz-root .adv-tag{display:inline-flex;align-items:center;gap:8px;
  border:1px solid var(--slate-200);border-radius:999px;
  padding:9px 18px;font-size:15px;font-weight:500;color:var(--petrol);
  background:var(--white);}
.tz-root .adv-tag svg{width:14px;height:14px;color:var(--teal)}
.tz-root .adv-mini{display:grid;grid-template-columns:1fr 1fr;gap:22px 40px;margin-bottom:36px}
.tz-root .adv-mini h4{font-family:var(--font-display);font-size:20px;color:var(--teal-text);font-weight:600}
.tz-root .adv-mini p{font-size:15px}
/* ---------- 15. Journey ---------- */
.tz-root .journey-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;position:relative}
.tz-root .j-step{background:var(--white);border-radius:var(--radius);padding:34px 28px;
  border:1px solid var(--line);box-shadow:var(--shadow-card);
  position:relative;transition:transform .3s,box-shadow .3s;}
.tz-root .j-step:hover{transform:translateY(-6px);box-shadow:var(--shadow-card-hover)}
.tz-root .j-num{font-family:var(--font-display);font-size:44px;font-weight:700;line-height:1;
  color:transparent;-webkit-text-stroke:1.3px var(--teal);margin-bottom:16px;}
.tz-root .j-step h3{font-size:21px;margin-bottom:8px}
.tz-root .j-step p{font-size:15.5px}
.tz-root .j-step::after{content:"";position:absolute;top:50px;inset-inline-end:-26px;width:26px;height:2px;
  background:linear-gradient(90deg,var(--gold),transparent);}
[dir="rtl"] .tz-root .j-step::after{background:linear-gradient(-90deg,var(--gold),transparent)}
.tz-root .j-step:last-child::after{display:none}
/* ---------- 16. Client Center ---------- */
.tz-root .cc-panel{position:relative;border-radius:26px;overflow:hidden;color:var(--white);
  background:
    radial-gradient(700px 420px at 88% -10%,rgba(63,193,208,.25),transparent 55%),
    linear-gradient(150deg,var(--petrol) 0%,var(--petrol-deep) 75%);
  box-shadow:var(--shadow-deep);
  padding:72px 68px;}
.tz-root .cc-panel::before{content:"";position:absolute;inset:0;border-radius:26px;pointer-events:none;
  border:1px solid rgba(63,193,208,.3);
  box-shadow:inset 0 0 80px -40px rgba(63,193,208,.55);}
.tz-root .cc-head{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:end;margin-bottom:44px}
.tz-root .cc-head p{color:var(--slate-200);font-size:17px;max-width:520px}
.tz-root .cc-actions{display:flex;gap:14px;justify-content:flex-end;flex-wrap:wrap}
.tz-root .cc-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.tz-root .cc-card{background:rgba(255,255,255,.045);
  border:1px solid rgba(217,225,228,.14);
  border-radius:16px;padding:26px 22px;
  transition:.3s;
  display:flex;flex-direction:column;}
.tz-root .cc-card:hover{background:rgba(63,193,208,.12);border-color:rgba(63,193,208,.45);transform:translateY(-4px)}
.tz-root .cc-card .cicon{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;
  background:rgba(63,193,208,.14);border:1px solid rgba(63,193,208,.35);margin-bottom:16px;}
.tz-root .cc-card .cicon svg{width:22px;height:22px;color:var(--turquoise)}
.tz-root .cc-card h3{color:var(--white);font-size:18.5px;margin-bottom:6px}
.tz-root .cc-card p{font-size:14.5px;color:var(--slate-200);line-height:1.55}
.tz-root .cc-card .go{display:inline-flex;align-items:center;gap:7px;margin-top:auto;padding-top:16px;font-size:14px;font-weight:600;color:var(--turquoise)}
.tz-root .cc-card:hover .go{color:var(--gold-2)}
.tz-root .cc-card .go svg{width:14px;height:14px}
[dir="rtl"] .tz-root .cc-card .go svg{transform:scaleX(-1)}
/* ---------- 17. Testimonials ---------- */
.tz-root .t-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-bottom:34px}
.tz-root .t-video{border-radius:var(--radius);overflow:hidden;background:var(--white);
  box-shadow:var(--shadow-card);transition:transform .3s,box-shadow .3s;}
.tz-root .t-video:hover{transform:translateY(-6px);box-shadow:var(--shadow-card-hover)}
.tz-root .t-poster{position:relative;aspect-ratio:16/9.6;
  background:
    radial-gradient(320px 200px at 80% 0%,rgba(63,193,208,.3),transparent 60%),
    linear-gradient(150deg,var(--petrol) 0%,var(--petrol-deep) 80%);
  display:grid;place-items:center;overflow:hidden;}
.tz-root .t-poster img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.85}
.tz-root .t-poster::before{content:"";position:absolute;inset:0;opacity:.55;
  background:repeating-linear-gradient(115deg,rgba(217,225,228,.045) 0 1.5px,transparent 1.5px 14px);}
.tz-root .t-poster::after{content:"";position:absolute;inset:0;
  background:linear-gradient(200deg,transparent 40%,rgba(6,32,42,.85) 92%);}
.tz-root .t-play{position:relative;z-index:2;width:64px;height:64px;border-radius:50%;
  background:linear-gradient(135deg,var(--gold-2),var(--gold));
  display:grid;place-items:center;
  box-shadow:0 12px 30px -8px rgba(191,155,79,.7),0 0 0 8px rgba(191,155,79,.18);
  transition:transform .3s;}
.tz-root .t-video:hover .t-play{transform:scale(1.08)}
.tz-root .t-play svg{width:22px;height:22px;color:#20170A;margin-inline-start:3px}
/* play glyphs are never mirrored in RTL (media-control convention) */
[dir="rtl"] .tz-root .t-play svg{margin-inline-start:0;margin-inline-end:3px}
.tz-root .t-id{position:absolute;z-index:2;inset-inline-end:20px;bottom:16px;text-align:end}
.tz-root .t-id .nm{color:var(--white);font-family:var(--font-display);font-size:20px;font-weight:600}
.tz-root .t-id .rl{color:var(--slate-200);font-size:13.5px}
.tz-root .t-video-bar{display:flex;align-items:center;justify-content:space-between;
  padding:14px 20px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--teal-text);font-weight:700;}
.tz-root .t-video-bar span:last-child{color:var(--slate-700);font-weight:400;letter-spacing:.02em;text-transform:none}
.tz-root .t-quote{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-card);
  padding:44px 52px;display:grid;grid-template-columns:auto 1fr;gap:30px;align-items:center;
  border-inline-start:3px solid var(--gold);}
.tz-root .t-quote .qmark{font-family:var(--font-display);font-size:110px;line-height:.6;color:var(--gold);opacity:.85;
  transform:translateY(18px);}
.tz-root .t-quote blockquote{font-family:var(--font-display);font-size:23px;color:var(--petrol);font-weight:500;line-height:1.55}
.tz-root .t-quote cite{display:block;font-family:var(--font-body);font-style:normal;font-size:15.5px;color:var(--slate-700);margin-top:14px}
.tz-root .t-quote cite b{color:var(--petrol)}
.tz-root .t-stars{color:var(--gold);display:flex;gap:4px;margin-bottom:12px}
.tz-root .t-stars svg{width:17px;height:17px}
/* ---------- 18. Insights ---------- */
.tz-root .ins-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.tz-root .ins-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-card);
  padding:34px 30px;border-top:2px solid var(--turquoise);
  display:flex;flex-direction:column;gap:12px;
  transition:transform .3s,box-shadow .3s;}
.tz-root .ins-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-card-hover)}
.tz-root .ins-tag{font-size:13.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--teal-text)}
.tz-root .ins-card h3{font-size:21.5px;line-height:1.35}
.tz-root .ins-card p{font-size:15.5px;flex:1}
.tz-root .ins-card .go{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--teal-text);font-size:15px}
.tz-root .ins-card .go svg{width:15px;height:15px}
[dir="rtl"] .tz-root .ins-card .go svg{transform:scaleX(-1)}
.tz-root .ins-card:hover .go{color:var(--petrol)}
/* ---------- 19. FAQ ---------- */
.tz-root .faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch}
.tz-root .faq-col{display:contents}
/* flatten columns into one grid so rows align */
.tz-root .faq-item{background:var(--white);border-radius:16px;box-shadow:var(--shadow-card);
  overflow:hidden;border:1px solid transparent;transition:.3s;}
.tz-root .faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:24px 28px;text-align:start;
  font-size:17px;font-weight:600;color:var(--petrol);letter-spacing:.01em;}
.tz-root .faq-q .chev{width:34px;height:34px;border-radius:50%;background:var(--teal-ghost);
  display:grid;place-items:center;flex:none;transition:.3s;}
.tz-root .faq-q .chev svg{width:15px;height:15px;color:var(--teal);transition:.3s}
.tz-root .faq-item.open{border-color:rgba(63,193,208,.4)}
.tz-root .faq-item.open .faq-q{background:linear-gradient(120deg,#12808F 0%,var(--petrol) 140%);color:var(--white);}
.tz-root .faq-item.open .faq-q .chev{background:rgba(255,255,255,.18)}
.tz-root .faq-item.open .faq-q .chev svg{transform:rotate(180deg);color:var(--white)}
.tz-root .faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease}
.tz-root .faq-a p{padding:22px 28px;font-size:16px}
.tz-root .faq-item.open .faq-a{max-height:280px}
/* ---------- 20. CTA band ---------- */
.tz-root .cta-band{position:relative;color:var(--white);text-align:center;
  background:
    radial-gradient(700px 300px at 50% -20%,rgba(63,193,208,.35),transparent 60%),
    linear-gradient(120deg,#12889A 0%,var(--teal) 35%,var(--petrol) 100%);}
.tz-root .cta-band h2{color:var(--white);font-size:clamp(32px,3.8vw,48px);margin-bottom:16px}
.tz-root .cta-band p{font-size:18px;color:#E7F4F6;max-width:620px;margin:0 auto 36px}
.tz-root .cta-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
/* ---------- 21. Footer ---------- */
.tz-root .footer{background:var(--petrol-deep);color:var(--slate-200);position:relative}
.tz-root .footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:56px;
  padding-block:72px 48px;}
.tz-root .footer .f-logo img{height:54px;margin-bottom:22px}
.tz-root .footer .f-about{font-size:15.5px;line-height:1.7;max-width:330px}
.tz-root .footer h4{font-family:var(--font-body);color:var(--turquoise);font-size:13.5px;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;margin-bottom:22px;}
.tz-root .footer li{margin-bottom:12px}
.tz-root .footer a{font-size:15.5px;color:var(--slate-200);transition:.2s}
.tz-root .footer a:hover{color:var(--turquoise)}
.tz-root .f-contact li{display:flex;gap:12px;align-items:flex-start}
.tz-root .f-contact svg{width:17px;height:17px;color:var(--turquoise);flex:none;margin-top:4px}
.tz-root .f-taan{margin-top:20px;padding:14px 16px;border-radius:12px;font-size:13.5px;
  background:rgba(63,193,208,.08);border:1px solid rgba(63,193,208,.3);
  display:flex;gap:10px;align-items:center;}
.tz-root .f-taan svg{width:18px;height:18px;color:var(--turquoise);flex:none}
.tz-root .footer-bottom{border-top:1px solid rgba(217,225,228,.12);
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding-block:24px;font-size:14.5px;flex-wrap:wrap;}
.tz-root .footer-bottom .u-social a{background:rgba(255,255,255,.06)}
.tz-root .footer-bottom .u-social a:hover{background:var(--teal)}
/* back to top */
.tz-root .to-top{position:fixed;inset-inline-end:28px;bottom:28px;z-index:40;
  width:52px;height:52px;border-radius:50%;
  background:linear-gradient(135deg,var(--turquoise),var(--teal));
  color:var(--white);display:grid;place-items:center;
  box-shadow:0 14px 30px -8px rgba(26,157,173,.6);}
.tz-root .to-top svg{width:20px;height:20px}
/* ---------- 22. Mobile nav ---------- */
.tz-root .nav-toggle{display:none;color:var(--white);padding:10px}
.tz-root .nav-toggle svg{width:26px;height:26px}
.tz-root .mobile-nav{display:none}
/* ---------- 23. Responsive ---------- */
@media (max-width:1180px){
.tz-root .nav-link{padding-inline:10px;font-size:15.5px}
.tz-root .hero-inner{gap:44px}
.tz-root .numbers-grid{gap:72px}
}
@media (max-width:1024px){
.tz-root .nav,.tz-root .u-trust{display:none}
.tz-root .nav-toggle{display:block;position:absolute;inset-inline-end:20px}
.tz-root .header-inner{justify-content:flex-start;min-height:70px;position:relative}
.tz-root .brand{padding-inline:0}
.tz-root .brand-mobile{display:flex;align-items:center;padding-block:12px}
.tz-root .brand-mobile img{height:44px;width:auto}
.tz-root .hero-inner{grid-template-columns:1fr;padding-block:64px 72px}
.tz-root .showcase{max-width:560px;margin-inline:auto;width:100%}
.tz-root .why-grid,.tz-root .adv-grid,.tz-root .ind-editorial{grid-template-columns:1fr;gap:48px}
.tz-root .services-grid,.tz-root .t-grid,.tz-root .ins-grid{grid-template-columns:1fr 1fr}
.tz-root .ind-grid{grid-template-columns:1fr 1fr}
.tz-root .journey-grid{grid-template-columns:1fr 1fr;gap:22px}
.tz-root .j-step::after{display:none}
.tz-root .cc-grid{grid-template-columns:1fr 1fr}
.tz-root .cc-head{grid-template-columns:1fr}
.tz-root .cc-actions{justify-content:flex-start}
.tz-root .footer-grid{grid-template-columns:1fr 1fr;gap:40px}
.tz-root .mobile-nav{display:none;flex-direction:column;background:var(--petrol-deep);
    padding:18px 26px 30px;gap:2px;}
.tz-root .mobile-nav.open{display:flex}
.tz-root .mobile-nav a{color:#EAF3F5;font-size:17px;font-weight:500;padding:13px 4px;
    border-bottom:1px solid rgba(217,225,228,.08);}
.tz-root .mobile-nav .m-cta{margin-top:18px;border:none}
}
@media (max-width:680px){
.tz-root{font-size:16px}
.tz-root .container{padding-inline:20px}
.tz-root .section{padding-block:64px}
.tz-root .utility-inner{padding:8px 14px;gap:8px 12px;font-size:13px;flex-wrap:wrap;justify-content:center}
.tz-root .utility .u-mail,.tz-root .u-social{display:none}
.tz-root .u-spacer{display:none}
.tz-root .u-cta{padding:6px 14px}
.tz-root .hero h1{font-size:clamp(33px,9vw,40px)}
.tz-root .hero-sub{font-size:16.5px}
.tz-root .hero-ctas .btn{width:100%}
.tz-root .hero-stats{gap:0;justify-content:space-between}
.tz-root .stat .num{font-size:31px}
.tz-root .stat .lbl{font-size:13.5px}
.tz-root .hero-proof{font-size:13.5px;gap:8px 11px}
.tz-root .fta-badge{font-size:13.5px;padding:11px 16px;
    flex-wrap:wrap;justify-content:center;row-gap:3px;text-align:center;}
.tz-root .fta-badge .dot{display:none}
.tz-root .fta-badge .loc{width:100%;text-align:center}
.tz-root .slide .scrim{background:
      linear-gradient(rgba(15,92,108,.30),rgba(15,92,108,.30)),
      linear-gradient(200deg,rgba(6,43,57,.14) 18%,rgba(6,32,42,.94) 80%);}
.tz-root .slide-meta{inset-inline:22px;bottom:22px}
.tz-root .slide-meta h3{font-size:24px}
.tz-root .slide-index{font-size:64px}
.tz-root .services-grid,.tz-root .t-grid,.tz-root .ins-grid,.tz-root .ind-grid,.tz-root .why-cards,.tz-root .faq-grid,.tz-root .journey-grid,.tz-root .cc-grid,.tz-root .adv-mini{grid-template-columns:1fr}
.tz-root .trust-inner{flex-direction:column;align-items:flex-start;gap:14px}
.tz-root .numbers-grid{gap:40px;flex-direction:column}
.tz-root .adv-figure{padding-inline-end:36px;padding-block-end:72px}
.tz-root .adv-chip{bottom:88px;inset-inline-start:12px}
.tz-root .cc-panel{padding:44px 26px}
.tz-root .t-quote{grid-template-columns:1fr;padding:34px 28px;gap:8px}
.tz-root .t-quote .qmark{font-size:72px;transform:none}
.tz-root .t-quote blockquote{font-size:19px}
.tz-root .footer-grid{grid-template-columns:1fr;gap:36px;padding-block:56px 36px}
.tz-root .footer-bottom{flex-direction:column;text-align:center}
.tz-root .wave{height:52px}
.tz-root .section-head{margin-bottom:40px}
.tz-root .cta-actions .btn{width:100%}
.tz-root .cc-actions{width:100%}
.tz-root .cc-actions .btn{flex:1}
}
/* Static/screenshot mode */
.static-mode .tz-root .to-top{display:none}
/* Pinned mega menu (screenshot/review state) */
.pin-mega .tz-root .nav li.has-mega > .mega{opacity:1;visibility:visible;transform:translate(-50%,4px)}
[dir="rtl"] .pin-mega .tz-root .nav li.has-mega > .mega,[dir="rtl"] .pin-mega .tz-root .nav li.has-mega > .mega{transform:translate(50%,4px)}
.pin-mega .tz-root .nav li.has-mega > .nav-link::after{transform:scaleX(1)}
.pin-mega .tz-root .nav > li.current .nav-link::after{transform:scaleX(0)}
/* ---------- 24. Reveal animation (subtle, disabled if reduced motion) ---------- */
:where(html.tz-js) .tz-root .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
:where(html.tz-js) .tz-root .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
:where(html.tz-js) .tz-root .reveal{opacity:1;transform:none;transition:none}
.tz-root .slide{transition:none}
}


/* ===== v4.css ===== */
/* ==========================================================================
   AL TAMAYUZ — MASTER PUBLIC EXPERIENCE V4
   Additions layered over the approved restoration stylesheet (style.css).
   style.css is the untouched approved baseline; everything V4 lives here.
   Direction: "Confident Clarity — the complete client journey."
   ========================================================================== */
/* ---------- V4.0 Small shared pieces ---------- */
/* Maturity / truthfulness chips — used sparingly (§27 of the brief) */
.tz-root .chip-status{display:inline-flex;align-items:center;gap:6px;
  font-family:var(--font-body);
  font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  padding:4px 11px;border-radius:999px;border:1px solid;white-space:nowrap;}
.tz-root .chip-now{color:var(--teal-text);border-color:rgba(26,157,173,.45);background:rgba(63,193,208,.10)}
.tz-root .chip-soon{color:#54666D;border-color:rgba(94,113,120,.4);background:rgba(94,113,120,.08)}
/* Future chips are neutral (dashed) — gold stays reserved for actions */
.tz-root .chip-future{color:#54666D;border-color:rgba(94,113,120,.5);background:transparent;border-style:dashed}
.tz-root .on-dark .chip-now,.tz-root .cc-panel .chip-now,.tz-root .guide-panel .chip-now,.tz-root .video-modal .chip-now{color:#7FDCE8;border-color:rgba(63,193,208,.5);background:rgba(63,193,208,.12)}
.tz-root .on-dark .chip-soon,.tz-root .cc-panel .chip-soon,.tz-root .guide-panel .chip-soon,.tz-root .video-modal .chip-soon{color:#C9D4D8;border-color:rgba(217,225,228,.35);background:rgba(217,225,228,.08)}
.tz-root .on-dark .chip-future,.tz-root .cc-panel .chip-future,.tz-root .guide-panel .chip-future,.tz-root .video-modal .chip-future{color:#C9D4D8;border-color:rgba(217,225,228,.4);background:transparent}
/* Anchored sections clear the sticky header */
.tz-root{scroll-padding-top:96px}
/* Skip link */
.tz-root .skip-link{position:absolute;inset-inline-start:12px;top:-48px;z-index:200;
  background:var(--petrol);color:var(--white);font-weight:600;font-size:14.5px;
  padding:10px 18px;border-radius:0 0 10px 10px;transition:top .2s;}
.tz-root .skip-link:focus{top:0}
/* Utility bar: Client Center link */
.tz-root .u-client{display:inline-flex;align-items:center;gap:7px;font-weight:600;
  padding:9px 14px;border-radius:9px;border:1px solid rgba(255,255,255,.35);
  white-space:nowrap;min-height:36px;}
/* Keep the trust badges on one line — shed lower-priority items first */
.tz-root .u-trust span{white-space:nowrap}
.tz-root .utility a{min-height:32px}
@media (max-width:1560px){
.tz-root .utility-inner{gap:14px}
.tz-root .u-social a:nth-child(n/**/+4){display:none}
/* X + YouTube yield first */
}
@media (max-width:1330px){.tz-root .utility .u-mail{display:none}}
.tz-root .u-client:hover{background:rgba(6,43,57,.4);text-decoration:none!important}
.tz-root .u-client svg{width:14px;height:14px}
/* ---------- V4.1 "What do you need?" — guided service discovery ---------- */
.tz-root .need{position:relative}
.tz-root .need-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;
  max-width:1080px;margin-inline:auto;}
.tz-root .need-chip{display:flex;align-items:center;gap:14px;text-align:start;
  background:var(--white);border:1.5px solid var(--line);border-radius:16px;
  padding:18px 20px;cursor:pointer;width:100%;
  font-size:16px;font-weight:600;color:var(--petrol);line-height:1.35;
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background .25s ease;
  box-shadow:0 6px 18px -10px rgba(8,56,74,.14);}
.tz-root .need-chip:hover{transform:translateY(-4px);border-color:rgba(63,193,208,.55);box-shadow:var(--shadow-card)}
.tz-root .need-chip .ncap{width:46px;height:46px;border-radius:13px;flex:none;
  background:linear-gradient(145deg,#37B9C8 0%,var(--teal) 42%,#0F7683 100%);
  box-shadow:0 8px 14px -6px rgba(26,157,173,.5),inset 0 1.5px 2px rgba(255,255,255,.4),inset 0 -4px 7px rgba(8,56,74,.4);
  display:grid;place-items:center;}
.tz-root .need-chip .ncap svg{width:22px;height:22px;color:#F2FBFC;filter:drop-shadow(0 1px 2px rgba(8,56,74,.4))}
.tz-root .need-chip[aria-expanded="true"]{background:linear-gradient(120deg,#12808F 0%,var(--petrol) 130%);
  border-color:transparent;color:var(--white);
  box-shadow:0 18px 34px -14px rgba(26,157,173,.55);}
.tz-root .need-chip.is-client{border-style:dashed;border-color:rgba(191,155,79,.55)}
.tz-root .need-chip.is-client .ncap{background:linear-gradient(145deg,var(--gold-2),var(--gold) 60%,#A9863C 100%);box-shadow:0 8px 14px -6px rgba(191,155,79,.5),inset 0 1.5px 2px rgba(255,255,255,.4),inset 0 -4px 7px rgba(122,95,36,.45)}
.tz-root .need-chip.is-client[aria-expanded="true"]{background:linear-gradient(120deg,#8A6D2F 0%,#5C4718 130%)}
/* Reveal panel */
.tz-root .need-panel{display:none;
  position:relative;margin-top:26px;border-radius:20px;overflow:hidden;color:var(--white);
  background:
    radial-gradient(560px 300px at 90% -10%,rgba(63,193,208,.24),transparent 55%),
    linear-gradient(150deg,var(--petrol) 0%,var(--petrol-deep) 78%);
  border:1px solid rgba(63,193,208,.32);
  box-shadow:var(--shadow-deep), inset 0 0 60px -30px rgba(63,193,208,.4);
  padding:38px 42px;}
.tz-root .need-panel.open{display:block;animation:needIn .35s ease}
@keyframes needIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.tz-root .need-panel .np-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
.tz-root .need-panel h3{color:var(--white);font-size:27px;margin-bottom:10px}
.tz-root .need-panel p{color:var(--slate-200);font-size:16.5px;max-width:560px}
.tz-root .np-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.tz-root .np-link{display:inline-flex;align-items:center;gap:8px;
  border:1px solid rgba(217,225,228,.3);border-radius:999px;
  padding:9px 18px;font-size:14.5px;font-weight:500;color:#EAF6F8;
  transition:.2s;background:rgba(255,255,255,.04);}
.tz-root .np-link:hover{border-color:var(--turquoise);background:rgba(63,193,208,.14)}
.tz-root .np-link svg{width:14px;height:14px;color:var(--turquoise)}
.tz-root .np-ctas{display:flex;flex-direction:column;gap:12px;align-items:stretch}
.tz-root .np-ctas .btn{width:100%}
.tz-root .np-note{font-size:13.5px;color:rgba(217,225,228,.75);text-align:center}
@media (prefers-reduced-motion:reduce){.tz-root .need-panel.open{animation:none}}
/* Industry cards: relevant service pathway line (§19) */
.tz-root .ind-card .ind-path{display:block;margin-top:14px;padding-top:12px;border-top:1px solid var(--line);
  font-size:12.5px;font-weight:600;letter-spacing:.05em;color:var(--teal-text);}
/* ---------- V4.2 Journey — six steps, two rows ---------- */
.tz-root .journey-grid.six{grid-template-columns:repeat(3,1fr);row-gap:44px}
.tz-root .journey-grid.six .j-step:nth-child(3n)::after{display:none}
.tz-root .journey-grid.six .j-step:last-child::after{display:none}
.tz-root .journey-note{margin-top:40px;text-align:center;font-size:16px;color:var(--slate-700);}
.tz-root .journey-note .jn-line{display:inline-flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px 14px;
  font-weight:600;color:var(--petrol);margin-bottom:8px;}
.tz-root .journey-note .jn-line .sep{width:4px;height:4px;border-radius:50%;background:var(--gold);flex:none}
.tz-root .journey-note .jn-sub{font-size:14.5px;color:#5E7178}
/* ---------- V4.3 Client Center — two-lane gateway ---------- */
.tz-root .cc-lanes{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:26px}
.tz-root .cc-lane{border:1px solid rgba(217,225,228,.16);border-radius:16px;padding:24px 26px;
  background:rgba(255,255,255,.03);
  display:flex;flex-direction:column;gap:10px;align-items:flex-start;}
.tz-root .cc-lane .lane-tag{font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:9px;}
.tz-root .cc-lane .lane-tag::before{content:"";width:22px;height:2px;border-radius:2px;background:currentColor}
.tz-root .cc-lane.new .lane-tag{color:var(--gold-2)}
.tz-root .cc-lane.existing .lane-tag{color:var(--turquoise)}
.tz-root .cc-lane h3{color:var(--white);font-size:21px}
.tz-root .cc-lane p{color:var(--slate-200);font-size:15px;line-height:1.6}
.tz-root .cc-lane .lane-cta{margin-top:auto;padding-top:14px;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.tz-root .cc-lane .btn{padding:12px 22px;font-size:15px}
.tz-root .cc-card{position:relative}
.tz-root .cc-card .chip-status{position:static;margin-top:auto;align-self:flex-start}
.tz-root .cc-card.is-soon{cursor:default}
.tz-root .cc-card.is-soon:hover{background:rgba(255,255,255,.055);border-color:rgba(217,225,228,.2);transform:none}
.tz-root .cc-card.is-soon .cicon{opacity:.85}
.tz-root .cc-uaepass{margin-top:22px;display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  border:1px dashed rgba(217,225,228,.28);border-radius:14px;padding:16px 20px;
  font-size:14.5px;color:var(--slate-200);}
.tz-root .cc-uaepass svg{width:20px;height:20px;color:var(--turquoise);flex:none}
.tz-root .cc-uaepass b{color:var(--white);font-weight:600}
.tz-root .cc-uaepass .chip-status{margin-inline-start:auto}
/* ---------- V4.4 E-Invoicing strategic surface ---------- */
.tz-root .einv-editorial{display:grid;grid-template-columns:1.02fr .98fr;gap:64px;align-items:center;margin-bottom:56px}
.tz-root .einv-flow{position:relative;border-radius:20px;overflow:hidden;color:var(--white);
  background:
    radial-gradient(480px 300px at 85% -5%,rgba(63,193,208,.25),transparent 55%),
    linear-gradient(150deg,var(--petrol) 0%,var(--petrol-deep) 80%);
  box-shadow:var(--shadow-deep);
  border:1px solid rgba(63,193,208,.28);
  padding:36px 34px;}
.tz-root .einv-flow h3{color:var(--white);font-size:19px;margin-bottom:22px;display:flex;align-items:center;gap:10px}
.tz-root .einv-flow h3 svg{width:20px;height:20px;color:var(--turquoise)}
.tz-root .einv-steps{display:flex;flex-direction:column;gap:0}
.tz-root .einv-step{display:flex;gap:16px;align-items:flex-start;position:relative;padding-bottom:22px}
.tz-root .einv-step:last-child{padding-bottom:0}
.tz-root .einv-step::before{content:"";position:absolute;top:34px;bottom:2px;inset-inline-start:15px;width:2px;
  background:linear-gradient(rgba(63,193,208,.55),rgba(63,193,208,.08));}
.tz-root .einv-step:last-child::before{display:none}
.tz-root .einv-step .es-dot{width:32px;height:32px;border-radius:10px;flex:none;display:grid;place-items:center;
  background:rgba(63,193,208,.14);border:1px solid rgba(63,193,208,.4);}
.tz-root .einv-step .es-dot svg{width:16px;height:16px;color:var(--turquoise)}
.tz-root .einv-step b{display:block;color:var(--white);font-size:15.5px;font-weight:600}
.tz-root .einv-step span{font-size:13.5px;color:var(--slate-200);line-height:1.5;display:block;max-width:330px}
.tz-root .einv-routes{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.tz-root .route-card{background:var(--white);border-radius:var(--radius);
  border-top:2px solid var(--turquoise);
  box-shadow:var(--shadow-card);padding:32px 30px;
  display:flex;flex-direction:column;gap:12px;
  transition:transform .3s,box-shadow .3s;}
.tz-root .route-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-card-hover)}
.tz-root .route-card .rc-num{font-family:var(--font-display);font-size:38px;font-weight:700;line-height:1;
  color:transparent;-webkit-text-stroke:1.2px var(--teal);}
.tz-root .route-card h3{font-size:21px}
.tz-root .route-card p{font-size:15.5px;flex:1}
.tz-root .route-card .go{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--teal-text);font-size:15px}
.tz-root .route-card .go svg{width:15px;height:15px}
[dir="rtl"] .tz-root .route-card .go svg{transform:scaleX(-1)}
.tz-root .route-card:hover .go{color:var(--petrol)}
.tz-root .route-card .chip-status{align-self:flex-start}
.tz-root .einv-cta{margin-top:44px;text-align:center}
.tz-root .einv-cta .btn{min-width:300px}
.tz-root .einv-note{margin-top:14px;font-size:13.5px;color:#5E7178;text-align:center}
/* ---------- V4.5 Future connected operations — restrained horizon band ---------- */
.tz-root .future-panel{position:relative;border-radius:22px;overflow:hidden;
  border:1.5px solid rgba(8,56,74,.16);
  background:
    radial-gradient(640px 260px at 100% 0%,rgba(63,193,208,.10),transparent 60%),
    linear-gradient(160deg,var(--white) 30%,#EDF4F5 100%);
  padding:52px 56px;}
.tz-root .future-panel .fp-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:14px}
.tz-root .future-panel h2{font-size:clamp(26px,2.8vw,36px);max-width:560px}
.tz-root .future-panel > p{max-width:640px;font-size:16.5px;margin-bottom:30px}
.tz-root .future-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:20px 28px}
.tz-root .f-pillar{display:flex;gap:13px;align-items:flex-start}
.tz-root .f-pillar .fico{width:42px;height:42px;border-radius:12px;flex:none;display:grid;place-items:center;
  background:var(--teal-ghost);border:1px solid rgba(63,193,208,.35);}
.tz-root .f-pillar .fico svg{width:20px;height:20px;color:var(--teal)}
.tz-root .f-pillar b{display:block;font-size:15.5px;color:var(--petrol);font-weight:600}
.tz-root .f-pillar span{font-size:13.5px;color:#5E7178;line-height:1.5}
.tz-root .future-panel .fp-link{margin-top:32px;display:inline-flex;align-items:center;gap:9px;
  font-weight:600;color:var(--teal-text);font-size:15.5px;}
.tz-root .future-panel .fp-link:hover{color:var(--petrol)}
.tz-root .future-panel .fp-link svg{width:16px;height:16px}
[dir="rtl"] .tz-root .future-panel .fp-link svg{transform:scaleX(-1)}
/* ---------- V4.6 Client video stories — real playback ---------- */
.tz-root .t-poster{cursor:pointer}
.tz-root .t-poster img{filter:saturate(.78) contrast(1.02)}
.tz-root .t-poster .t-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity .4s ease;pointer-events:none;z-index:1;}
.tz-root .t-video.previewing .t-preview{opacity:1}
.tz-root .t-video.previewing .t-poster::after{background:linear-gradient(200deg,transparent 55%,rgba(6,32,42,.7) 96%)}
.tz-root .t-poster .t-mutehint{position:absolute;z-index:3;top:14px;inset-inline-start:14px;
  display:none;align-items:center;gap:7px;
  background:rgba(6,32,42,.72);border:1px solid rgba(63,193,208,.35);
  color:#DFF6F9;font-size:12.5px;font-weight:600;letter-spacing:.04em;
  padding:6px 12px;border-radius:999px;backdrop-filter:blur(4px);}
.tz-root .t-poster .t-mutehint svg{width:13px;height:13px;color:var(--turquoise)}
.tz-root .t-video.previewing .t-mutehint{display:inline-flex}
/* Modal player */
.tz-root .video-modal{position:fixed;inset:0;z-index:120;display:none;
  align-items:center;justify-content:center;padding:28px;
  background:rgba(4,22,29,.9);backdrop-filter:blur(8px);}
.tz-root .video-modal.open{display:flex}
.tz-root .vm-box{position:relative;width:min(980px,100%);
  border-radius:18px;overflow:hidden;background:var(--petrol-deep);
  box-shadow:var(--shadow-deep),0 0 0 1px rgba(63,193,208,.3);}
.tz-root .vm-box video{display:block;width:100%;max-height:74vh;background:#000}
.tz-root .vm-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px 22px;color:var(--white);}
.tz-root .vm-bar .vm-nm{font-family:var(--font-display);font-size:19px;font-weight:600}
.tz-root .vm-bar .vm-rl{font-size:13.5px;color:var(--slate-200)}
.tz-root .vm-close{position:absolute;top:14px;inset-inline-end:14px;z-index:2;
  width:44px;height:44px;border-radius:50%;
  background:rgba(6,32,42,.7);border:1px solid rgba(217,225,228,.3);
  color:var(--white);display:grid;place-items:center;transition:.25s;}
.tz-root .vm-close:hover{background:var(--turquoise);color:var(--petrol-deep);border-color:var(--turquoise)}
.tz-root .vm-close svg{width:18px;height:18px}
/* Google-sourced rating on the featured quote (evidence: Google Business profile) */
.tz-root .t-rating{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.tz-root .t-rating .t-stars{margin:0}
.tz-root .t-rating .t-src{font-size:13.5px;color:#5E7178;font-weight:500}
/* ---------- V4.7 Knowledge & tax intelligence ---------- */
.tz-root .k-featured{display:grid;grid-template-columns:1.06fr .94fr;gap:0;
  background:var(--white);border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow-card);border:1px solid var(--line);
  margin-bottom:34px;}
.tz-root .k-featured .kf-main{padding:38px 42px;display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.tz-root .k-featured .kf-tags{display:flex;gap:10px;flex-wrap:wrap}
.tz-root .k-tag-official{display:inline-flex;align-items:center;gap:7px;
  font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--teal-text);border:1px solid rgba(26,157,173,.4);border-radius:999px;padding:5px 12px;}
.tz-root .k-tag-official svg{width:13px;height:13px}
.tz-root .k-tag-class{display:inline-flex;align-items:center;
  font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:#5E7178;background:var(--mist);border-radius:999px;padding:5px 12px;border:1px solid var(--line);}
.tz-root .k-featured h3{font-size:25px;line-height:1.3}
.tz-root .k-featured .kf-sum{font-size:16px;color:var(--slate-700)}
.tz-root .k-featured .kf-cta{margin-top:auto;padding-top:10px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.tz-root .k-featured .kf-cta .btn{padding:12px 24px;font-size:15px}
.tz-root .kf-meta{background:var(--mist);
  border-inline-start:1px solid var(--line);
  padding:38px 36px;display:flex;flex-direction:column;gap:16px;}
.tz-root .kf-meta .km-row b{display:block;font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--teal-text);margin-bottom:3px;}
.tz-root .kf-meta .km-row span{font-size:15px;color:var(--petrol);font-weight:500}
.tz-root .kf-meta .km-src{margin-top:auto;display:inline-flex;align-items:center;gap:8px;
  font-size:14px;font-weight:600;color:var(--teal-text);}
.tz-root .kf-meta .km-src:hover{color:var(--petrol)}
.tz-root .kf-meta .km-src svg{width:15px;height:15px;flex:none}
.tz-root .kf-meta .km-note{font-size:12.5px;color:#5E7178;line-height:1.5}
/* ---------- V4.8 Find us — office, hours & map ---------- */
.tz-root .findus-grid{display:grid;grid-template-columns:.94fr 1.06fr;gap:34px;align-items:stretch}
.tz-root .office-card{background:var(--white);border-radius:var(--radius);
  border-top:2px solid var(--turquoise);box-shadow:var(--shadow-card);
  padding:38px 36px;display:flex;flex-direction:column;}
.tz-root .office-card .eyebrow{margin-bottom:12px}
.tz-root .office-card h2{font-size:clamp(26px,2.6vw,33px);margin-bottom:10px}
.tz-root .office-card > p{font-size:16px;margin-bottom:24px}
.tz-root .o-rows{display:flex;flex-direction:column;gap:14px;margin-bottom:24px}
.tz-root .o-row{display:flex;gap:14px;align-items:center}
.tz-root .o-row .oico{width:44px;height:44px;border-radius:12px;flex:none;display:grid;place-items:center;
  background:var(--teal-ghost);border:1px solid rgba(63,193,208,.35);}
.tz-root .o-row .oico svg{width:20px;height:20px;color:var(--teal)}
.tz-root .o-row b{display:block;font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--teal-text)}
.tz-root .o-row span,.tz-root .o-row a{font-size:15.5px;color:var(--petrol);font-weight:500}
.tz-root .o-row a:hover{color:var(--teal-text)}
.tz-root .hours{margin-bottom:26px}
.tz-root .hours .h-head{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;color:var(--teal-text);margin-bottom:12px;}
.tz-root .hours .h-head svg{width:15px;height:15px}
.tz-root .hours-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tz-root .hours-pill{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;
  background:var(--mist);border-radius:9px;padding:8px 14px;
  font-size:14px;color:var(--slate-700);}
.tz-root .hours-pill b,.tz-root .hours-pill span{white-space:nowrap}
.tz-root .hours-pill b{font-weight:600;color:var(--petrol)}
.tz-root .hours-pill.closed{background:#FBEDED;color:#A94442}
.tz-root .hours-pill.closed b{color:#A94442}
.tz-root .office-ctas{margin-top:auto;display:flex;gap:12px;flex-wrap:wrap}
.tz-root .office-ctas .btn{flex:1;min-width:180px;padding:13px 20px;font-size:15px}
.tz-root .office-online{margin-top:16px;font-size:14px;color:#5E7178;line-height:1.6;}
.tz-root .office-online svg{width:15px;height:15px;color:var(--teal);vertical-align:-3px;margin-inline-end:7px}
.tz-root .office-online a{color:var(--teal-text);font-weight:600}
.tz-root .office-online a:hover{color:var(--petrol)}
.tz-root .map-wrap{position:relative;border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow-card-hover);min-height:520px;background:var(--mist);
  border:1px solid var(--line);}
.tz-root .map-wrap iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.tz-root .map-chip{position:absolute;z-index:2;top:18px;inset-inline-start:18px;
  background:rgba(6,32,42,.85);backdrop-filter:blur(6px);
  border:1px solid rgba(63,193,208,.4);border-radius:13px;
  color:var(--white);padding:14px 18px;max-width:290px;
  box-shadow:0 14px 30px -12px rgba(6,26,35,.6);}
.tz-root .map-chip b{display:flex;align-items:center;gap:8px;font-size:14.5px;font-weight:600;margin-bottom:3px}
.tz-root .map-chip b svg{width:15px;height:15px;color:var(--turquoise);flex:none}
.tz-root .map-chip span{font-size:12.5px;color:var(--slate-200);line-height:1.5;display:block}
/* Tap-to-interact facade: the map is visible but inert until activated
   (prevents the touch scroll-trap and demos the production click-to-load pattern) */
.tz-root .map-wrap iframe{pointer-events:none}
.tz-root .map-wrap.active iframe{pointer-events:auto}
.tz-root .map-activate{position:absolute;z-index:3;inset-inline-end:16px;bottom:16px;
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(6,32,42,.85);backdrop-filter:blur(6px);
  border:1px solid rgba(63,193,208,.45);border-radius:999px;
  color:var(--white);font-size:13.5px;font-weight:600;padding:11px 18px;
  cursor:pointer;box-shadow:0 10px 24px -10px rgba(6,26,35,.6);min-height:44px;}
.tz-root .map-activate svg{width:15px;height:15px;color:var(--turquoise)}
.tz-root .map-wrap.active .map-activate{display:none}
.tz-root .map-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
  background:
    radial-gradient(400px 260px at 60% 35%,rgba(63,193,208,.16),transparent 60%),
    linear-gradient(160deg,#EBF2F3 0%,#DFE9EB 100%);
  color:#5E7178;font-size:14px;text-align:center;padding:24px;}
.tz-root .map-fallback svg{width:44px;height:44px;color:var(--teal)}
.tz-root .map-fallback b{color:var(--petrol);font-size:16px}
/* ---------- V4.9 Reusable conversion module (lead form) ---------- */
.tz-root .lead-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-card-hover);
  border-top:2px solid var(--turquoise);padding:38px 36px;position:relative;}
.tz-root .lead-card h3{font-size:23px;margin-bottom:6px}
.tz-root .lead-card .lc-sub{font-size:15px;color:#5E7178;margin-bottom:24px}
.tz-root .lead-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.tz-root .field{display:flex;flex-direction:column;gap:6px}
.tz-root .field.wide{grid-column:1/-1}
.tz-root .field label{font-size:13.5px;font-weight:600;color:var(--petrol);letter-spacing:.02em}
.tz-root .field input,.tz-root .field select,.tz-root .field textarea{font:inherit;font-size:15.5px;color:var(--petrol);
  border:1.5px solid rgba(8,56,74,.18);border-radius:11px;
  padding:12px 15px;background:var(--white);width:100%;
  transition:border-color .2s, box-shadow .2s;}
.tz-root .field textarea{min-height:104px;resize:vertical}
.tz-root .field input:focus,.tz-root .field select:focus,.tz-root .field textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 4px rgba(63,193,208,.18);}
.tz-root .field input::placeholder,.tz-root .field textarea::placeholder{color:#93A6AC}
.tz-root .lead-card .btn{width:100%;margin-top:20px}
.tz-root .lead-privacy{margin-top:12px;font-size:12.5px;color:#5E7178;text-align:center}
/* Confirmation state */
.tz-root .form-ok{display:none;position:absolute;inset:0;z-index:3;border-radius:inherit;
  background:var(--white);
  flex-direction:column;align-items:center;justify-content:center;gap:14px;
  text-align:center;padding:40px;}
.tz-root .lead-card.submitted .form-ok{display:flex}
.tz-root .form-ok .ok-ico{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;
  background:var(--teal-ghost);border:1.5px solid rgba(63,193,208,.5);
  box-shadow:0 0 34px rgba(63,193,208,.3);}
.tz-root .form-ok .ok-ico svg{width:34px;height:34px;color:var(--teal)}
.tz-root .form-ok h3{font-size:24px}
.tz-root .form-ok p{font-size:15.5px;color:var(--slate-700);max-width:380px}
.tz-root .form-ok .ok-next{display:flex;flex-direction:column;gap:8px;margin-top:6px;
  font-size:14px;color:var(--slate-700);text-align:start;}
.tz-root .form-ok .ok-next span{display:flex;gap:9px;align-items:center}
.tz-root .form-ok .ok-next svg{width:15px;height:15px;color:var(--teal);flex:none}
/* ---------- V4.10 AI Guide — designed now, activated later ---------- */
.tz-root .guide-fab{position:fixed;z-index:110;inset-inline-start:26px;bottom:26px;
  display:flex;align-items:center;gap:12px;}
.tz-root .guide-fab .gf-btn{width:58px;height:58px;border-radius:50%;position:relative;
  background:linear-gradient(150deg,var(--petrol) 0%,var(--petrol-deep) 90%);
  border:1.5px solid rgba(63,193,208,.55);
  box-shadow:0 14px 30px -10px rgba(6,26,35,.6),0 0 26px rgba(63,193,208,.35);
  display:grid;place-items:center;color:var(--turquoise);
  transition:transform .25s ease, box-shadow .25s ease;}
.tz-root .guide-fab .gf-btn:hover{transform:translateY(-3px);box-shadow:0 18px 36px -12px rgba(6,26,35,.65),0 0 34px rgba(63,193,208,.5)}
.tz-root .guide-fab .gf-btn svg{width:26px;height:26px}
.tz-root .guide-fab .gf-hint{background:var(--white);color:var(--petrol);font-size:13.5px;font-weight:600;
  border:1px solid var(--line);border-radius:999px;padding:8px 16px;
  box-shadow:var(--shadow-card);white-space:nowrap;}
.guide-open .tz-root .guide-fab .gf-hint{display:none}
.tz-root .guide-panel{position:fixed;z-index:111;inset-inline-start:26px;bottom:98px;
  width:min(372px,calc(100vw - 40px));
  border-radius:20px;overflow:hidden;color:var(--white);
  background:
    radial-gradient(420px 220px at 100% -8%,rgba(63,193,208,.26),transparent 60%),
    linear-gradient(160deg,var(--petrol) 0%,var(--petrol-deep) 82%);
  border:1px solid rgba(63,193,208,.38);
  box-shadow:var(--shadow-deep),0 0 44px -8px rgba(63,193,208,.3);
  display:none;flex-direction:column;}
.guide-open .tz-root .guide-panel{display:flex;animation:needIn .3s ease}
.tz-root .gp-head{display:flex;align-items:center;gap:12px;padding:18px 20px 14px;
  border-bottom:1px solid rgba(217,225,228,.12);}
.tz-root .gp-avatar{width:44px;height:44px;border-radius:14px;flex:none;position:relative;
  background:linear-gradient(145deg,#37B9C8 0%,var(--teal) 42%,#0F7683 100%);
  box-shadow:0 8px 14px -6px rgba(26,157,173,.5),inset 0 1.5px 2px rgba(255,255,255,.4),inset 0 -4px 7px rgba(8,56,74,.4);
  display:grid;place-items:center;}
.tz-root .gp-avatar svg{width:23px;height:23px;color:#F2FBFC}
.tz-root .g-speaking .gp-avatar::after,.tz-root .g-listening .gp-avatar::after{content:"";position:absolute;inset:-5px;border-radius:18px;
  border:1.5px solid rgba(63,193,208,.6);
  animation:gPulse 1.6s ease-out infinite;}
@keyframes gPulse{0%{opacity:.9;transform:scale(.94)}100%{opacity:0;transform:scale(1.18)}}
.tz-root .gp-id b{display:block;font-family:var(--font-display);font-size:16.5px;font-weight:600}
.tz-root .gp-id span{font-size:12px;color:var(--slate-200);letter-spacing:.04em}
.tz-root .gp-tools{margin-inline-start:auto;display:flex;gap:6px}
.tz-root .gp-tools button{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;
  border:1px solid rgba(217,225,228,.2);color:var(--slate-200);transition:.2s;}
.tz-root .gp-tools button:hover{border-color:var(--turquoise);color:var(--turquoise)}
.tz-root .gp-tools button.on{background:rgba(63,193,208,.16);border-color:rgba(63,193,208,.5);color:var(--turquoise)}
.tz-root .gp-tools svg{width:15px;height:15px}
.tz-root .gp-body{padding:18px 20px;display:flex;flex-direction:column;gap:14px;max-height:380px;overflow-y:auto}
.tz-root .gp-msg{font-size:14.5px;line-height:1.6;color:var(--slate-200);
  background:rgba(255,255,255,.05);border:1px solid rgba(217,225,228,.12);
  border-radius:13px;border-start-start-radius:4px;padding:12px 15px;max-width:92%;}
.tz-root .gp-msg.user{align-self:flex-end;background:rgba(63,193,208,.13);border-color:rgba(63,193,208,.35);
  border-radius:13px;border-end-end-radius:4px;color:#EAF6F8;}
.tz-root .gp-chips{display:flex;flex-wrap:wrap;gap:8px}
.tz-root .gp-chip{border:1px solid rgba(217,225,228,.3);border-radius:999px;
  padding:8px 15px;font-size:13.5px;font-weight:500;color:#EAF6F8;
  transition:.2s;background:rgba(255,255,255,.04);cursor:pointer;}
.tz-root .gp-chip:hover{border-color:var(--turquoise);background:rgba(63,193,208,.14)}
/* Voice visual */
.tz-root .gp-voice{display:none;align-items:center;justify-content:center;gap:4px;height:46px;
  border:1px solid rgba(217,225,228,.14);border-radius:13px;background:rgba(255,255,255,.04);}
.tz-root .g-speaking .gp-voice,.tz-root .g-listening .gp-voice,.tz-root .g-muted .gp-voice{display:flex}
.tz-root .gp-voice i{width:3.5px;border-radius:3px;background:var(--turquoise);height:10px;
  animation:gBar 1.1s ease-in-out infinite;}
.tz-root .gp-voice i:nth-child(2){animation-delay:.12s;height:20px}
.tz-root .gp-voice i:nth-child(3){animation-delay:.24s;height:28px}
.tz-root .gp-voice i:nth-child(4){animation-delay:.36s;height:18px}
.tz-root .gp-voice i:nth-child(5){animation-delay:.48s;height:24px}
.tz-root .gp-voice i:nth-child(6){animation-delay:.6s;height:12px}
@keyframes gBar{0%,100%{transform:scaleY(.5)}50%{transform:scaleY(1.25)}}
.tz-root .g-listening .gp-voice i{background:var(--gold-2)}
.tz-root .g-muted .gp-voice i{animation:none;background:rgba(217,225,228,.35);transform:scaleY(.5)}
.tz-root .gp-state-lbl{display:none;font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--slate-200);text-align:center;font-weight:600;}
.tz-root .g-speaking .gp-state-lbl.s,.tz-root .g-listening .gp-state-lbl.l,.tz-root .g-muted .gp-state-lbl.m{display:block}
.tz-root .gp-foot{padding:12px 20px 16px;border-top:1px solid rgba(217,225,228,.12);
  font-size:11.5px;line-height:1.55;color:rgba(217,225,228,.7);}
.tz-root .gp-foot b{color:var(--slate-200);font-weight:600}
/* Prototype-only state switcher */
.tz-root .gp-demo{display:none;gap:6px;padding:10px 20px;background:rgba(6,32,42,.5);
  border-top:1px dashed rgba(217,225,228,.25);flex-wrap:wrap;align-items:center;
  font-size:11px;color:rgba(217,225,228,.6);letter-spacing:.08em;text-transform:uppercase;}
.demo-mode .tz-root .gp-demo{display:flex}
.tz-root .gp-demo button{border:1px solid rgba(217,225,228,.3);border-radius:7px;padding:4px 10px;
  font-size:11px;color:var(--slate-200);cursor:pointer;}
.tz-root .gp-demo button.on{background:rgba(63,193,208,.2);border-color:var(--turquoise);color:var(--turquoise)}
@media (prefers-reduced-motion:reduce){
.tz-root .gp-voice i{animation:none}
.tz-root .g-speaking .gp-avatar::after,.tz-root .g-listening .gp-avatar::after{animation:none;opacity:.5}
.guide-open .tz-root .guide-panel{animation:none}
}
/* ---------- V4.11 Sub-page shells ---------- */
.tz-root .page-hero{position:relative;color:var(--white);overflow:hidden;
  background:
    radial-gradient(900px 420px at 82% 0%,rgba(63,193,208,.18),transparent 55%),
    linear-gradient(158deg,var(--petrol) 0%,var(--petrol-deep) 70%);
  margin-top:-26px;padding-top:26px;}
.tz-root .page-hero .ph-inner{position:relative;z-index:2;padding-block:64px 72px;max-width:820px}
.tz-root .breadcrumb{display:flex;align-items:center;gap:9px;flex-wrap:wrap;
  font-size:13.5px;color:var(--slate-200);margin-bottom:22px;font-weight:500;}
.tz-root .breadcrumb a{color:var(--slate-200)}
.tz-root .breadcrumb a:hover{color:var(--turquoise)}
.tz-root .breadcrumb svg{width:12px;height:12px;opacity:.6}
[dir="rtl"] .tz-root .breadcrumb svg{transform:scaleX(-1)}
.tz-root .page-hero h1{color:var(--white);font-size:clamp(34px,4vw,52px);line-height:1.16;margin-bottom:16px}
.tz-root .page-hero .ph-sub{font-size:17.5px;color:var(--slate-200);max-width:640px;line-height:1.7;margin-bottom:28px}
.tz-root .page-hero .hero-proof{margin-top:6px}
.tz-root .page-hero .hero-ctas{margin-bottom:0}
/* Campaign hero variant: content + form side by side */
.tz-root .campaign-hero .ph-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;
  gap:56px;align-items:center;padding-block:64px 84px;}
.tz-root .campaign-hero .ph-inner{padding-block:0;max-width:none}
/* Service page: included list */
.tz-root .inc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.tz-root .inc-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-card);
  border:1px solid var(--line);padding:28px 26px;
  display:flex;flex-direction:column;gap:9px;}
.tz-root .inc-card .iico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;
  background:var(--teal-ghost);border:1px solid rgba(63,193,208,.35);margin-bottom:6px;}
.tz-root .inc-card .iico svg{width:21px;height:21px;color:var(--teal)}
.tz-root .inc-card h3{font-size:19.5px}
.tz-root .inc-card p{font-size:15px;line-height:1.6}
/* Related services strip */
.tz-root .rel-strip{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.tz-root .rel-strip .np-link{border-color:var(--slate-200);color:var(--petrol);background:var(--white)}
.tz-root .rel-strip .np-link:hover{border-color:var(--teal);background:var(--teal-ghost)}
.tz-root .rel-strip .np-link svg{color:var(--teal)}
/* Knowledge hub page */
.tz-root .k-filters{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:44px}
.tz-root .k-filter{border:1.5px solid var(--line);border-radius:999px;padding:9px 20px;
  font-size:14.5px;font-weight:600;color:var(--slate-700);cursor:pointer;transition:.2s;background:var(--white);}
.tz-root .k-filter:hover{border-color:rgba(63,193,208,.55);color:var(--petrol)}
.tz-root .k-filter.on{background:linear-gradient(120deg,#12808F 0%,var(--petrol) 140%);color:var(--white);border-color:transparent}
.tz-root .k-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.tz-root .k-card{background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow-card);
  border-top:2px solid var(--turquoise);padding:30px 28px;
  display:flex;flex-direction:column;gap:11px;
  transition:transform .3s,box-shadow .3s;}
.tz-root .k-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-card-hover)}
.tz-root .k-card .kc-tags{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.tz-root .k-card h3{font-size:20px;line-height:1.35}
.tz-root .k-card .kc-ref{font-size:13px;color:#5E7178;font-weight:500}
.tz-root .k-card p{font-size:15px;flex:1}
.tz-root .k-card .kc-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;
  border-top:1px solid var(--line);padding-top:14px;}
.tz-root .k-card .kc-date{font-size:12.5px;color:#5E7178}
.tz-root .k-card .go{display:inline-flex;align-items:center;gap:7px;font-weight:600;color:var(--teal-text);font-size:14px}
.tz-root .k-card .go svg{width:14px;height:14px}
[dir="rtl"] .tz-root .k-card .go svg{transform:scaleX(-1)}
.tz-root .affect-band{margin-top:52px;border-radius:20px;text-align:center;color:var(--white);
  background:
    radial-gradient(600px 260px at 50% -20%,rgba(63,193,208,.3),transparent 60%),
    linear-gradient(120deg,#12889A 0%,var(--teal) 35%,var(--petrol) 100%);
  padding:48px 40px;}
.tz-root .affect-band h2{color:var(--white);font-size:clamp(24px,2.8vw,34px);margin-bottom:10px}
.tz-root .affect-band p{color:#E7F4F6;font-size:16px;max-width:560px;margin:0 auto 26px}
/* ---------- V4.12 Footer V4 (5-column safety net) ---------- */
.tz-root .footer-grid.v4{grid-template-columns:1.3fr .95fr .9fr 1fr 1.1fr;gap:44px}
.tz-root .footer .f-lang{display:flex;gap:6px;margin-top:18px}
.tz-root .footer .f-lang a{font-size:13.5px;font-weight:600;padding:5px 13px;border-radius:8px;
  border:1px solid rgba(217,225,228,.25);}
.tz-root .footer .f-lang a.active{background:rgba(63,193,208,.14);border-color:rgba(63,193,208,.45);color:var(--turquoise)}
.tz-root .footer .f-legal{display:flex;gap:18px;flex-wrap:wrap}
.tz-root .footer .f-legal a{font-size:14px;color:rgba(217,225,228,.75)}
.tz-root .footer .f-legal a:hover{color:var(--turquoise)}
/* ---------- V4.13 Responsive ---------- */
@media (max-width:1180px){
.tz-root .need-grid{grid-template-columns:repeat(2,1fr)}
.tz-root .future-pillars{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:1024px){
.tz-root .einv-editorial{grid-template-columns:1fr;gap:44px}
.tz-root .einv-routes,.tz-root .inc-grid,.tz-root .k-grid{grid-template-columns:1fr 1fr}
.tz-root .findus-grid{grid-template-columns:1fr}
.tz-root .map-wrap{min-height:420px}
.tz-root .k-featured{grid-template-columns:1fr}
.tz-root .kf-meta{border-inline-start:none;border-top:1px solid var(--line)}
.tz-root .cc-lanes{grid-template-columns:1fr}
.tz-root .journey-grid.six{grid-template-columns:1fr 1fr}
.tz-root .journey-grid.six .j-step:nth-child(3n)::after{display:block}
.tz-root .journey-grid.six .j-step:nth-child(2n)::after{display:none}
.tz-root .campaign-hero .ph-grid{grid-template-columns:1fr;gap:44px}
.tz-root .footer-grid.v4{grid-template-columns:1fr 1fr}
}
@media (max-width:680px){
.tz-root .need-grid{grid-template-columns:1fr}
.tz-root .need-chip{padding:15px 16px}
.tz-root .need-panel{padding:28px 22px}
.tz-root .need-panel .np-grid{grid-template-columns:1fr;gap:26px}
.tz-root .journey-grid.six{grid-template-columns:1fr}
.tz-root .journey-grid.six .j-step::after{display:none!important}
.tz-root .einv-routes,.tz-root .inc-grid,.tz-root .k-grid{grid-template-columns:1fr}
.tz-root .einv-flow{padding:28px 22px}
.tz-root .future-panel{padding:36px 24px}
.tz-root .future-pillars{grid-template-columns:1fr}
.tz-root .cc-lane .lane-cta{width:100%}
.tz-root .cc-lane .btn{flex:1}
.tz-root .cc-uaepass .chip-status{margin-inline-start:0}
.tz-root .office-card{padding:30px 24px}
.tz-root .hours-grid{grid-template-columns:1fr}
.tz-root .office-ctas{flex-direction:column}
.tz-root .map-wrap{min-height:340px}
.tz-root .map-chip{position:static;margin:14px;max-width:none}
.tz-root .lead-grid{grid-template-columns:1fr}
.tz-root .guide-fab{inset-inline-start:16px;bottom:16px}
.tz-root .guide-fab .gf-hint{display:none}
.tz-root .guide-panel{inset-inline:12px;bottom:86px;width:auto;}
.tz-root .gp-body{max-height:46vh}
.tz-root .video-modal{padding:12px}
.tz-root .vm-bar{padding:12px 16px}
.tz-root .footer-grid.v4{grid-template-columns:1fr}
.tz-root .k-filters{gap:8px}
.tz-root .k-filter{padding:8px 15px;font-size:13.5px}
}
/* ---------- V4.14 Shared utility / variant classes (replace one-off inline styles) ---------- */
.tz-root .copy-lg{font-size:17px;margin-bottom:18px}
.tz-root .copy-muted{font-size:16px;color:#54666D}
.tz-root .footer--compact .footer-bottom{border-top:none;padding-block:34px}
.tz-root .faq-grid--single{grid-template-columns:1fr;max-width:760px;margin-inline:auto}
.tz-root .hero-proof--bare{border-top:none;padding-top:0}
.tz-root .section--tight{padding-block:72px}
.tz-root .section--gap64{padding-block:64px}
/* Homepage lead form inside the CTA band */
.tz-root .cta-band .lead-card{max-width:720px;margin:0 auto;text-align:start}
.tz-root .cta-band .lead-card p{color:#54666D;font-size:15px;max-width:none;margin:0}
.tz-root .cta-band .lead-card .lc-sub{margin-bottom:24px}
.tz-root .cta-band .lead-card .lead-privacy{margin-top:12px;font-size:12.5px;text-align:center}
.tz-root .cta-band .lead-card .form-ok p{color:var(--slate-700);font-size:15.5px}
.tz-root .cta-band .lead-card label{color:var(--petrol)}
.tz-root .cta-band .cta-form-note{margin-top:22px;font-size:15px;color:#E7F4F6}
.tz-root .cta-band .cta-form-note a{color:var(--white);font-weight:600;text-decoration:underline;text-underline-offset:3px}
/* Editorial imagery: unify under the brand grade (calms off-palette/AI-toned photos) */
.tz-root .adv-figure img,.tz-root .ind-figure img{filter:saturate(.68) contrast(1.02)}
.tz-root .ind-figure .grade{position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:var(--radius);
  background:linear-gradient(rgba(15,92,108,.14),rgba(15,92,108,.14));
  mix-blend-mode:multiply;}
/* Featured label on the knowledge featured card (persists across filters by design) */
.tz-root .kf-flag{display:inline-flex;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold);border:1px solid rgba(191,155,79,.45);border-radius:999px;padding:4px 11px;}
/* Back-to-top appears only after meaningful scroll */
.tz-root .to-top{opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.tz-root .to-top.show{opacity:1;visibility:visible}
.static-mode .tz-root .to-top{opacity:1;visibility:visible}
.guide-open .tz-root .to-top{opacity:0;visibility:hidden}
/* Knowledge card official-source link */
.tz-root .kc-src{display:inline-flex;align-items:center;gap:6px;
  font-size:13px;font-weight:600;color:var(--teal-text);margin-top:-2px;}
.tz-root .kc-src svg{width:13px;height:13px;flex:none}
.tz-root .kc-src:hover{color:var(--petrol)}
@media (max-width:680px){
.tz-root .ind-grid{grid-template-columns:1fr 1fr!important;gap:14px}
.tz-root .ind-card{padding:22px 18px}
.tz-root .ind-card h3{font-size:18px}
.tz-root .ind-card p{font-size:13.5px}
.tz-root .ind-card .ind-path{font-size:11.5px}
.tz-root .u-lang a{padding:8px 12px}
.tz-root .need-panel{scroll-margin-top:120px}
}
/* Static/screenshot helpers */
.static-mode .tz-root .guide-fab{display:none}
.static-mode.guide-shot .tz-root .guide-fab{display:flex}


/* ===== site.css ===== */
/* =====================================================================
   AL TAMAYUZ — site.css  ·  full-site expansion components
   Loads AFTER style.css (approved baseline, read-only) and v4.css (approved
   V4 additions, read-only). Tokens come from style.css — never add hexes here.

   §A  SHELL  (Task A: smart header, mobile nav groups, guide slot, subnav)
   §B+ PAGE COMPONENTS — page agents append their own sections BELOW §A,
       each headed "/* ---- <page/component> ---- */.tz-root "[bad string]

   ===================================================================== */

/* ---------- §A.1 Smart header (hide on scroll down, reveal on scroll up) ---------- */
.header{transition:transform .3s ease,box-shadow .3s ease;will-change:transform}
.tz-root .header.hdr-hidden{transform:translateY(-110%);box-shadow:none}
.static-mode .tz-root .header.hdr-hidden{transform:none}
@media (prefers-reduced-motion:reduce){.tz-root .header{transition:none}}
/* ---------- §A.2 Mobile nav: scroll inside the sticky header + grouped services ---------- */
@media (max-width:1024px){
.tz-root .mobile-nav{max-height:calc(100vh - 70px);max-height:calc(100dvh - 70px);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.tz-root .mobile-nav .m-group{display:block;margin-top:22px;padding:6px 4px 8px;
    font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
    color:var(--turquoise);border-bottom:1px solid rgba(63,193,208,.28);}
.tz-root .mobile-nav a.m-sub{font-size:15.5px;font-weight:400;padding:11px 4px 11px 14px;color:var(--slate-200)}
[dir="rtl"] .tz-root .mobile-nav a.m-sub{padding:11px 14px 11px 4px}
.tz-root .mobile-nav a.m-sub:hover{color:var(--white)}
}
/* ---------- §A.3 Utility bar: trust pills are links now (route to about#fta) ---------- */
.tz-root .u-trust a{display:inline-flex;align-items:center;gap:7px;font-weight:600;letter-spacing:.02em;white-space:nowrap}
.tz-root .u-trust a svg{color:var(--gold-2)}
/* ---------- §A.4 Guide slot (reserved AI Guide FAB — COMING SOON preview) ---------- */
.tz-root .guide-panel .gp-chip-status{align-self:flex-start}
/* ---------- §A.5 In-page subnav highlighting (site.js adds .on to the link in view) ---------- */
.tz-root .subnav a.on{color:var(--teal-text);font-weight:600}
.tz-root .subnav a.on::after{transform:scaleX(1)}
/* ---------- §A.6 Tabs (site.js toggles aria-selected / .on / hidden) ---------- */
.tz-root .tabs [role="tabpanel"][hidden]{display:none}
/* ===================================================================== */
/* §B+  PAGE COMPONENTS — append below this line                          */
/* ===================================================================== */
/* ===================================================================== */
/* §B  COMPONENT SYSTEM (Task B) — the expansion component library         */
/*     Extends style.css + v4.css. Never redefines a baseline token or a   */
/*     baseline component. Full usage doc: docs/12_GLOBAL_COMPONENT_LIBRARY.md */
/*     Conventions: short lowercase hyphenated names · logical properties · */
/*     the only [dir="rtl"] rules are glyph flips + letter-spacing resets  */
/*     (Arabic has no tracking) · breakpoints 1180 / 1024 / 680 like the   */
/*     baselines · states are class-driven (.open / .on / [aria-expanded]) */
/* ===================================================================== */
/* ---- B.0 Layer tokens (new names only; every value is derived from the baselines' own literals) ---- */
:root{--muted:#5E7178;                 /* secondary grey the baselines use inline (.kc-ref, .einv-note …) */
  --hint:#5E7178;                  /* hint grey — same literal as --muted (the live .tzh-fta-hint #7B8B91 fails AA on white) */
  --dash:#93A6AC;                  /* placeholder / dash grey (baseline ::placeholder) */
  --gold-ink:#A9863C;              /* dark gold — the .btn-gold gradient end, AA on white */
  --warm-ink:#8A6D2F;              /* warm-neutral text/marker ink (v4 .need-chip.is-client gradient) */
  --warm-ghost:rgba(191,155,79,.12);
  --warm-line:rgba(169,134,60,.45);
  --teal-deep:#12808F;             /* baseline teal-gradient start (.btn-teal, .faq-item.open) */
  --ice:#DFF6F9;                   /* baseline .fta-badge text */
  --ice-2:#F2FBFC;                 /* baseline keycap glyph */
  --tint-1:#E9F3F5;                /* ported: .tzh-section-tint */
  --tint-2:#DDEBEF;
  --sticky-top:78px;               /* header min-height; subnav / anchors offset from it */
  --teal-grad:linear-gradient(120deg,var(--teal-deep) 0%,var(--petrol) 130%);
  --tint-grad:linear-gradient(180deg,var(--tint-1) 0%,var(--tint-2) 100%);
  --glass:rgba(255,255,255,.05);
  --glass-line:rgba(217,225,228,.16);}
@media (max-width:1024px){:root{--sticky-top:70px}}
/* Generic glyph flip: any <svg class="arrow"> mirrors in RTL (baseline only covered .btn) */
[dir="rtl"] .tz-root svg.arrow{transform:scaleX(-1)}
/* Visually hidden (table cell meanings, icon-only labels) */
.tz-root .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* ---- B.1 Section-level helpers ---- */
.tz-root .section-tint{background:var(--tint-grad)}
.tz-root .section--pt0{padding-block-start:0}
.tz-root .section--pb0{padding-block-end:0}
.tz-root .section-head.start{text-align:start;margin-inline:0;max-width:720px}
.tz-root .section-head.start .eyebrow.centered::after{display:none}
.tz-root .section-head .sh-cta{margin-top:22px}
.tz-root .section-head.tight{margin-bottom:28px}
/* Generic gap grids — collapse 4→2→1, 3→2→1, 2→1 */
.tz-root .grid-2,.tz-root .grid-3,.tz-root .grid-4{display:grid;gap:26px}
.tz-root .grid-2{grid-template-columns:repeat(2,1fr)}
.tz-root .grid-3{grid-template-columns:repeat(3,1fr)}
.tz-root .grid-4{grid-template-columns:repeat(4,1fr)}
.tz-root .grid-2.tight,.tz-root .grid-3.tight,.tz-root .grid-4.tight{gap:18px}
.tz-root .grid-2.top,.tz-root .grid-3.top,.tz-root .grid-4.top{align-items:start}
.tz-root .mt-44{margin-top:44px}.tz-root .mt-56{margin-top:56px}.tz-root .mt-34{margin-top:34px}.tz-root .mt-18{margin-top:18px}
/* Wave divider variants — one organic curve; the fill is set in CSS so page
   authors keep ONE svg and switch class. .top flips it for a top edge. */
.tz-root .wave.mist svg path{fill:var(--mist)}
.tz-root .wave.tint svg path{fill:var(--tint-2)}
.tz-root .wave.white svg path{fill:var(--white)}
.tz-root .wave.petrol svg path{fill:var(--petrol)}
.tz-root .wave.top{transform:scaleY(-1);margin-top:0;margin-bottom:-1px}
/* Page-hero refinements (v4 .page-hero untouched; additive) */
.tz-root .page-hero .hero-ctas + .hero-proof{margin-top:32px}
.tz-root .page-hero .fta-wrap{margin-bottom:28px}
.tz-root .page-hero.split .ph-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;
  gap:56px;align-items:center;padding-block:64px 80px;}
.tz-root .page-hero.split .ph-inner{padding-block:0;max-width:none}
.tz-root .page-hero .ph-inner > h2.as-h1{color:var(--white);font-size:clamp(34px,4vw,52px);line-height:1.16;margin-bottom:16px}
/* ---- B.2 .hero-figure — sub-page hero image column ---- */
.tz-root .hero-figure{position:relative;border-radius:22px;overflow:hidden;
  background:var(--petrol-deep);aspect-ratio:10/8.6;
  box-shadow:var(--shadow-deep),0 0 0 1px rgba(63,193,208,.22);}
.tz-root .hero-figure img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.72) contrast(1.03)}
.tz-root .hero-figure .scrim{position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(rgba(15,92,108,.28),rgba(15,92,108,.28)),
    linear-gradient(200deg,rgba(6,43,57,.06) 30%,rgba(6,32,42,.82) 90%);}
.tz-root .hero-figure::after{content:"";position:absolute;inset:0;border-radius:22px;pointer-events:none;
  box-shadow:inset 0 0 60px -30px rgba(63,193,208,.5);}
.tz-root .hero-figure .hf-meta{position:absolute;inset-inline:30px;bottom:26px;z-index:2}
.tz-root .hero-figure .hf-meta .eyebrow{color:var(--gold-2);margin-bottom:6px;font-size:12.5px}
.tz-root .hero-figure .hf-meta .eyebrow::before{background:var(--gold-2);width:26px}
.tz-root .hero-figure .hf-meta h3,.tz-root .hero-figure .hf-meta b{color:var(--white);font-family:var(--font-display);font-size:24px;font-weight:600;display:block}
.tz-root .hero-figure .hf-meta span{font-size:14px;color:var(--slate-200);display:block;margin-top:4px;max-width:340px}
.tz-root .hero-figure.glass{/* no photo available: petrol glass composition instead */
  display:flex;align-items:flex-end;aspect-ratio:10/7.4;
  background:
    radial-gradient(520px 320px at 85% -5%,rgba(63,193,208,.28),transparent 55%),
    linear-gradient(150deg,var(--petrol) 0%,var(--petrol-deep) 80%);}
.tz-root .hero-figure.glass .hf-meta{position:static;padding:34px 30px}
/* ---- B.3 .trust-ribbon — compact credential strip ---- */
.tz-root .trust-ribbon{background:var(--white);border-block:1px solid var(--line)}
.tz-root .trust-ribbon.mist{background:var(--mist)}
.tz-root .trust-ribbon.bare{border:none}
.tz-root .trust-ribbon .tr-inner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;
  gap:12px 40px;padding-block:18px;}
.tz-root .trust-ribbon .tr-item{display:inline-flex;align-items:center;gap:10px;
  font-size:14.5px;font-weight:600;color:var(--petrol);letter-spacing:.02em;white-space:nowrap;}
.tz-root .trust-ribbon .tr-item svg{width:18px;height:18px;color:var(--teal);flex:none}
.tz-root .trust-ribbon .tr-item a{color:var(--teal-text)}
.tz-root .trust-ribbon .tr-item a:hover{color:var(--petrol);text-decoration:underline;text-underline-offset:3px}
/* ---- B.4 .ps-split — problem / solution ---- */
.tz-root .ps-split{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch}
.tz-root .ps-col{background:var(--white);border-radius:var(--radius);border:1px solid var(--line);
  box-shadow:var(--shadow-card);padding:36px 34px;}
.tz-root .ps-col.solution{border-top:2px solid var(--turquoise)}
.tz-root .ps-col.problem{border-top:2px solid rgba(191,155,79,.55)}
.tz-root .ps-col .ps-tag{display:inline-flex;align-items:center;gap:9px;
  font-size:12.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:10px;}
.tz-root .ps-col.problem .ps-tag{color:var(--warm-ink)}
.tz-root .ps-col.solution .ps-tag{color:var(--teal-text)}
.tz-root .ps-col .ps-tag::before{content:"";width:22px;height:2px;border-radius:2px;background:currentColor}
.tz-root .ps-col h3{font-size:24px;margin-bottom:18px}
.tz-root .ps-list{display:flex;flex-direction:column;gap:13px}
.tz-root .ps-list li{display:flex;align-items:flex-start;gap:13px;font-size:16px;line-height:1.55}
.tz-root .ps-list li .mk{width:26px;height:26px;border-radius:50%;flex:none;display:grid;place-items:center;margin-top:1px}
.tz-root .ps-list li .mk svg{width:14px;height:14px}
.tz-root .ps-col.problem .mk{background:var(--warm-ghost);border:1px solid var(--warm-line);color:var(--warm-ink)}
.tz-root .ps-col.solution .mk{background:var(--teal-ghost);border:1px solid rgba(63,193,208,.4);color:var(--teal)}
.tz-root .ps-col .ps-foot{margin-top:24px;padding-top:18px;border-top:1px solid var(--line);font-size:15px;color:var(--muted)}
.tz-root .ps-col .ps-foot a{color:var(--teal-text);font-weight:600}
.tz-root .ps-col .ps-foot a:hover{color:var(--petrol)}
[dir="rtl"] .tz-root .ps-col .ps-tag{letter-spacing:0}
/* ---- B.5 .exp-card — expertise / credential card (About) ---- */
.tz-root .exp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;align-items:start}
.tz-root .exp-card{background:var(--white);border-radius:var(--radius);border-top:2px solid var(--turquoise);
  box-shadow:var(--shadow-card);padding:34px 30px;
  display:flex;flex-direction:column;gap:12px;transition:transform .3s,box-shadow .3s;position:relative;}
.tz-root .exp-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-card-hover)}
.tz-root .exp-card .ex-head{display:flex;align-items:center;gap:18px}
.tz-root .exp-card .ex-photo{width:84px;height:84px;border-radius:22px;overflow:hidden;flex:none;position:relative;background:var(--petrol-deep);}
.tz-root .exp-card .ex-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(1.02)}
.tz-root .exp-card .keycap{margin:0}
.tz-root .exp-card .ex-initials{font-family:var(--font-display);font-size:24px;font-weight:600;color:var(--ice-2);position:relative;
  letter-spacing:.02em;filter:drop-shadow(0 2px 3px rgba(8,56,74,.4));line-height:1;}
.tz-root .exp-card h3{font-size:22px;line-height:1.25}
.tz-root .exp-card .ex-role{font-size:14px;color:var(--teal-text);font-weight:600;letter-spacing:.04em;margin-top:2px;display:block}
.tz-root .exp-card p{font-size:15.5px;line-height:1.6}
.tz-root .exp-card .ex-creds{display:flex;flex-direction:column;gap:9px;margin-top:4px}
.tz-root .exp-card .ex-creds li{display:flex;align-items:flex-start;gap:10px;font-size:15px;color:var(--slate-700)}
.tz-root .exp-card .ex-creds svg{width:16px;height:16px;color:var(--teal);flex:none;margin-top:4px}
.tz-root .exp-card .ex-creds b{color:var(--petrol);font-weight:600}
.tz-root .exp-card .ex-verify{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);
  display:inline-flex;align-items:center;gap:8px;font-size:14.5px;font-weight:600;color:var(--teal-text);}
.tz-root .exp-card .ex-verify svg{width:15px;height:15px;flex:none}
.tz-root .exp-card .ex-verify:hover{color:var(--petrol)}
/* FTA variant: turquoise glow ring around the portrait / initials keycap */
.tz-root .exp-card.fta .keycap{box-shadow:0 0 0 4px rgba(63,193,208,.14),0 0 0 1px rgba(63,193,208,.6),0 0 34px rgba(63,193,208,.38),
    inset 0 2px 3px rgba(255,255,255,.45),inset 0 -7px 12px rgba(8,56,74,.45);}
.tz-root .exp-card.fta .ex-photo{box-shadow:0 0 0 4px rgba(63,193,208,.14),0 0 0 1px rgba(63,193,208,.6),0 0 34px rgba(63,193,208,.38)}
.tz-root .exp-card.fta .ex-flag{order:-1;align-self:flex-start;margin-bottom:2px;
  display:inline-flex;align-items:center;gap:6px;
  font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-text);
  border:1px solid rgba(26,157,173,.4);border-radius:999px;padding:4px 10px;background:var(--white);}
.tz-root .exp-card.fta .ex-flag svg{width:12px;height:12px}
[dir="rtl"] .tz-root .exp-card.fta .ex-flag{letter-spacing:0}
/* ---- B.6 .fta-card — credential hover card (ported from production .tzh-fta-card) ---- */
.tz-root .fta-wrap{position:relative;display:inline-block}
.tz-root .fta-wrap > .fta-badge{cursor:pointer;margin-bottom:0;text-align:start}
.tz-root .fta-wrap > .fta-badge .chev{width:13px;height:13px;opacity:.7;transition:transform .25s;color:var(--slate-200)}
.tz-root .fta-wrap:hover > .fta-badge .chev,.tz-root .fta-wrap.open > .fta-badge .chev{transform:rotate(180deg)}
.tz-root .fta-card{position:absolute;z-index:30;top:calc(100% + 12px);inset-inline-start:0;
  width:min(390px,88vw);
  background:var(--white);color:var(--slate-700);
  border:1px solid var(--line);border-radius:16px;
  box-shadow:0 34px 70px -22px rgba(3,18,25,.55);
  padding:16px 20px 14px;text-align:start;
  max-height:min(78vh,660px);overflow:auto;overscroll-behavior:contain;
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .25s ease,transform .25s ease,visibility .25s;
  font-family:var(--font-body);}
.tz-root .fta-wrap:hover .fta-card,.tz-root .fta-wrap:focus-within .fta-card,.tz-root .fta-wrap.open .fta-card{opacity:1;visibility:visible;transform:translateY(0);}
/* inline / static use (About page): a plain block, same anatomy */
.tz-root .fta-card.inline{position:static;opacity:1;visibility:visible;transform:none;
  width:100%;max-width:420px;max-height:none;overflow:visible;
  box-shadow:var(--shadow-card);border-top:2px solid var(--turquoise);padding:22px 24px 20px;}
.tz-root .fta-card .fta-eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--teal-text);margin-bottom:12px;display:flex;align-items:center;gap:8px;}
.tz-root .fta-card .fta-eyebrow svg{width:14px;height:14px;color:var(--teal);flex:none}
.tz-root .fta-card .fta-rec{display:grid;grid-template-columns:44px 1fr;gap:12px;align-items:start;margin-bottom:12px}
.tz-root .fta-card .fta-ico{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;overflow:hidden;
  background:var(--warm-ghost);border:2px solid rgba(191,155,79,.55);color:var(--gold-ink);}
.tz-root .fta-card .fta-ico svg{width:22px;height:22px}
.tz-root .fta-card .fta-ico img{width:100%;height:100%;object-fit:cover;filter:saturate(.78)}
.tz-root .fta-card .fta-name{display:block;font-size:15.5px;font-weight:700;color:var(--gold-ink);line-height:1.3}
.tz-root .fta-card .fta-role{display:block;font-size:13px;font-weight:600;color:var(--petrol);margin-top:1px}
.tz-root .fta-card .fta-taan{display:block;font-size:13.5px;font-weight:700;color:var(--petrol);margin-top:2px}
.tz-root .fta-card .fta-firm{display:block;font-size:13px;color:var(--muted);line-height:1.45;margin-top:2px}
.tz-root .fta-card .fta-exp{font-size:12.5px;color:var(--muted);line-height:1.5;margin-bottom:10px}
.tz-root .fta-card .fta-exp strong{display:block;color:var(--gold-ink);font-weight:700;font-size:13px;margin-bottom:1px}
.tz-root .fta-card .fta-links{display:flex;flex-direction:column;gap:5px;margin-bottom:10px;
  padding-bottom:10px;border-bottom:1px solid var(--line);}
.tz-root .fta-card .fta-l{display:inline-flex;align-items:center;gap:9px;
  font-size:13.5px;color:var(--teal-text);text-decoration:underline;text-underline-offset:2px;}
.tz-root .fta-card .fta-l svg{width:15px;height:15px;color:var(--teal);flex:none}
.tz-root .fta-card .fta-l:hover{color:var(--petrol)}
.tz-root .fta-card .fta-agency{font-size:12.5px;color:var(--muted);line-height:1.5;margin-bottom:12px}
.tz-root .fta-card .fta-agency b{color:var(--petrol);font-weight:700}
.tz-root .fta-card .btn.fta-cta{width:100%;padding:11px 18px;font-size:14px;margin-bottom:8px;white-space:normal}
.tz-root .fta-card .fta-hint{font-size:11.5px;color:var(--hint);line-height:1.45}
.tz-root .fta-card .fta-hint strong{color:var(--petrol)}
[dir="rtl"] .tz-root .fta-card .fta-eyebrow{letter-spacing:0}
/* ---- B.7 .cc-bridge — "Already a client?" slim band ---- */
.tz-root .cc-bridge{position:relative;overflow:hidden;border-radius:20px;color:var(--white);
  background:
    radial-gradient(520px 240px at 92% -20%,rgba(63,193,208,.26),transparent 60%),
    linear-gradient(150deg,var(--petrol) 0%,var(--petrol-deep) 80%);
  border:1px solid rgba(63,193,208,.3);
  box-shadow:var(--shadow-card-hover),inset 0 0 50px -30px rgba(63,193,208,.5);
  display:flex;align-items:center;gap:22px;padding:24px 30px;}
.tz-root .cc-bridge .cb-ico{width:48px;height:48px;border-radius:13px;flex:none;display:grid;place-items:center;
  background:rgba(63,193,208,.14);border:1px solid rgba(63,193,208,.4);}
.tz-root .cc-bridge .cb-ico svg{width:22px;height:22px;color:var(--turquoise)}
.tz-root .cc-bridge .cb-text{flex:1;min-width:0}
.tz-root .cc-bridge .cb-text b{display:block;font-family:var(--font-display);font-size:19px;font-weight:600;color:var(--white)}
.tz-root .cc-bridge .cb-text span{display:block;font-size:15px;color:var(--slate-200);margin-top:2px}
.tz-root .cc-bridge .btn{flex:none;padding:12px 22px;font-size:15px}
.tz-root .cc-bridge.light{background:var(--mist);color:var(--slate-700);border:1px solid var(--line);box-shadow:none}
.tz-root .section-mist .cc-bridge.light{background:var(--white)}
.tz-root .cc-bridge.light .cb-ico{background:var(--teal-ghost);border-color:rgba(63,193,208,.35)}
.tz-root .cc-bridge.light .cb-ico svg{color:var(--teal)}
.tz-root .cc-bridge.light .cb-text b{color:var(--petrol)}
.tz-root .cc-bridge.light .cb-text span{color:var(--muted)}
/* ---- B.8 .cap-card — future-state capability card ---- */
.tz-root .cap-card{background:var(--white);border-radius:var(--radius);
  border:1.5px solid rgba(8,56,74,.16);padding:28px 26px;
  display:flex;flex-direction:column;gap:10px;position:relative;
  transition:transform .3s,box-shadow .3s,border-color .3s;}
.tz-root .cap-card.now{border-top:2px solid var(--turquoise);box-shadow:var(--shadow-card)}
.tz-root .cap-card.now:hover{transform:translateY(-6px);box-shadow:var(--shadow-card-hover)}
.tz-root .cap-card.future,.tz-root .cap-card.soon{border-style:dashed;background:transparent}
.tz-root .cap-card.future{border-color:rgba(94,113,120,.5)}
.tz-root .cap-card.soon{border-color:rgba(94,113,120,.4);background:rgba(255,255,255,.55)}
.tz-root .cap-card .cp-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:4px}
.tz-root .cap-card .cp-ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;flex:none;
  background:var(--teal-ghost);border:1px solid rgba(63,193,208,.35);}
.tz-root .cap-card .cp-ico svg{width:21px;height:21px;color:var(--teal)}
.tz-root .cap-card.future .cp-ico,.tz-root .cap-card.soon .cp-ico{background:rgba(94,113,120,.08);border-color:rgba(94,113,120,.3)}
.tz-root .cap-card.future .cp-ico svg,.tz-root .cap-card.soon .cp-ico svg{color:var(--muted)}
.tz-root .cap-card h3{font-size:19.5px}
.tz-root .cap-card.future h3,.tz-root .cap-card.soon h3{color:var(--slate-700)}
.tz-root .cap-card p{font-size:15px;line-height:1.6;flex:1}
.tz-root .cap-card .cp-note{font-size:13px;color:var(--muted);border-top:1px dashed rgba(94,113,120,.35);padding-top:10px;margin-top:2px}
.tz-root .cc-panel .cap-card,.tz-root .on-dark .cap-card{background:var(--glass);border-color:var(--glass-line);color:var(--slate-200)}
.tz-root .cc-panel .cap-card h3,.tz-root .on-dark .cap-card h3{color:var(--white)}
.tz-root .cc-panel .cap-card.now,.tz-root .on-dark .cap-card.now{border-top-color:var(--turquoise);box-shadow:none}
.tz-root .cc-panel .cap-card .cp-ico,.tz-root .on-dark .cap-card .cp-ico{background:rgba(63,193,208,.14);border-color:rgba(63,193,208,.35)}
.tz-root .cc-panel .cap-card .cp-ico svg,.tz-root .on-dark .cap-card .cp-ico svg{color:var(--turquoise)}
.tz-root .cc-panel .cap-card .cp-note,.tz-root .on-dark .cap-card .cp-note{color:rgba(217,225,228,.7);border-color:rgba(217,225,228,.25)}
/* ---- B.9 .prov — provenance block ---- */
.tz-root .prov{background:var(--white);border-radius:var(--radius);border:1px solid var(--line);
  box-shadow:var(--shadow-card);overflow:hidden;}
.tz-root .prov-row{display:grid;grid-template-columns:168px 44px 1fr;gap:18px;align-items:start;
  padding:22px 26px;border-top:1px solid var(--line);}
.tz-root .prov-row:first-child{border-top:none}
.tz-root .prov-row .prov-lbl{font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--teal-text);padding-top:12px;line-height:1.4;}
.tz-root .prov-row .prov-ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;
  background:var(--teal-ghost);border:1px solid rgba(63,193,208,.35);}
.tz-root .prov-row .prov-ico svg{width:20px;height:20px;color:var(--teal)}
.tz-root .prov-row .prov-body{font-size:15.5px;line-height:1.65;padding-top:9px}
.tz-root .prov-row .prov-body b{color:var(--petrol);font-weight:600}
.tz-root .prov-row .prov-body p + p{margin-top:8px}
.tz-root .prov-row.factual{background:var(--white)}
.tz-root .prov-row.official{background:var(--mist)}
.tz-root .prov-row.official .prov-ico{background:var(--white)}
.tz-root .prov-row.official .prov-lbl{color:var(--petrol)}
.tz-root .prov-row.insight .prov-ico{background:var(--petrol);border-color:var(--petrol)}
.tz-root .prov-row.insight .prov-ico svg{color:var(--turquoise)}
.tz-root .prov-row.insight .prov-lbl{color:var(--warm-ink)}
.tz-root .prov-src{/* outbound official-source link */
  display:inline-flex;align-items:center;gap:8px;margin-top:10px;
  font-size:14.5px;font-weight:600;color:var(--teal-text);
  text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(26,157,173,.45);}
.tz-root .prov-src svg{width:15px;height:15px;flex:none}
.tz-root .prov-src:hover{color:var(--petrol);text-decoration-color:currentColor}
.tz-root .prov-src .ref{font-weight:500;color:var(--muted)}
[dir="rtl"] .tz-root .prov-row .prov-lbl{letter-spacing:0}
/* ---- B.10 .article — long-form typography + .article-meta + .article-toc ---- */
.tz-root .article-layout{display:grid;grid-template-columns:minmax(0,1fr) 264px;gap:64px;align-items:start}
.tz-root .article{max-width:72ch}
.tz-root .article > h2{font-size:clamp(26px,2.6vw,34px);margin:52px 0 16px;line-height:1.25}
.tz-root .article > h2:first-child{margin-top:0}
.tz-root .article > h3{font-size:22px;margin:36px 0 12px}
.tz-root .article > p{font-size:17.5px;line-height:1.75;margin-bottom:20px}
.tz-root .article .lead{font-size:19.5px;line-height:1.7;color:var(--petrol);font-weight:400;margin-bottom:28px}
.tz-root .article a{color:var(--teal-text);font-weight:500;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(26,157,173,.4)}
.tz-root .article a:hover{color:var(--petrol);text-decoration-color:currentColor}
.tz-root .article ul,.tz-root .article ol{margin:0 0 22px;padding-inline-start:0;display:flex;flex-direction:column;gap:10px}
.tz-root .article ul li{position:relative;padding-inline-start:28px;font-size:17px;line-height:1.7}
.tz-root .article ul li::before{content:"";position:absolute;inset-inline-start:0;top:.72em;width:14px;height:2px;border-radius:2px;background:var(--teal);}
.tz-root .article ol{counter-reset:art;list-style:none}
.tz-root .article ol li{position:relative;padding-inline-start:40px;font-size:17px;line-height:1.7;counter-increment:art}
.tz-root .article ol li::before{content:counter(art,decimal-leading-zero);position:absolute;inset-inline-start:0;top:.1em;
  font-family:var(--font-display);font-size:19px;font-weight:700;line-height:1.4;
  color:transparent;-webkit-text-stroke:1px var(--teal);}
[dir="rtl"] .tz-root .article ol li::before{content:counter(art,arabic-indic)}
.tz-root .article blockquote{margin:32px 0;padding:18px 26px;border-inline-start:3px solid var(--gold);
  background:var(--mist);border-start-end-radius:14px;border-end-end-radius:14px;
  font-family:var(--font-display);font-size:21px;line-height:1.55;color:var(--petrol);font-weight:500;}
.tz-root .section-mist .article blockquote{background:var(--white)}
.tz-root .article blockquote cite{display:block;font-family:var(--font-body);font-style:normal;font-size:14px;color:var(--muted);margin-top:10px;font-weight:500}
.tz-root .article figure{margin:32px 0}
.tz-root .article figure img{border-radius:var(--radius);box-shadow:var(--shadow-card);filter:saturate(.72) contrast(1.02)}
.tz-root .article figcaption{font-size:13.5px;color:var(--muted);margin-top:10px}
.tz-root .article .callout,.tz-root .article .prov,.tz-root .article .table-wrap{margin:28px 0}
.tz-root .article h2[id],.tz-root .article h3[id]{scroll-margin-top:calc(var(--sticky-top) + 24px)}
.tz-root .article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;
  font-size:14px;color:var(--muted);font-weight:500;margin-bottom:28px;}
.tz-root .article-meta .sep{width:4px;height:4px;border-radius:50%;background:var(--gold);flex:none}
.tz-root .article-meta b{color:var(--petrol);font-weight:600}
.tz-root .article-toc{position:sticky;top:calc(var(--sticky-top) + 24px);
  background:var(--white);border-radius:16px;border:1px solid var(--line);box-shadow:var(--shadow-card);
  padding:22px 22px 18px;}
.tz-root .article-toc .toc-head{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--teal-text);
  display:flex;align-items:center;gap:9px;margin-bottom:12px;}
.tz-root .article-toc .toc-head::before{content:"";width:18px;height:2px;background:var(--gold);border-radius:2px}
.tz-root .article-toc ol{list-style:none;display:flex;flex-direction:column;gap:2px}
.tz-root .article-toc ol a{display:block;padding:8px 12px;border-radius:9px;font-size:14.5px;font-weight:500;color:var(--slate-700);
  border-inline-start:2px solid transparent;transition:.18s;}
.tz-root .article-toc ol a:hover{background:var(--teal-ghost);color:var(--petrol)}
.tz-root .article-toc ol a.on{color:var(--petrol);font-weight:600;border-inline-start-color:var(--teal);background:var(--teal-ghost)}
.tz-root .article-toc .toc-foot{margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
.tz-root .article-toc .toc-foot .btn{width:100%;padding:11px 16px;font-size:14px;white-space:normal}
[dir="rtl"] .tz-root .article-toc .toc-head{letter-spacing:0}
/* ---- B.11 .proof-row — light stats row ---- */
.tz-root .proof-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-block:1px solid var(--line)}
.tz-root .proof-row.three{grid-template-columns:repeat(3,1fr)}
.tz-root .proof-row.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow-card);overflow:hidden}
.tz-root .proof-item{padding:30px 26px;text-align:center;border-inline-start:1px solid var(--line)}
.tz-root .proof-item:first-child{border-inline-start:none}
.tz-root .proof-item .num{font-family:var(--font-display);font-size:44px;font-weight:700;color:var(--petrol);line-height:1.05}
.tz-root .proof-item .num em{font-style:normal;color:var(--gold)}
.tz-root .proof-item .lbl{font-size:15px;color:var(--slate-700);margin-top:8px;line-height:1.45}
.tz-root .proof-item .lbl small{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}
.tz-root .proof-item .num svg{width:32px;height:32px;color:var(--teal);vertical-align:-4px}
/* ---- B.12 .timeline — vertical / horizontal ---- */
.tz-root .timeline{position:relative;display:flex;flex-direction:column;max-width:820px}
.tz-root .tl-item{position:relative;display:grid;grid-template-columns:52px 1fr;gap:20px;padding-bottom:34px}
.tz-root .tl-item:last-child{padding-bottom:0}
.tz-root .tl-item::before{content:"";position:absolute;top:52px;bottom:0;inset-inline-start:25px;width:2px;
  background:linear-gradient(rgba(63,193,208,.7),rgba(63,193,208,.18));}
.tz-root .tl-item:last-child::before{display:none}
.tz-root .tl-node{width:52px;height:52px;border-radius:50%;flex:none;display:grid;place-items:center;
  background:var(--white);border:2px solid var(--turquoise);
  box-shadow:0 0 0 6px rgba(63,193,208,.12);position:relative;z-index:1;}
.tz-root .tl-node .n{font-family:var(--font-display);font-size:22px;font-weight:700;line-height:1;color:transparent;-webkit-text-stroke:1.2px var(--teal)}
.tz-root .tl-node svg{width:22px;height:22px;color:var(--teal)}
.tz-root .tl-item.done .tl-node{background:var(--teal);border-color:var(--teal)}
.tz-root .tl-item.done .tl-node svg{color:var(--white)}
.tz-root .tl-item.done .tl-node .n{color:var(--white);-webkit-text-stroke:0}
.tz-root .tl-body{padding-top:8px}
.tz-root .tl-when{display:inline-flex;align-items:center;gap:8px;
  font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--teal-text);margin-bottom:6px;}
.tz-root .tl-when.gold{color:var(--warm-ink)}
.tz-root .tl-item h3{font-size:20.5px;margin-bottom:6px}
.tz-root .tl-item p{font-size:15.5px;line-height:1.6;max-width:600px}
.tz-root .tl-item .tl-note{font-size:13.5px;color:var(--muted);margin-top:8px;display:block}
[dir="rtl"] .tz-root .tl-when{letter-spacing:0}
/* horizontal (desktop) variant — stacks back to vertical ≤1024 */
.tz-root .timeline.horizontal{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:24px;max-width:none}
.tz-root .timeline.horizontal .tl-item{grid-template-columns:1fr;padding-bottom:0}
.tz-root .timeline.horizontal .tl-item::before{top:25px;bottom:auto;inset-inline-start:52px;inset-inline-end:-24px;width:auto;height:2px;
  background:linear-gradient(90deg,rgba(63,193,208,.7),rgba(63,193,208,.18));}
[dir="rtl"] .tz-root .timeline.horizontal .tl-item::before{background:linear-gradient(-90deg,rgba(63,193,208,.7),rgba(63,193,208,.18))}
.tz-root .timeline.horizontal .tl-body{padding-top:18px}
.tz-root .timeline.horizontal .tl-item p{max-width:none}
/* ---- B.13 .table-wrap + .cmp-table — comparison table ---- */
.tz-root .table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;
  border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow-card);}
.tz-root .table-wrap:focus-visible{outline-offset:-2px}
.tz-root .cmp-table{width:100%;min-width:640px;border-collapse:collapse;font-size:15px}
.tz-root .cmp-table caption{text-align:start;padding:18px 22px 12px;font-family:var(--font-display);font-size:19px;font-weight:600;color:var(--petrol)}
.tz-root .cmp-table th,.tz-root .cmp-table td{padding:14px 20px;border-top:1px solid var(--line);vertical-align:top;text-align:start}
.tz-root .cmp-table thead th{background:var(--mist);font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--teal-text);border-top:none;white-space:nowrap;}
.tz-root .cmp-table thead th.hl{background:var(--teal-ghost);color:var(--petrol)}
.tz-root .cmp-table tbody th{color:var(--teal-text);font-weight:600;min-width:180px}
.tz-root .cmp-table tbody th small{display:block;font-size:13px;color:var(--muted);font-weight:400;letter-spacing:0;text-transform:none;margin-top:2px}
.tz-root .cmp-table td.c{text-align:center}
.tz-root .cmp-table td.hl{background:rgba(63,193,208,.06)}
.tz-root .cmp-table .yes,.tz-root .cmp-table .no,.tz-root .cmp-table .part{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;vertical-align:middle;position:relative}
.tz-root .cmp-table .yes{background:var(--teal-ghost);border:1px solid rgba(63,193,208,.4);color:var(--teal)}
.tz-root .cmp-table .no{background:var(--mist);border:1px solid var(--line);color:var(--dash)}
.tz-root .cmp-table .part{background:var(--warm-ghost);border:1px solid var(--warm-line);color:var(--warm-ink)}
.tz-root .cmp-table .yes svg,.tz-root .cmp-table .no svg,.tz-root .cmp-table .part svg{width:14px;height:14px}
.tz-root .cmp-table tfoot td{font-size:13px;color:var(--muted);background:var(--mist)}
.tz-root .table-note{margin-top:12px;font-size:13.5px;color:var(--muted)}
[dir="rtl"] .tz-root .cmp-table thead th{letter-spacing:0}
/* ---- B.14 .checklist ---- */
.tz-root .checklist{display:grid;grid-template-columns:1fr 1fr;gap:14px 36px;list-style:none}
.tz-root .checklist li{display:flex;align-items:flex-start;gap:13px;font-size:16px;line-height:1.55}
.tz-root .checklist .ck{width:26px;height:26px;border-radius:50%;flex:none;display:grid;place-items:center;margin-top:2px;
  background:var(--teal-ghost);border:1px solid rgba(63,193,208,.4);color:var(--teal);}
.tz-root .checklist .ck svg{width:14px;height:14px}
.tz-root .checklist li b{color:var(--petrol);font-weight:600}
.tz-root .checklist li small{display:block;font-size:13.5px;color:var(--muted);margin-top:2px}
.tz-root .checklist.card{background:var(--white);border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow-card);padding:32px 34px}
.tz-root .checklist.one{grid-template-columns:1fr}
/* ---- B.15 .subnav — sticky in-page section navigation (site.js §16 sets .on) ---- */
.tz-root .subnav{position:sticky;top:var(--sticky-top);z-index:45;
  background:rgba(255,255,255,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);box-shadow:0 10px 24px -20px rgba(8,56,74,.3);}
.tz-root .subnav .sn-inner{display:flex;align-items:center;gap:8px;padding-block:10px;
  overflow-x:auto;scrollbar-width:none;
  -webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;}
.tz-root .subnav .sn-inner::-webkit-scrollbar{display:none}
.tz-root .subnav .sn-label{font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);
  margin-inline-end:8px;white-space:nowrap;flex:none;}
.tz-root .subnav a{flex:none;
  display:inline-flex;align-items:center;min-height:38px;padding:8px 15px;border-radius:999px;
  border:1.5px solid var(--line);background:var(--white);
  font-size:14px;font-weight:600;color:var(--slate-700);white-space:nowrap;transition:.2s;}
.tz-root .subnav a:hover{border-color:rgba(63,193,208,.55);color:var(--petrol)}
.tz-root .subnav a.on{background:var(--teal-grad);color:var(--white);border-color:transparent;font-weight:600}
.tz-root .subnav .sn-cta{margin-inline-start:auto;padding-inline-start:28px;flex:none;
  position:sticky;inset-inline-end:0;
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.96) 22px);}
[dir="rtl"] .tz-root .subnav .sn-cta{background:linear-gradient(270deg,rgba(255,255,255,0),rgba(255,255,255,.96) 22px)}
.tz-root .subnav .sn-cta .btn{padding:9px 18px;font-size:14px;min-height:38px}
[dir="rtl"] .tz-root .subnav .sn-label{letter-spacing:0}
/* sections a subnav points to clear header + subnav */
.tz-root .subnav ~ section[id],.tz-root .subnav ~ .section[id],.tz-root section.sn-target{scroll-margin-top:calc(var(--sticky-top) + 64px)}
/* ---- B.16 .intent — Services-hub need selector (site.js §6 need-finder drives it) ---- */
.tz-root .intent .need-grid{max-width:none}
.tz-root .intent .need-panel .np-grid{grid-template-columns:1fr;gap:26px}
.tz-root .intent-routes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
.tz-root .intent-route{display:flex;align-items:center;gap:14px;
  background:var(--glass);border:1px solid var(--glass-line);border-radius:14px;
  padding:14px 16px;color:var(--white);transition:.25s;}
.tz-root .intent-route:hover{background:rgba(63,193,208,.12);border-color:rgba(63,193,208,.5);transform:translateY(-3px)}
.tz-root .intent-route .keycap.sm{width:48px;height:48px;border-radius:13px;transform:none}
.tz-root .intent-route .keycap.sm::before{inset:6px;border-radius:9px}
.tz-root .intent-route .keycap.sm svg{width:21px;height:21px}
.tz-root .intent-route .ir-body{flex:1;min-width:0}
.tz-root .intent-route .ir-body b{display:block;font-family:var(--font-display);font-size:16.5px;font-weight:600;color:var(--white);line-height:1.3}
.tz-root .intent-route .ir-body > span{display:block;font-size:13.5px;color:var(--slate-200);margin-top:2px}
.tz-root .intent-route .ir-body > span span{display:inline}
.tz-root .intent-route .arrow{width:16px;height:16px;color:var(--turquoise);flex:none;transition:.2s}
.tz-root .intent-route:hover .arrow{color:var(--gold-2)}
.tz-root .intent .np-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:1px solid var(--glass-line)}
.tz-root .intent .np-foot p{font-size:14px;color:rgba(217,225,228,.8);max-width:none}
.tz-root .intent .np-foot .btn{padding:12px 22px;font-size:15px}
/* ---- B.17 .svc-band — service-family band (hub) ---- */
.tz-root .svc-band{padding-block:44px;border-top:1px solid var(--line)}
.tz-root .svc-band:first-of-type,.tz-root .svc-band.first{border-top:none;padding-top:0}
.tz-root .svc-band .sb-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:12px 48px;align-items:end;margin-bottom:24px}
.tz-root .svc-band .sb-head .eyebrow{margin-bottom:8px}
.tz-root .svc-band .sb-head h2,.tz-root .svc-band .sb-head h3{font-size:clamp(24px,2.4vw,30px);line-height:1.25}
.tz-root .svc-band .sb-head p{font-size:16px;color:var(--slate-700);max-width:520px;justify-self:end}
.tz-root .svc-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.tz-root .svc-tile{display:flex;align-items:center;gap:16px;
  background:var(--white);border:1px solid var(--line);border-radius:16px;padding:18px 20px;
  box-shadow:0 6px 18px -12px rgba(8,56,74,.14);
  transition:transform .25s,box-shadow .25s,border-color .25s;color:var(--slate-700);}
.tz-root .svc-tile:hover{transform:translateY(-4px);border-color:rgba(63,193,208,.55);box-shadow:var(--shadow-card)}
.tz-root .svc-tile .keycap.sm{width:54px;height:54px;border-radius:15px}
.tz-root .svc-tile .keycap.sm svg{width:23px;height:23px}
.tz-root .svc-tile .st-body{flex:1;min-width:0}
.tz-root .svc-tile .st-body b{display:block;font-family:var(--font-display);font-size:18px;font-weight:600;color:var(--petrol);line-height:1.3}
.tz-root .svc-tile .st-body > span{display:block;font-size:14px;color:var(--muted);margin-top:2px;line-height:1.45}
.tz-root .svc-tile .arrow{width:18px;height:18px;color:var(--teal);flex:none;transition:.2s}
.tz-root .svc-tile:hover .arrow{transform:translateX(3px)}
[dir="rtl"] .tz-root .svc-tile:hover .arrow{transform:scaleX(-1) translateX(3px)}
.tz-root .svc-tile.featured{border-top:2px solid var(--turquoise)}
.tz-root .section-mist .svc-tile{box-shadow:var(--shadow-card)}
/* ---- B.18 .ind-hero-list / .ind-block — industries hub anchored blocks ---- */
.tz-root .ind-hero-list{display:flex;flex-direction:column}
.tz-root .ind-block{scroll-margin-top:calc(var(--sticky-top) + 24px);padding-block:56px;border-top:1px solid var(--line)}
.tz-root .ind-block:first-child{border-top:none;padding-top:0}
.tz-root .ind-block .ib-head{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:start;margin-bottom:26px}
.tz-root .ind-block .ib-head h2{font-size:clamp(26px,2.6vw,34px)}
.tz-root .ind-block .ib-head p{font-size:16.5px;color:var(--slate-700);max-width:680px;margin-top:6px}
.tz-root .ind-block .ib-num{font-family:var(--font-display);font-size:48px;font-weight:700;line-height:1;color:transparent;-webkit-text-stroke:1.2px var(--teal);padding-top:4px}
.tz-root .ind-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}
.tz-root .ind-cell{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;
  display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow-card);}
.tz-root .ind-cell .ic-lbl{display:inline-flex;align-items:center;gap:9px;font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--teal-text)}
.tz-root .ind-cell .ic-lbl svg{width:15px;height:15px;color:var(--teal)}
.tz-root .ind-cell.challenge .ic-lbl{color:var(--warm-ink)}
.tz-root .ind-cell.challenge .ic-lbl svg{color:var(--warm-ink)}
.tz-root .ind-cell p{font-size:15.5px;line-height:1.6}
.tz-root .ind-cell ul{display:flex;flex-direction:column;gap:8px}
.tz-root .ind-cell ul li{display:flex;align-items:flex-start;gap:10px;font-size:15px;line-height:1.5}
.tz-root .ind-cell ul li svg{width:15px;height:15px;color:var(--teal);flex:none;margin-top:4px}
.tz-root .ind-cell .ic-links{display:flex;flex-wrap:wrap;gap:8px}
.tz-root .ind-cell .ic-links .np-link{border-color:var(--slate-200);color:var(--petrol);background:var(--white);padding:8px 14px;font-size:14px}
.tz-root .ind-cell .ic-links .np-link:hover{border-color:var(--teal);background:var(--teal-ghost)}
.tz-root .ind-cell .ic-links .np-link svg{color:var(--teal)}
.tz-root .section-mist .ind-cell{border-color:transparent}
[dir="rtl"] .tz-root .ind-cell .ic-lbl{letter-spacing:0}
/* ---- B.19 .contact-grid + .route-tiles — contact page composition ---- */
.tz-root .route-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:44px}
.tz-root .route-tile{background:var(--white);border-radius:var(--radius);border-top:2px solid var(--turquoise);
  box-shadow:var(--shadow-card);padding:26px 24px;display:flex;flex-direction:column;gap:8px;
  color:var(--slate-700);transition:transform .3s,box-shadow .3s;}
.tz-root .route-tile:hover{transform:translateY(-6px);box-shadow:var(--shadow-card-hover)}
.tz-root .route-tile .rt-ico{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;margin-bottom:6px;background:var(--teal-ghost);border:1px solid rgba(63,193,208,.35)}
.tz-root .route-tile .rt-ico svg{width:22px;height:22px;color:var(--teal)}
.tz-root .route-tile h3{font-size:19px}
.tz-root .route-tile p{font-size:14.5px;line-height:1.55;flex:1}
.tz-root .route-tile .go{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;color:var(--teal-text);margin-top:4px}
.tz-root .route-tile .go svg{width:14px;height:14px}
.tz-root .route-tile:hover .go{color:var(--petrol)}
.tz-root .route-tile.is-client{border-top-color:var(--gold)}
.tz-root .route-tile.is-client .rt-ico{background:var(--warm-ghost);border-color:var(--warm-line)}
.tz-root .route-tile.is-client .rt-ico svg{color:var(--warm-ink)}
.tz-root .contact-grid{display:grid;grid-template-columns:.94fr 1.06fr;gap:34px;align-items:stretch}
.tz-root .contact-grid .office-card,.tz-root .contact-grid .lead-card{height:100%}
.tz-root .contact-grid + .map-wrap{margin-top:34px}
/* ---- B.20 .campaign — landing specifics ---- */
/* form inside the hero as a petrol glass card (modifier on .lead-card) */
.tz-root .lead-card.cmp-hero-form{background:rgba(6,43,57,.55);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(63,193,208,.38);border-top:2px solid var(--turquoise);
  box-shadow:var(--shadow-deep),inset 0 0 60px -30px rgba(63,193,208,.45);color:var(--white);}
.tz-root .lead-card.cmp-hero-form h3{color:var(--white)}
.tz-root .lead-card.cmp-hero-form .lc-sub{color:var(--slate-200)}
.tz-root .lead-card.cmp-hero-form .field label{color:var(--ice)}
.tz-root .lead-card.cmp-hero-form .field input,.tz-root .lead-card.cmp-hero-form .field select,.tz-root .lead-card.cmp-hero-form .field textarea{background:rgba(6,32,42,.55);border-color:rgba(217,225,228,.28);color:var(--white);}
.tz-root .lead-card.cmp-hero-form .field select option{color:var(--petrol);background:var(--white)}
.tz-root .lead-card.cmp-hero-form .field input::placeholder,.tz-root .lead-card.cmp-hero-form .field textarea::placeholder{color:rgba(217,225,228,.55)}
.tz-root .lead-card.cmp-hero-form .field input:focus,.tz-root .lead-card.cmp-hero-form .field select:focus,.tz-root .lead-card.cmp-hero-form .field textarea:focus{border-color:var(--turquoise);box-shadow:0 0 0 4px rgba(63,193,208,.22);}
.tz-root .lead-card.cmp-hero-form .lead-privacy{color:rgba(217,225,228,.75)}
.tz-root .lead-card.cmp-hero-form .form-ok{background:var(--petrol-deep);color:var(--white)}
.tz-root .lead-card.cmp-hero-form .form-ok h3{color:var(--white)}
.tz-root .lead-card.cmp-hero-form .form-ok p,.tz-root .lead-card.cmp-hero-form .form-ok .ok-next{color:var(--slate-200)}
.tz-root .lead-card.cmp-hero-form .form-ok .ok-next svg{color:var(--turquoise)}
.tz-root .lead-card.cmp-hero-form .form-ok .ok-ico{background:rgba(63,193,208,.14)}
.tz-root .lead-card.cmp-hero-form .form-ok .ok-ico svg{color:var(--turquoise)}
/* proof strip under the campaign hero */
.tz-root .cmp-proof{background:var(--white);border-bottom:1px solid var(--line)}
.tz-root .cmp-proof .cp-inner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px 18px;
  padding-block:16px;font-size:13.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-text);}
.tz-root .cmp-proof .cp-inner span{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.tz-root .cmp-proof .cp-inner svg{width:16px;height:16px;color:var(--teal)}
.tz-root .cmp-proof .cp-inner .sep{width:4px;height:4px;border-radius:50%;background:var(--gold);flex:none}
[dir="rtl"] .tz-root .cmp-proof .cp-inner{letter-spacing:0}
/* three steps */
.tz-root .cmp-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.tz-root .cmp-step{position:relative;background:var(--white);border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow-card);padding:30px 28px}
.tz-root .cmp-step .j-num{font-size:40px;margin-bottom:12px}
.tz-root .cmp-step h3{font-size:20.5px;margin-bottom:6px}
.tz-root .cmp-step p{font-size:15.5px;line-height:1.6}
.tz-root .cmp-step::after{content:"";position:absolute;top:48px;inset-inline-end:-26px;width:26px;height:2px;background:linear-gradient(90deg,var(--gold),transparent)}
[dir="rtl"] .tz-root .cmp-step::after{background:linear-gradient(-90deg,var(--gold),transparent)}
.tz-root .cmp-step:last-child::after{display:none}
/* ---- B.21 .guide-slot.inline — reserved future AI-guide placeholder (page-level) ----
   NOTE: the shell's floating FAB also carries .guide-slot (so shots.js finds it).
   The inline placeholder is ALWAYS .guide-slot.inline — never bare .guide-slot. */
.tz-root .guide-slot.inline{display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  border:1px dashed rgba(94,113,120,.5);border-radius:14px;padding:14px 18px;
  font-size:14.5px;color:var(--muted);background:transparent;}
.tz-root .guide-slot.inline .gs-ico{width:38px;height:38px;border-radius:11px;flex:none;display:grid;place-items:center;background:rgba(94,113,120,.08);border:1px solid rgba(94,113,120,.3)}
.tz-root .guide-slot.inline .gs-ico svg{width:18px;height:18px;color:var(--muted)}
.tz-root .guide-slot.inline .gs-text{flex:1;min-width:200px}
.tz-root .guide-slot.inline b{color:var(--slate-700);font-weight:600}
.tz-root .guide-slot.inline .chip-status{margin-inline-start:auto}
.tz-root .cc-panel .guide-slot.inline,.tz-root .on-dark .guide-slot.inline{border-color:rgba(217,225,228,.3);color:var(--slate-200)}
.tz-root .cc-panel .guide-slot.inline b,.tz-root .on-dark .guide-slot.inline b{color:var(--white)}
.tz-root .cc-panel .guide-slot.inline .gs-ico,.tz-root .on-dark .guide-slot.inline .gs-ico{background:rgba(255,255,255,.05);border-color:rgba(217,225,228,.25)}
.tz-root .cc-panel .guide-slot.inline .gs-ico svg,.tz-root .on-dark .guide-slot.inline .gs-ico svg{color:var(--slate-200)}
/* ---- B.22 .callout — inset note ---- */
.tz-root .callout{display:flex;align-items:flex-start;gap:14px;
  background:var(--teal-ghost);border:1px solid rgba(63,193,208,.35);border-inline-start:3px solid var(--teal);
  border-radius:14px;padding:18px 22px;font-size:15px;line-height:1.6;color:var(--slate-700);}
.tz-root .callout svg.ci{width:20px;height:20px;color:var(--teal);flex:none;margin-top:2px}
.tz-root .callout b{color:var(--petrol);font-weight:600}
.tz-root .callout p + p{margin-top:6px}
.tz-root .callout a{color:var(--teal-text);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.tz-root .callout a:hover{color:var(--petrol)}
.tz-root .callout .callout-title{display:block;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;margin-bottom:4px;color:var(--teal-text)}
.tz-root .callout.gold{background:var(--warm-ghost);border-color:rgba(191,155,79,.4);border-inline-start-color:var(--gold)}
.tz-root .callout.gold svg.ci{color:var(--warm-ink)}
.tz-root .callout.gold b,.tz-root .callout.gold .callout-title{color:var(--warm-ink)}
[dir="rtl"] .tz-root .callout .callout-title{letter-spacing:0}
/* ---- B.23 .step-cards — "what happens next" (reuses .j-num) ---- */
.tz-root .step-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.tz-root .step-cards.three{grid-template-columns:repeat(3,1fr)}
.tz-root .step-card{background:var(--white);border-radius:var(--radius);border:1px solid var(--line);
  padding:26px 24px;display:flex;flex-direction:column;gap:6px;transition:transform .3s,box-shadow .3s;}
.tz-root .step-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}
.tz-root .section-mist .step-card{box-shadow:var(--shadow-card);border-color:transparent}
.tz-root .step-card .j-num{font-size:34px;margin-bottom:8px}
.tz-root .step-card h3{font-size:19px}
.tz-root .step-card p{font-size:15px;line-height:1.55}
.tz-root .step-card .sc-when{font-size:12.5px;font-weight:600;color:var(--teal-text);letter-spacing:.06em;margin-top:auto;padding-top:10px}
[dir="rtl"] .tz-root .step-card .sc-when{letter-spacing:0}
/* ---- B.24 .video-proof — compact 3-up client videos (modifier on .t-grid) ---- */
.tz-root .t-grid.video-proof{gap:22px;margin-bottom:0}
.tz-root .video-proof .t-poster{aspect-ratio:16/9}
.tz-root .video-proof .t-video-bar{display:none}
.tz-root .video-proof .t-play{width:52px;height:52px}
.tz-root .video-proof .t-play svg{width:18px;height:18px}
.tz-root .video-proof .t-id .nm{font-size:17px}
.tz-root .video-proof .t-id .rl{font-size:12.5px}
.tz-root .video-proof .t-id{inset-inline-end:16px;bottom:14px}
.tz-root .video-proof-note{margin-top:18px;text-align:center;font-size:14px;color:var(--muted)}
.tz-root .video-proof-note a{color:var(--teal-text);font-weight:600}
/* ---- B.25 Small extensions of baseline components ---- */
.tz-root .k-card.compact{padding:22px 20px;gap:8px}
.tz-root .k-card.compact h3{font-size:17.5px}
.tz-root .k-card.compact p{font-size:14px}
.tz-root .k-card.compact .kc-foot{padding-top:10px}
.tz-root .k-card.compact .kc-ref{font-size:12.5px}
.tz-root .rel-strip.start{justify-content:flex-start}
.tz-root .hero-proof b{color:var(--white);font-weight:600}
.tz-root .cc-panel .section-head .eyebrow,.tz-root .cc-head .eyebrow{color:var(--turquoise)}
.tz-root .cc-head h2{color:var(--white);font-size:clamp(26px,3vw,38px)}
.tz-root .cc-head h2 + p{margin-top:10px}
.tz-root .h2-md{font-size:clamp(24px,2.4vw,30px)!important}
.tz-root .inline-row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.tz-root .inline-row.lg{gap:22px}
.tz-root .inline-row .j-num{margin:0}
/* ---- B.26 Responsive ---- */
@media (max-width:1280px){.tz-root .subnav .sn-label{display:none}}
@media (max-width:1180px){
.tz-root .page-hero.split .ph-grid{gap:40px}
.tz-root .exp-grid{gap:20px}
.tz-root .route-tiles{grid-template-columns:repeat(2,1fr)}
.tz-root .step-cards{grid-template-columns:repeat(2,1fr)}
.tz-root .article-layout{grid-template-columns:minmax(0,1fr) 240px;gap:44px}
.tz-root .svc-band .sb-head{grid-template-columns:1fr}
.tz-root .svc-band .sb-head p{justify-self:start}
}
@media (max-width:1024px){
.tz-root .grid-3,.tz-root .grid-4{grid-template-columns:repeat(2,1fr)}
.tz-root .page-hero.split .ph-grid{grid-template-columns:1fr;padding-block:56px 72px}
.tz-root .hero-figure{max-width:560px;margin-inline:auto;width:100%}
.tz-root .exp-grid{grid-template-columns:repeat(2,1fr)}
.tz-root .prov-row{grid-template-columns:44px 1fr;gap:14px 16px}
.tz-root .prov-row .prov-lbl{grid-column:1/-1;padding-top:0;margin-bottom:-4px}
.tz-root .article-layout{grid-template-columns:1fr;gap:32px}
.tz-root .article-toc{position:static;order:-1}
.tz-root .article-toc ol{flex-direction:row;flex-wrap:wrap;gap:6px}
.tz-root .article-toc ol a{border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:13.5px}
.tz-root .article-toc ol a.on{border-color:transparent;background:var(--teal-grad);color:var(--white)}
.tz-root .article-toc .toc-foot{display:none}
.tz-root .timeline.horizontal{display:flex;flex-direction:column;max-width:820px}
.tz-root .timeline.horizontal .tl-item{grid-template-columns:52px 1fr;padding-bottom:34px}
.tz-root .timeline.horizontal .tl-item:last-child{padding-bottom:0}
.tz-root .timeline.horizontal .tl-item::before{top:52px;bottom:0;inset-inline-start:25px;inset-inline-end:auto;width:2px;height:auto;background:linear-gradient(rgba(63,193,208,.7),rgba(63,193,208,.18))}
.tz-root .timeline.horizontal .tl-body{padding-top:8px}
.tz-root .intent-routes{grid-template-columns:repeat(2,1fr)}
.tz-root .svc-tiles{grid-template-columns:repeat(2,1fr)}
.tz-root .ind-row{grid-template-columns:1fr}
.tz-root .contact-grid{grid-template-columns:1fr}
.tz-root .cmp-steps{grid-template-columns:1fr;gap:18px}
.tz-root .cmp-step::after{display:none}
.tz-root .subnav .sn-cta{display:none}
.tz-root .proof-row{grid-template-columns:repeat(2,1fr)}
.tz-root .proof-row .proof-item:nth-child(2n/**/+1){border-inline-start:none}
.tz-root .proof-row .proof-item:nth-child(n/**/+3){border-top:1px solid var(--line)}
.tz-root .proof-row.three{grid-template-columns:repeat(3,1fr)}
.tz-root .proof-row.three .proof-item{border-top:none}
.tz-root .proof-row.three .proof-item:nth-child(2n/**/+1){border-inline-start:1px solid var(--line)}
.tz-root .proof-row.three .proof-item:first-child{border-inline-start:none}
}
@media (max-width:680px){
.tz-root .grid-2,.tz-root .grid-3,.tz-root .grid-4{grid-template-columns:1fr;gap:18px}
.tz-root .hero-figure{aspect-ratio:16/11;border-radius:18px}
.tz-root .hero-figure .hf-meta{inset-inline:20px;bottom:18px}
.tz-root .hero-figure .hf-meta h3,.tz-root .hero-figure .hf-meta b{font-size:20px}
.tz-root .trust-ribbon .tr-inner{justify-content:flex-start;gap:10px 22px;padding-block:14px}
.tz-root .trust-ribbon .tr-item{font-size:13.5px;white-space:normal}
.tz-root .ps-split{grid-template-columns:1fr;gap:18px}
.tz-root .ps-col{padding:28px 22px}
.tz-root .ps-col h3{font-size:21px}
.tz-root .exp-grid{grid-template-columns:1fr}
.tz-root .exp-card{padding:28px 22px}
.tz-root .exp-card .ex-photo,.tz-root .exp-card .keycap{width:68px;height:68px;border-radius:18px}
.tz-root .exp-card .ex-initials{font-size:21px}
.tz-root .fta-wrap{display:block}
.tz-root .fta-card{width:100%;inset-inline:0}
.tz-root .fta-card.inline{max-width:none}
.tz-root .cc-bridge{flex-direction:column;align-items:flex-start;padding:24px 22px;gap:16px}
.tz-root .cc-bridge .btn{width:100%}
.tz-root .cap-card{padding:24px 20px}
.tz-root .prov-row{padding:18px 18px}
.tz-root .prov-row .prov-body{font-size:15px}
.tz-root .article > p{font-size:16.5px}
.tz-root .article .lead{font-size:18px}
.tz-root .article ul li,.tz-root .article ol li{font-size:16px}
.tz-root .article blockquote{font-size:19px;padding:16px 20px}
.tz-root .article-meta{font-size:13.5px}
.tz-root .proof-row,.tz-root .proof-row.three{grid-template-columns:1fr 1fr}
.tz-root .proof-item{padding:22px 14px}
.tz-root .proof-item .num{font-size:34px}
.tz-root .proof-item .lbl{font-size:13.5px}
.tz-root .proof-row.three .proof-item:nth-child(2n/**/+1){border-inline-start:none}
.tz-root .proof-row.three .proof-item:nth-child(n/**/+3){border-top:1px solid var(--line)}
.tz-root .tl-item{grid-template-columns:44px 1fr;gap:14px;padding-bottom:28px}
.tz-root .tl-item::before{inset-inline-start:21px;top:46px}
.tz-root .tl-node{width:44px;height:44px}
.tz-root .tl-node .n{font-size:19px}
.tz-root .tl-item h3{font-size:19px}
.tz-root .timeline.horizontal .tl-item{grid-template-columns:44px 1fr}
.tz-root .timeline.horizontal .tl-item::before{inset-inline-start:21px;top:46px}
.tz-root .cmp-table{font-size:14px}
.tz-root .cmp-table th,.tz-root .cmp-table td{padding:12px 14px}
.tz-root .checklist{grid-template-columns:1fr;gap:12px}
.tz-root .checklist.card{padding:24px 20px}
.tz-root .subnav .sn-label{display:none}
.tz-root .subnav a{padding:8px 14px;font-size:13.5px}
.tz-root .intent-routes{grid-template-columns:1fr}
.tz-root .svc-tiles{grid-template-columns:1fr;gap:12px}
.tz-root .svc-band{padding-block:34px}
.tz-root .ind-block{padding-block:40px}
.tz-root .ind-block .ib-head{grid-template-columns:1fr;gap:8px}
.tz-root .ind-block .ib-num{font-size:38px}
.tz-root .ind-cell{padding:22px 20px}
.tz-root .route-tiles{grid-template-columns:1fr;gap:14px;margin-bottom:32px}
.tz-root .contact-grid + .map-wrap{margin-top:24px}
.tz-root .cmp-proof .cp-inner{font-size:12px;gap:8px 12px;justify-content:flex-start}
.tz-root .step-cards,.tz-root .step-cards.three{grid-template-columns:1fr;gap:14px}
.tz-root .guide-slot.inline .chip-status{margin-inline-start:0}
.tz-root .callout{padding:16px 18px;font-size:14.5px}
.tz-root .t-grid.video-proof{grid-template-columns:1fr}
.tz-root .lead-card.cmp-hero-form{padding:28px 22px}
.tz-root .mt-56{margin-top:40px}
}
/* ---- B.27 Motion / static (screenshot) mode ---- */
@media (prefers-reduced-motion:reduce){
.tz-root .fta-card,.tz-root .svc-tile,.tz-root .intent-route,.tz-root .route-tile,.tz-root .step-card,.tz-root .cap-card,.tz-root .exp-card,.tz-root .subnav a{transition:none}
}
/* screenshot mode: hover card closed unless .open is set; ?fta opens it via site.js */
.static-mode .tz-root .fta-wrap:hover .fta-card{opacity:0;visibility:hidden}
.static-mode .tz-root .fta-wrap.open .fta-card,.static-mode .tz-root .fta-wrap:focus-within .fta-card{opacity:1;visibility:visible;transform:none}
/* ---- B.28 CTA band with a top wave: the wave is the first child, the content sits in .cta-inner ---- */
.tz-root .cta-band .cta-inner{padding-block:72px 96px}
@media (max-width:680px){.tz-root .cta-band .cta-inner{padding-block:56px 68px}}
/* ---- B.29 CLOSEOUT-01 shared fixes (2026-09-12) — each rule closes a finding that page
   authors could not touch because the shell CSS was read-only for them. ---- */
/* S1 / F062 — the sub-nav CTA must be the gold primary, not a white pill.
   `.subnav a` (0,1,1) out-specified `.btn-gold` (0,1,0); also immune to the scroll-spy `.on` state. */
.tz-root .subnav .sn-cta a.btn-gold,.tz-root .subnav .sn-cta a.btn-gold.on{background:linear-gradient(135deg,var(--gold-2) 0%,var(--gold) 60%,var(--gold-ink) 100%);
  border-color:transparent;color:#20170A;
  box-shadow:0 10px 24px -8px rgba(191,155,79,.55);}
.tz-root .subnav .sn-cta a.btn-gold:hover{color:#20170A;border-color:transparent;transform:translateY(-1px)}
/* S2 — 44px tap targets in the sticky sub-nav at every width; keep the CTA reachable on mobile
   (was display:none below 768px) as a static pill at the end of the scroller. */
.tz-root .subnav a,.tz-root .subnav .sn-cta .btn{min-height:44px}
@media (max-width:768px){
.tz-root .subnav .sn-cta{display:block;position:static;padding-inline-start:8px;background:none}
}
@media (max-width:680px){
.tz-root .subnav a{min-height:44px;padding:10px 14px}
}
/* S3 — links inside a capability-card note were invisible (inherited a{color:inherit}). */
.tz-root .cap-card .cp-note a{color:var(--teal-text);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.tz-root .cc-panel .cap-card .cp-note a,.tz-root .on-dark .cap-card .cp-note a{color:var(--turquoise)}
/* S4 — Arabic must not carry Latin uppercase tracking: cursive letters lose their joins visually. */
[dir="rtl"] .tz-root .eyebrow,[dir="rtl"] .tz-root .hero-eyebrow,[dir="rtl"] .tz-root .ins-tag,[dir="rtl"] .tz-root .k-tag-official,[dir="rtl"] .tz-root .k-tag-class,[dir="rtl"] .tz-root .kf-flag,[dir="rtl"] .tz-root .chip-status,[dir="rtl"] .tz-root .t-video-bar,[dir="rtl"] .tz-root .mega-col h4,[dir="rtl"] .tz-root .footer h4,[dir="rtl"] .tz-root .kf-meta .km-row b,[dir="rtl"] .tz-root .o-row b,[dir="rtl"] .tz-root .hours .h-head,[dir="rtl"] .tz-root .sc-when,[dir="rtl"] .tz-root .cmp-proof{letter-spacing:0}
/* S5 — the stroked ghost numeral is too faint for Arabic-Indic digits (٠١ = a bar and a ring):
   a heavier stroke keeps the signature outline treatment legible; sizes stay the baseline px. */
[dir="rtl"] .tz-root .j-num,[dir="rtl"] .tz-root .rc-num,[dir="rtl"] .tz-root .ib-num{-webkit-text-stroke-width:2px}
/* size stays the baseline px (site-wide review C1: 1.12em collapsed it to ~19px) */
/* S6 — inline Latin tokens inside a service-tile description were forced to block. */
.tz-root .svc-tile .st-body > span span{display:inline;font-size:inherit;color:inherit;margin:0;line-height:inherit}
/* S7 — phone/e-mail fields stay LTR text but align to the reading edge in Arabic forms. */
[dir="rtl"] .tz-root .field input[type="tel"],[dir="rtl"] .tz-root .field input[type="email"]{direction:ltr;text-align:end}
/* R10/R12 — Privacy / Terms are not pages in this package: shown as pending text, never href="#". */
.tz-root .footer .f-legal .f-legal-pending{font-size:14px;color:rgba(217,225,228,.55);cursor:default}
/* ---- B.30 site-wide review corrections (2026-09-12) ---- */
/* B.30.1 .adv-figure.glass — the editorial figure (style.css §14) without photographs.
   The two editorial_* files are AI-toned placeholders (see the assets brief); until real photography is
   delivered, home #about-editorial and cfo_advisory #need use one petrol glass panel in the figure's footprint.
   Markup: .adv-figure.glass > .adv-panel > (.adv-chip, .eyebrow, b, span). The chip moves to the top corner. */
.tz-root .adv-figure.glass{padding:0}
.tz-root .adv-figure.glass .adv-panel{position:relative;display:flex;flex-direction:column;justify-content:flex-end;
  aspect-ratio:10/9.6;border-radius:var(--radius);overflow:hidden;color:var(--white);
  padding:34px 30px;
  background:
    radial-gradient(520px 320px at 85% -5%,rgba(63,193,208,.28),transparent 55%),
    linear-gradient(150deg,var(--petrol) 0%,var(--petrol-deep) 80%);
  box-shadow:var(--shadow-deep),0 0 0 1px rgba(63,193,208,.22);}
.tz-root .adv-figure.glass .adv-panel::after{content:"";position:absolute;inset:0;border-radius:var(--radius);pointer-events:none;box-shadow:inset 0 0 60px -30px rgba(63,193,208,.5)}
.tz-root .adv-figure.glass .adv-panel .eyebrow{color:var(--gold-2);margin-bottom:6px;font-size:12.5px}
.tz-root .adv-figure.glass .adv-panel .eyebrow::before{background:var(--gold-2);width:26px}
.tz-root .adv-figure.glass .adv-panel b{color:var(--white);font-family:var(--font-display);font-size:24px;font-weight:600;display:block;line-height:1.25}
.tz-root .adv-figure.glass .adv-panel span{font-size:14px;color:var(--slate-200);display:block;margin-top:6px;max-width:340px}
.tz-root .adv-figure.glass .adv-chip{top:22px;bottom:auto}
@media (max-width:1024px){
.tz-root .adv-figure.glass{max-width:560px;margin-inline:auto;width:100%}
.tz-root .adv-figure.glass .adv-panel{aspect-ratio:16/11}
}
@media (max-width:680px){
.tz-root .adv-figure.glass .adv-panel{padding:26px 22px}
.tz-root .adv-figure.glass .adv-panel b{font-size:20px}
.tz-root .adv-figure.glass .adv-chip{top:14px}
}
/* B.30.2 .k-card .go.ext — a knowledge card whose only true target is the official text (no article in the
   package matches the title): same weight as the internal "go", the external-link glyph is never mirrored. */
.tz-root .k-card .go.ext svg{width:13px;height:13px}
[dir="rtl"] .tz-root .k-card .go.ext svg{transform:none}
/* ---- B.31 CLOSEOUT site-wide review — shell CRITICAL C2 (2026-09-12) ----
   When the smart header hides on scroll-down (.header.hdr-hidden) the sticky sub-nav must rise to the
   viewport edge instead of floating at var(--sticky-top). main is a later sibling of header. */
.tz-root .subnav{transition:top .3s ease}
.tz-root .header.hdr-hidden ~ main .subnav{top:0}
/* ---- B.32 CLOSEOUT site-wide review — residual global corrections (2026-09-12) ---- */
/* SW-25 non-split page heroes: the 820px .ph-inner is centred by .container, so its start-aligned
   content sat off the 1240px grid every other section uses. Keep the 1240 grid; cap text runs. */
.tz-root .page-hero:not(.split):not(.campaign-hero) .container.ph-inner{max-width:var(--container)}
.tz-root .page-hero:not(.split):not(.campaign-hero) .ph-inner > *{max-width:820px}
/* SW-26 the "no photo" glass figure read as a petrol rectangle on a petrol hero: give it the
   showcase card's edge light and grid texture, and let the copy sit at the eyebrow
   scale of the homepage showcase instead of a 14px footnote. */
.tz-root .hero-figure.glass{position:relative;overflow:hidden;
  box-shadow:var(--shadow-deep),0 0 0 1px rgba(63,193,208,.28),inset 0 0 70px -30px rgba(63,193,208,.55);
  background:
    radial-gradient(560px 340px at 85% -5%,rgba(63,193,208,.34),transparent 55%),
    radial-gradient(420px 300px at -10% 110%,rgba(26,157,173,.22),transparent 60%),
    linear-gradient(150deg,var(--petrol) 0%,var(--petrol-deep) 80%);}
.tz-root .hero-figure.glass::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.55;
  background-image:linear-gradient(rgba(217,225,228,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(217,225,228,.05) 1px,transparent 1px);
  background-size:48px 48px;
  mask-image:radial-gradient(600px 420px at 70% 30%,#000 0%,transparent 78%);-webkit-mask-image:radial-gradient(600px 420px at 70% 30%,#000 0%,transparent 78%);}
.tz-root .hero-figure.glass .hf-meta{position:relative;z-index:2;padding:36px 32px 34px}
.tz-root .hero-figure.glass .hf-meta h3,.tz-root .hero-figure.glass .hf-meta b{font-size:clamp(24px,2.1vw,29px);line-height:1.25}
.tz-root .hero-figure.glass .hf-meta span{font-size:15.5px;margin-top:8px;max-width:380px;line-height:1.6}
@media (max-width:680px){.tz-root .hero-figure.glass .hf-meta{padding:26px 22px}.tz-root .hero-figure.glass .hf-meta h3,.tz-root .hero-figure.glass .hf-meta b{font-size:22px}}
/* SW-11 contact: the consultation target must show the form first on narrow screens. */
@media (max-width:1024px){.tz-root #consult .contact-grid .lead-card{order:-1}}


/* ===== v2.css ===== */
/* =====================================================================
   AL TAMAYUZ — v2.css · NIGHT EVOLUTION LAYER (2026-09-26)
   Loads AFTER style.css → v4.css → site.css. Additive only: new class names
   (prefix-free but unique) + a handful of documented token-level corrections.
   Every hex is a baseline token; no new colours. Namespaced for Kadence as
   `tzh-` at port time (see 12_kadence_handoff/DESIGN_TO_BLOCK_MAPPING.md).

   §V0  Corrections the freeze documented but did not apply (a11y)
   §V1  Arabic authoring (weights, clamps, numerals)
   §V2  Editorial rhythm — chapter heads, precision numerals, dividers
   §V3  Signature figures — the service faces (hero) + mobile signature strip
   §V4  Ledger list — deliverables without cards
   §V5  Trust without numbers — standards band, verification stamp, credential line
   §V6  Conversion — mobile action bar, intent chips, intake form
   §V7  Page-specific systems — contact map facade, client-center ladder,
        industries concern rail, knowledge masthead, campaign hero
   §V8  Shell refinements — mega menu family marks, footer grouping
   §V9  Motion (restrained) + reduced motion
   ===================================================================== */
/* ---------- §V0 Documented a11y corrections ---------- */
.tz-root .section-tint .eyebrow{color:var(--petrol)}
/* 4.1:1 → 10.3:1 */
.tz-root .cta-band p{color:#F2FBFC}
/* 3.8:1 → ≥4.6:1 on the band mid-point */
.tz-root .cta-band{background:
    radial-gradient(700px 300px at 50% -20%,rgba(63,193,208,.35),transparent 60%),
    linear-gradient(120deg,var(--teal-deep) 0%,var(--teal) 30%,var(--petrol) 100%)}
.tz-root .fta-card .fta-name,.tz-root .fta-card .fta-exp strong{color:var(--warm-ink)}
/* 3.4:1 → 4.9:1 */
.tz-root .on-dark :focus-visible,.tz-root .hero :focus-visible,.tz-root .page-hero :focus-visible,.tz-root .cc-panel :focus-visible,.tz-root .footer :focus-visible{outline-color:var(--gold-2);box-shadow:0 0 0 6px rgba(216,181,108,.35)}
.tz-root .hours-pill.closed{background:#FBEDED;color:#8F2F2C}.tz-root .hours-pill.closed b{color:#8F2F2C}
/* 5.1 → 6.4:1 */
.tz-root a:not(.btn):not(.np-link):not(.nav-link):not(.k-filter) u,.tz-root .article a{text-decoration-thickness:1.5px}
/* ---------- §V1 Arabic authoring ---------- */
/* Tajawal 500/600 are loaded by the V2 head (see _shell/head_v2.html); the freeze resolved every 600 to 700. */
[dir="rtl"] .tz-root .btn,[dir="rtl"] .tz-root .eyebrow,[dir="rtl"] .tz-root .faq-q,[dir="rtl"] .tz-root .nav-link,[dir="rtl"] .tz-root .subnav a,[dir="rtl"] .tz-root .need-chip,[dir="rtl"] .tz-root .field label,[dir="rtl"] .tz-root .np-link,[dir="rtl"] .tz-root .k-filter,[dir="rtl"] .tz-root .mega-col a strong{font-weight:600}
[dir="rtl"] .tz-root .hero h1{font-size:clamp(36px,4.2vw,56px);line-height:1.28}
[dir="rtl"] .tz-root .page-hero h1{font-size:clamp(32px,3.7vw,48px);line-height:1.3}
[dir="rtl"] .tz-root .section-head h2,[dir="rtl"] .tz-root .editorial-copy h2{line-height:1.34}
[dir="rtl"] .tz-root{line-height:1.8}
[dir="rtl"] .tz-root .hero-sub,[dir="rtl"] .tz-root .ph-sub{line-height:1.85}
[dir="rtl"] .tz-root .num,[dir="rtl"] .tz-root .fta-taan,[dir="rtl"] .tz-root .o-row a[href^="tel"],[dir="rtl"] .tz-root .f-contact a[href^="tel"]{font-variant-numeric:lining-nums}
[dir="rtl"] .tz-root .ltr{direction:ltr;unicode-bidi:isolate;display:inline-block}
@media (max-width:680px){[dir="rtl"] .tz-root .hero h1{font-size:clamp(30px,8vw,36px)}[dir="rtl"] .tz-root .page-hero h1{font-size:clamp(28px,7.4vw,34px)}}
/* ---------- §V2 Editorial rhythm ---------- */
/* Chapter head: start-aligned, with a precision numeral. Alternate with the centred head. */
.tz-root .section-head.chapter{text-align:start;margin-inline:0;max-width:none;display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 28px;align-items:start;margin-bottom:48px}
.tz-root .section-head.chapter .sec-num{grid-row:1/span 3;font-family:var(--font-display);font-size:clamp(56px,6vw,84px);font-weight:700;line-height:.9;
  color:transparent;-webkit-text-stroke:1.3px var(--teal);padding-top:4px;min-width:1.4em;letter-spacing:.01em}
[dir="rtl"] .tz-root .section-head.chapter .sec-num{-webkit-text-stroke-width:2px}
.tz-root .section-head.chapter .eyebrow{margin-bottom:6px}
.tz-root .section-head.chapter .eyebrow::after{display:none}
.tz-root .section-head.chapter h2{max-width:14em}
.tz-root .section-head.chapter p{max-width:640px;margin-top:10px}
.tz-root .section-head.chapter .sh-side{grid-column:2;display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.tz-root .on-dark .section-head.chapter .sec-num{-webkit-text-stroke-color:var(--turquoise)}
/* Precision line — a hairline with a gold tick, replaces "more cards" between chapters */
.tz-root .pline{height:1px;background:var(--line);position:relative;margin-block:8px 40px}
.tz-root .pline::before{content:"";position:absolute;inset-inline-start:0;top:-1px;width:64px;height:3px;border-radius:2px;background:var(--gold)}
.tz-root .section-mist .pline{background:rgba(8,56,74,.12)}
/* Aside note — small start-aligned commentary beside a chapter */
.tz-root .aside-note{font-size:14.5px;color:var(--muted);border-inline-start:2px solid var(--gold);padding-inline-start:16px;max-width:420px;line-height:1.6}
.tz-root .aside-note b{color:var(--petrol);font-weight:600;display:block;margin-bottom:2px}
@media (max-width:680px){
.tz-root .section-head.chapter{grid-template-columns:1fr;gap:4px;margin-bottom:32px}
.tz-root .section-head.chapter .sec-num{grid-row:auto;font-size:44px;margin-bottom:6px}
}
/* ---------- §V3 Signature figures ---------- */
/* Same frame as .hero-figure.glass (petrol, edge light, 22px radius) — the art is an inline SVG drawn from the discipline.
   Markup: <div class="hero-figure sig sig-ct"><svg class="sig-art" viewBox="0 0 520 400">…</svg><div class="hf-meta">…</div></div> */
.tz-root .hero-figure.sig{display:grid;grid-template-rows:1fr auto;aspect-ratio:10/7.4;
  background:radial-gradient(560px 340px at 85% -5%,rgba(63,193,208,.30),transparent 55%),
             radial-gradient(420px 300px at -10% 110%,rgba(26,157,173,.20),transparent 60%),
             linear-gradient(150deg,var(--petrol) 0%,var(--petrol-deep) 80%);
  box-shadow:var(--shadow-deep),0 0 0 1px rgba(63,193,208,.28),inset 0 0 70px -30px rgba(63,193,208,.55)}
.tz-root .hero-figure.sig::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(217,225,228,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(217,225,228,.05) 1px,transparent 1px);
  background-size:48px 48px;mask-image:radial-gradient(600px 420px at 70% 30%,#000 0%,transparent 78%);-webkit-mask-image:radial-gradient(600px 420px at 70% 30%,#000 0%,transparent 78%)}
.tz-root .hero-figure.sig .sig-art{position:relative;z-index:1;width:100%;height:100%;display:block;padding:34px 34px 0;overflow:visible}
.tz-root .hero-figure.sig .sig-art *{vector-effect:non-scaling-stroke}
.tz-root .hero-figure.sig .hf-meta{position:relative;z-index:2;padding:18px 32px 30px}
.tz-root .hero-figure.sig .hf-meta .eyebrow{color:var(--gold-2);margin-bottom:6px;font-size:12.5px}
.tz-root .hero-figure.sig .hf-meta .eyebrow::before{background:var(--gold-2);width:26px}
.tz-root .hero-figure.sig .hf-meta b{font-size:clamp(22px,1.9vw,26px);line-height:1.25}
.tz-root .hero-figure.sig .hf-meta span{font-size:14.5px;max-width:380px}
/* SVG palette (currentColor lines) */
.tz-root .sig-art .l1{stroke:rgba(217,225,228,.34);fill:none;stroke-width:1.2}
.tz-root .sig-art .l2{stroke:var(--turquoise);fill:none;stroke-width:1.6}
.tz-root .sig-art .l3{stroke:var(--gold-2);fill:none;stroke-width:1.6}
.tz-root .sig-art .f1{fill:rgba(63,193,208,.14)}
.tz-root .sig-art .f2{fill:rgba(63,193,208,.30)}
.tz-root .sig-art .f3{fill:var(--gold-2)}
.tz-root .sig-art .f0{fill:rgba(6,32,42,.55)}
.tz-root .sig-art .t1{fill:rgba(217,225,228,.62);font:600 11px/1 var(--font-body);letter-spacing:.14em}
.tz-root .sig-art .t2{fill:#F2FBFC;font:700 12px/1 var(--font-body)}
.tz-root .sig-art .t3{fill:var(--gold-2);font:700 11px/1 var(--font-body);letter-spacing:.1em}
[dir="rtl"] .tz-root .sig-art text{letter-spacing:0}
/* Mobile signature strip: the figure becomes a 104px band UNDER the h1 (not after the CTAs); art is cropped to its top rows. */
@media (max-width:1024px){
.tz-root .page-hero.split .ph-grid{display:flex;flex-direction:column}
.tz-root .page-hero.split .ph-grid .ph-inner{display:contents}
.tz-root .page-hero.split .ph-inner > *{order:2}
.tz-root .page-hero.split .ph-inner .breadcrumb{order:0}.tz-root .page-hero.split .ph-inner .fta-wrap{order:0}.tz-root .page-hero.split .ph-inner .hero-eyebrow{order:0}.tz-root .page-hero.split .ph-inner h1{order:0}
.tz-root .page-hero.split .ph-inner .hero-proof{order:3}
.tz-root .hero-figure.sig{order:1;aspect-ratio:auto;height:112px;max-width:none;width:100%;margin:6px 0 22px;grid-template-rows:1fr;border-radius:16px}
.tz-root .hero-figure.sig .sig-art{padding:10px 16px;height:100%}
.tz-root .hero-figure.sig .hf-meta{display:none}
.tz-root .page-hero .fta-wrap{margin-bottom:18px}
}
@media (max-width:680px){.tz-root .hero-figure.sig{height:96px;margin-bottom:18px}}
/* ---------- §V4 Ledger list — deliverables without cards ---------- */
.tz-root .ledger{border-top:1px solid var(--line);counter-reset:led}
.tz-root .ledger > li{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:6px 22px;align-items:start;padding:22px 0;border-bottom:1px solid var(--line);counter-increment:led;position:relative}
.tz-root .ledger > li::before{content:counter(led,decimal-leading-zero);grid-row:1/span 2;font-family:var(--font-display);font-size:30px;font-weight:700;line-height:1;
  color:transparent;-webkit-text-stroke:1.2px var(--teal);padding-top:2px}
[dir="rtl"] .tz-root .ledger > li::before{-webkit-text-stroke-width:1.6px}
/* numeral policy D-003: Latin display numerals in both languages */
.tz-root .ledger h3{font-size:19.5px;line-height:1.3}
.tz-root .ledger p{grid-column:2;font-size:15.5px;line-height:1.6;color:var(--slate-700);max-width:60ch}
.tz-root .ledger .led-tag{grid-column:3;grid-row:1;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-text);
  border:1px solid rgba(26,157,173,.35);border-radius:999px;padding:5px 11px;white-space:nowrap;align-self:start;margin-top:2px}
[dir="rtl"] .tz-root .ledger .led-tag{letter-spacing:0}
.tz-root .ledger .led-tag.review{color:var(--warm-ink);border-color:var(--warm-line);background:var(--warm-ghost)}
.tz-root .ledger > li:hover{background:linear-gradient(90deg,rgba(63,193,208,.06),transparent 60%)}
[dir="rtl"] .tz-root .ledger > li:hover{background:linear-gradient(-90deg,rgba(63,193,208,.06),transparent 60%)}
.tz-root .ledger.two{display:grid;grid-template-columns:1fr 1fr;gap:0 48px;border-top:none}
.tz-root .ledger.two > li:nth-child(-n/**/+2){border-top:1px solid var(--line)}
.tz-root .section-mist .ledger > li{border-color:rgba(8,56,74,.12)}
@media (max-width:1024px){.tz-root .ledger.two{grid-template-columns:1fr}.tz-root .ledger.two > li:nth-child(2){border-top:none}}
@media (max-width:680px){
.tz-root .ledger > li{grid-template-columns:40px minmax(0,1fr);padding:18px 0}
.tz-root .ledger > li::before{font-size:24px}
.tz-root .ledger .led-tag{grid-column:2;grid-row:auto;justify-self:start;margin-top:4px}
.tz-root .ledger h3{font-size:17.5px}.tz-root .ledger p{font-size:15px}
}
/* ---------- §V5 Trust without numbers ---------- */
/* T1 Standards band — replaces the numbers band. Dark, four statements, no digits. */
.tz-root .standards{position:relative;color:var(--white);
  background:radial-gradient(900px 420px at 82% 0%,rgba(63,193,208,.18),transparent 55%),linear-gradient(150deg,var(--petrol) 0%,var(--petrol-deep) 70%)}
.tz-root .standards .st-inner{padding-block:72px 80px}
.tz-root .standards .section-head{margin-bottom:40px}
.tz-root .standards .section-head .eyebrow{color:var(--turquoise)}
.tz-root .standards h2{color:var(--white)}
.tz-root .st-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(217,225,228,.16)}
.tz-root .st-item{padding:28px 26px 0;border-inline-start:1px solid rgba(217,225,228,.16);display:flex;flex-direction:column;gap:10px}
.tz-root .st-item:first-child{border-inline-start:none;padding-inline-start:0}
.tz-root .st-item .st-ico{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:rgba(63,193,208,.14);border:1px solid rgba(63,193,208,.4)}
.tz-root .st-item .st-ico svg{width:19px;height:19px;color:var(--turquoise)}
.tz-root .st-item b{font-family:var(--font-display);font-size:21px;font-weight:600;color:var(--white);line-height:1.3}
.tz-root .st-item span{font-size:14.5px;color:var(--slate-200);line-height:1.6}
.tz-root .st-item .st-how{margin-top:auto;padding-top:6px;font-size:13px;color:var(--gold-2);font-weight:600;letter-spacing:.04em}
@media (max-width:1024px){.tz-root .st-grid{grid-template-columns:1fr 1fr}.tz-root .st-item:nth-child(2n/**/+1){border-inline-start:none;padding-inline-start:0}.tz-root .st-item:nth-child(n/**/+3){border-top:1px solid rgba(217,225,228,.16);margin-top:26px}}
@media (max-width:680px){.tz-root .st-grid{grid-template-columns:1fr}.tz-root .st-item{border-inline-start:none;padding:22px 0 0}.tz-root .st-item:nth-child(n/**/+2){border-top:1px solid rgba(217,225,228,.16);margin-top:22px}.tz-root .standards .st-inner{padding-block:56px 64px}}
/* T2 Verification stamp — one place per page where the visitor can check something */
.tz-root .verify-stamp{display:grid;grid-template-columns:auto 1fr;gap:16px 20px;align-items:center;
  background:var(--white);border:1px solid var(--line);border-radius:16px;padding:20px 24px;box-shadow:var(--shadow-card);position:relative;overflow:hidden}
.tz-root .verify-stamp::before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:4px;background:linear-gradient(var(--turquoise),var(--teal))}
.tz-root .verify-stamp .vs-seal{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;position:relative;
  background:var(--teal-ghost);border:1.5px solid rgba(63,193,208,.5);box-shadow:0 0 0 6px rgba(63,193,208,.10)}
.tz-root .verify-stamp .vs-seal svg{width:28px;height:28px;color:var(--teal)}
.tz-root .verify-stamp .vs-seal::after{content:"";position:absolute;inset:5px;border-radius:50%;border:1px dashed rgba(26,157,173,.45)}
.tz-root .verify-stamp .vs-body b{display:block;font-family:var(--font-display);font-size:19px;font-weight:600;color:var(--petrol);line-height:1.3}
.tz-root .verify-stamp .vs-body span{display:block;font-size:14.5px;color:var(--slate-700);margin-top:3px;line-height:1.55}
.tz-root .verify-stamp .vs-body .vs-ids{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px;font-size:13px;color:var(--muted)}
.tz-root .verify-stamp .vs-body .vs-ids b{display:inline;font:600 13px/1.4 var(--font-body);color:var(--petrol)}
.tz-root .verify-stamp .btn{white-space:normal;text-align:center;padding:12px 20px;font-size:14.5px;grid-column:1/-1;justify-self:start}
.tz-root .verify-stamp.wide{grid-template-columns:auto 1fr auto}
.tz-root .verify-stamp.wide .btn{grid-column:auto;justify-self:end}
.tz-root .sr-only-select{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tz-root .verify-stamp.dark{background:var(--glass);border-color:var(--glass-line);box-shadow:none}
.tz-root .verify-stamp.dark .vs-body b{color:var(--white)}.tz-root .verify-stamp.dark .vs-body span{color:var(--slate-200)}.tz-root .verify-stamp.dark .vs-body .vs-ids{color:rgba(217,225,228,.7)}.tz-root .verify-stamp.dark .vs-body .vs-ids b{color:var(--white)}
@media (max-width:900px){.tz-root .verify-stamp,.tz-root .verify-stamp.wide{grid-template-columns:auto 1fr;padding:18px}.tz-root .verify-stamp .btn,.tz-root .verify-stamp.wide .btn{grid-column:1/-1;width:100%;justify-self:stretch}.tz-root .verify-stamp .vs-seal{width:52px;height:52px}.tz-root .verify-stamp .vs-body{min-width:0}}
/* T3 Credential line — the single credential statement per view (replaces hero-proof + trust-ribbon duplication) */
.tz-root .cred-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;font-size:14px;color:var(--slate-200);letter-spacing:.02em}
.tz-root .cred-line .cl-item{display:inline-flex;align-items:center;gap:8px}
.tz-root .cred-line .cl-item svg{width:15px;height:15px;color:var(--gold-2);flex:none}
.tz-root .cred-line .cl-item b{color:var(--white);font-weight:600}
.tz-root .cred-line .cl-item a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(217,225,228,.4)}
.tz-root .cred-line .cl-item a:hover{color:var(--turquoise)}
/* T4 Method strip — "how we work" as five verbs on a hairline (replaces a card row on light pages) */
.tz-root .method-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:0;border-block:1px solid var(--line)}
.tz-root .method-strip .ms-item{padding:22px 18px;border-inline-start:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.tz-root .method-strip .ms-item:first-child{border-inline-start:none}
.tz-root .method-strip .ms-n{font-family:var(--font-display);font-size:26px;font-weight:700;line-height:1;color:transparent;-webkit-text-stroke:1.2px var(--teal)}
[dir="rtl"] .tz-root .method-strip .ms-n{-webkit-text-stroke-width:1.8px}
.tz-root .method-strip b{font-family:var(--font-display);font-size:18px;font-weight:600;color:var(--petrol)}
.tz-root .method-strip span{font-size:14px;color:var(--slate-700);line-height:1.55}
@media (max-width:1024px){.tz-root .method-strip{grid-template-columns:repeat(3,1fr)}.tz-root .method-strip .ms-item:nth-child(3n/**/+1){border-inline-start:none}.tz-root .method-strip .ms-item:nth-child(n/**/+4){border-top:1px solid var(--line)}}
@media (max-width:680px){.tz-root .method-strip{grid-template-columns:1fr 1fr}.tz-root .method-strip .ms-item{padding:16px 12px}.tz-root .method-strip .ms-item:nth-child(3n/**/+1){border-inline-start:1px solid var(--line)}.tz-root .method-strip .ms-item:nth-child(2n/**/+1){border-inline-start:none}.tz-root .method-strip .ms-item:nth-child(n/**/+3){border-top:1px solid var(--line)}.tz-root .method-strip .ms-item:nth-child(4){border-top:1px solid var(--line)}}
/* T5 Scope-first banner — audit/assurance honesty as a design element */
.tz-root .scope-first{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:start;background:var(--mist);border:1px solid var(--line);border-radius:16px;padding:22px 26px}
.tz-root .scope-first .sf-ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--white);border:1px solid var(--line)}
.tz-root .scope-first .sf-ico svg{width:20px;height:20px;color:var(--teal)}
.tz-root .scope-first b{display:block;font-family:var(--font-display);font-size:18px;color:var(--petrol);font-weight:600;margin-bottom:4px}
.tz-root .scope-first p{font-size:15px;line-height:1.6;max-width:70ch}
.tz-root .scope-first .sf-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px 28px;margin-top:12px;font-size:14.5px}
.tz-root .scope-first .sf-cols div{padding-inline-start:14px;border-inline-start:2px solid var(--turquoise)}
.tz-root .scope-first .sf-cols div.no{border-inline-start-color:var(--warm-line)}
.tz-root .scope-first .sf-cols div b{font:700 11.5px/1.4 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--teal-text);margin-bottom:2px}
.tz-root .scope-first .sf-cols div.no b{color:var(--warm-ink)}
[dir="rtl"] .tz-root .scope-first .sf-cols div b{letter-spacing:0}
@media (max-width:680px){.tz-root .scope-first{grid-template-columns:1fr;padding:18px}.tz-root .scope-first .sf-cols{grid-template-columns:1fr}}
/* ---------- §V6 Conversion ---------- */
/* C1 Mobile action bar — fixed bottom, ≤680 only. Three actions; the gold one is the page's intake. */
.tz-root .m-actbar{display:none}
@media (max-width:680px){
.tz-root .m-actbar{position:fixed;inset-inline:0;bottom:0;z-index:70;display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));
    background:rgba(255,255,255,.96);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line);box-shadow:0 -14px 34px -20px rgba(6,26,35,.4)}
.tz-root .m-actbar a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px;border-radius:12px;font-size:14px;font-weight:600;
    border:1.5px solid rgba(8,56,74,.18);color:var(--petrol);background:var(--white);white-space:nowrap}
.tz-root .m-actbar a svg{width:17px;height:17px;flex:none;color:var(--teal)}
.tz-root .m-actbar a.primary{background:linear-gradient(135deg,var(--gold-2) 0%,var(--gold) 60%,var(--gold-ink) 100%);color:#20170A;border-color:transparent;box-shadow:0 10px 24px -8px rgba(191,155,79,.55)}
.tz-root .m-actbar a.primary svg{color:#20170A}
body.has-actbar{padding-bottom:74px}
body.has-actbar .tz-root .to-top{bottom:88px}
body.has-actbar .tz-root .guide-fab{bottom:88px}
.static-mode .tz-root .m-actbar{position:sticky;bottom:0}
}
/* C2 Intent chips — carry the visitor's intent into the form (data-intent) */
.tz-root .intent-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.tz-root .intent-chips button,.tz-root .intent-chips a{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:7px 14px;border-radius:999px;border:1.5px solid var(--line);
  background:var(--white);font-size:14px;font-weight:600;color:var(--slate-700);transition:.2s;cursor:pointer}
.tz-root .intent-chips button:hover,.tz-root .intent-chips a:hover{border-color:rgba(63,193,208,.55);color:var(--petrol)}
.tz-root .intent-chips button[aria-pressed="true"],.tz-root .intent-chips .on{background:var(--teal-grad);color:var(--white);border-color:transparent}
.tz-root .intent-chips svg{width:14px;height:14px}
/* C3 Intake form — two-step disclosure: what + how to reach you; states */
.tz-root .intake .ik-steps{display:flex;gap:6px;align-items:center;margin-bottom:20px;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.tz-root .intake .ik-steps span{display:inline-flex;align-items:center;gap:8px}
.tz-root .intake .ik-steps span::before{content:"";width:22px;height:2px;border-radius:2px;background:var(--line)}
.tz-root .intake .ik-steps span.on{color:var(--teal-text)}.tz-root .intake .ik-steps span.on::before{background:var(--gold)}
[dir="rtl"] .tz-root .intake .ik-steps{letter-spacing:0}
.tz-root .intake .ik-step{display:none}.tz-root .intake .ik-step.on{display:block}
.tz-root .intake .ik-nav{display:flex;gap:10px;margin-top:20px}
.tz-root .intake .ik-nav .btn{flex:1;margin-top:0}
.tz-root .intake .ik-back{flex:none!important;width:auto!important}
.tz-root .intake .field.ok input{border-color:rgba(26,157,173,.6)}
.tz-root .intake .field.err input{border-color:#B84A46;background:#FFF7F7}
.tz-root .intake .field .f-msg{font-size:12.5px;color:#8F2F2C;display:none;margin-top:2px}
.tz-root .intake .field.err .f-msg{display:block}
.tz-root .intake .ik-privacy{margin-top:12px;font-size:12.5px;color:var(--muted);text-align:center}
.tz-root .intake .ik-privacy .pending{color:var(--muted);text-decoration:underline dotted;cursor:default}
.tz-root .intake .ik-summary{background:var(--mist);border-radius:12px;padding:12px 14px;font-size:14px;color:var(--petrol);display:flex;gap:10px;align-items:flex-start;margin-bottom:16px}
.tz-root .intake .ik-summary svg{width:16px;height:16px;color:var(--teal);flex:none;margin-top:3px}
/* C4 Next-best action rail (end of a page section) */
.tz-root .nba{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tz-root .nba a{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:var(--white);color:var(--slate-700);transition:.2s}
.tz-root .nba a:hover{border-color:rgba(63,193,208,.55);transform:translateY(-2px);box-shadow:var(--shadow-card)}
.tz-root .nba a .nb-k{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-text);display:block}
.tz-root .nba a b{display:block;font-family:var(--font-display);font-size:16.5px;color:var(--petrol);font-weight:600;line-height:1.3}
.tz-root .nba a svg.arrow{width:16px;height:16px;color:var(--teal);margin-inline-start:auto;flex:none}
[dir="rtl"] .tz-root .nba a .nb-k{letter-spacing:0}
@media (max-width:680px){.tz-root .nba{grid-template-columns:1fr}}
/* ---------- §V7 Page-specific systems ---------- */
/* P1 Contact map facade — designed, not blank */
.tz-root .map-facade{position:relative;border-radius:var(--radius);overflow:hidden;min-height:440px;border:1px solid var(--line);box-shadow:var(--shadow-card-hover);
  background:radial-gradient(520px 300px at 65% 40%,rgba(63,193,208,.18),transparent 62%),linear-gradient(160deg,#EEF4F5 0%,var(--tint-2) 100%)}
.tz-root .map-facade .mf-grid{position:absolute;inset:0;opacity:.55;
  background-image:linear-gradient(rgba(8,56,74,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(8,56,74,.07) 1px,transparent 1px);background-size:48px 48px}
.tz-root .map-facade .mf-roads{position:absolute;inset:0;width:100%;height:100%}
.tz-root .map-facade .mf-roads path{stroke:rgba(8,56,74,.16);stroke-width:2;fill:none}
.tz-root .map-facade .mf-roads path.water{stroke:rgba(26,157,173,.35);stroke-width:14;stroke-linecap:round}
.tz-root .map-facade .mf-pin{position:absolute;left:58%;top:44%;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;gap:2px}
[dir="rtl"] .tz-root .map-facade .mf-pin{left:auto;right:58%;transform:translate(50%,-100%)}
.tz-root .map-facade .mf-pin .pin{width:46px;height:46px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:linear-gradient(135deg,var(--turquoise),var(--teal));box-shadow:0 14px 30px -8px rgba(26,157,173,.6);display:grid;place-items:center}
.tz-root .map-facade .mf-pin .pin svg{width:20px;height:20px;color:var(--white);transform:rotate(45deg)}
.tz-root .map-facade .mf-pin .ring{width:90px;height:90px;border-radius:50%;border:1.5px solid rgba(63,193,208,.5);position:absolute;top:-22px;background:rgba(63,193,208,.08)}
.tz-root .map-facade .mf-card{position:absolute;inset-inline-start:22px;bottom:22px;background:rgba(6,32,42,.88);backdrop-filter:blur(6px);border:1px solid rgba(63,193,208,.4);border-radius:14px;color:var(--white);padding:16px 18px;max-width:320px;box-shadow:0 14px 30px -12px rgba(6,26,35,.6)}
.tz-root .map-facade .mf-card b{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:16.5px;font-weight:600;margin-bottom:4px}
.tz-root .map-facade .mf-card b svg{width:16px;height:16px;color:var(--turquoise)}
.tz-root .map-facade .mf-card span{display:block;font-size:13px;color:var(--slate-200);line-height:1.5}
.tz-root .map-facade .mf-land{position:absolute;display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--petrol);background:rgba(255,255,255,.8);border:1px solid var(--line);border-radius:999px;padding:5px 10px}
[dir="rtl"] .tz-root .map-facade .mf-land{letter-spacing:0}
.tz-root .map-facade .mf-land svg{width:12px;height:12px;color:var(--teal)}
.tz-root .map-facade .mf-open{position:absolute;inset-inline-end:18px;top:18px;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 16px;border-radius:999px;background:var(--white);border:1px solid var(--line);font-size:13.5px;font-weight:600;color:var(--petrol);box-shadow:var(--shadow-card)}
.tz-root .map-facade .mf-open svg{width:14px;height:14px;color:var(--teal)}
@media (max-width:680px){.tz-root .map-facade{min-height:340px}.tz-root .map-facade .mf-card{position:static;margin:14px;max-width:none}.tz-root .map-facade .mf-pin{top:36%}.tz-root .map-facade .mf-open{top:14px;inset-inline-end:14px}}
/* P2 Contact hierarchy — reach card: WhatsApp / call / write ranked by intent */
.tz-root .reach{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tz-root .reach a{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;align-items:center;padding:18px 20px;border-radius:16px;border:1px solid var(--line);background:var(--white);color:var(--slate-700);transition:.2s;box-shadow:var(--shadow-card)}
.tz-root .reach a:hover{transform:translateY(-3px);border-color:rgba(63,193,208,.55)}
.tz-root .reach .rc-ico{grid-row:1/span 2;width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:var(--teal-ghost);border:1px solid rgba(63,193,208,.35)}
.tz-root .reach .rc-ico svg{width:22px;height:22px;color:var(--teal)}
.tz-root .reach b{font-family:var(--font-display);font-size:17.5px;color:var(--petrol);font-weight:600}
.tz-root .reach span{font-size:13.5px;color:var(--muted)}
.tz-root .reach a.best{border-top:2px solid var(--turquoise)}
.tz-root .reach a.best .rc-ico{background:var(--teal-grad);border-color:transparent}.tz-root .reach a.best .rc-ico svg{color:var(--white)}
@media (max-width:680px){.tz-root .reach{grid-template-columns:1fr}}
/* P3 Client Center maturity ladder — status at a glance, truthful */
.tz-root .ladder{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--white);box-shadow:var(--shadow-card)}
.tz-root .ladder .ld-col{padding:28px 26px;border-inline-start:1px solid var(--line)}
.tz-root .ladder .ld-col:first-child{border-inline-start:none}
.tz-root .ladder .ld-col.now{background:var(--white)}.tz-root .ladder .ld-col.soon{background:var(--mist)}.tz-root .ladder .ld-col.future{background:var(--mist);background-image:repeating-linear-gradient(135deg,rgba(8,56,74,.03) 0 6px,transparent 6px 14px)}
.tz-root .ladder .ld-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.tz-root .ladder h3{font-size:19.5px}
.tz-root .ladder ul{display:flex;flex-direction:column;gap:9px}
.tz-root .ladder li{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.5}
.tz-root .ladder li svg{width:15px;height:15px;flex:none;margin-top:4px;color:var(--teal)}
.tz-root .ladder .soon li svg,.tz-root .ladder .future li svg{color:var(--muted)}
.tz-root .ladder .future li{color:var(--muted)}
.tz-root .ladder .ld-note{margin-top:14px;padding-top:12px;border-top:1px dashed rgba(94,113,120,.35);font-size:13px;color:var(--muted)}
@media (max-width:1024px){.tz-root .ladder{grid-template-columns:1fr}.tz-root .ladder .ld-col{border-inline-start:none;border-top:1px solid var(--line)}.tz-root .ladder .ld-col:first-child{border-top:none}}
/* P3b ladder + reach inside the petrol cc-panel: explicit light-context colours (the panel cascades white text) */
.tz-root .ladder,.tz-root .ladder li,.tz-root .ladder .ld-note,.tz-root .ladder p{color:var(--slate-700)}
.tz-root .ladder h3{color:var(--petrol)}
.tz-root .ladder .future li,.tz-root .ladder .future .ld-note,.tz-root .ladder .soon .ld-note{color:var(--muted)}
.tz-root .ladder .soon li{color:var(--slate-700)}
.tz-root .ladder .chip-status.chip-now{color:var(--teal-text);border-color:rgba(26,157,173,.45);background:var(--teal-ghost)}
.tz-root .ladder .chip-status.chip-soon{color:var(--slate-700);border-color:var(--slate-200);background:var(--white)}
.tz-root .ladder .chip-status.chip-future{color:var(--muted);border-color:var(--slate-200);background:transparent}
.tz-root .cc-lane .reach{grid-template-columns:1fr;gap:8px}
.tz-root .cc-lane .reach a{padding:11px 14px;gap:0 12px;border-radius:13px;box-shadow:none}
.tz-root .cc-lane .reach .rc-ico{width:38px;height:38px;border-radius:11px}.tz-root .cc-lane .reach .rc-ico svg{width:18px;height:18px}
.tz-root .cc-lane .reach b{font-size:16px}.tz-root .cc-lane .reach span{font-size:13px;white-space:nowrap}
@media (max-width:1024px){.tz-root .hero-figure.sig-sectors .sig-art{transform:translateY(-30px)}}
/* P4 Industries — concern rail + touchpoint map (replaces three identical cells) */
.tz-root .rail{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:start}
.tz-root .rail .rail-list{display:flex;flex-direction:column}
.tz-root .rail .rail-list > div{display:grid;grid-template-columns:34px 1fr;gap:14px;padding:16px 0;border-top:1px solid var(--line);font-size:15.5px;line-height:1.55}
.tz-root .rail .rail-list > div:last-child{border-bottom:1px solid var(--line)}
.tz-root .rail .rail-list .rl-k{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--warm-ghost);border:1px solid var(--warm-line)}
.tz-root .rail .rail-list .rl-k svg{width:15px;height:15px;color:var(--warm-ink)}
.tz-root .rail .rail-list b{display:block;color:var(--petrol);font-weight:600;font-size:16px}
.tz-root .rail .rail-map{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:24px 24px 20px;box-shadow:var(--shadow-card)}
.tz-root .section-mist .rail .rail-map{border-color:transparent}
.tz-root .rail .rail-map .rm-head{font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--teal-text);display:flex;align-items:center;gap:9px;margin-bottom:14px}
.tz-root .rail .rail-map .rm-head::before{content:"";width:18px;height:2px;background:var(--gold);border-radius:2px}
[dir="rtl"] .tz-root .rail .rail-map .rm-head{letter-spacing:0}
.tz-root .rail .rail-map .rm-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line);font-size:14.5px}
.tz-root .rail .rail-map .rm-row:first-of-type{border-top:none}
.tz-root .rail .rail-map .rm-row b{color:var(--petrol);font-weight:600}
.tz-root .rail .rail-map .rm-row .np-link{padding:6px 12px;font-size:13px;border-color:var(--slate-200);color:var(--petrol);background:var(--white)}
.tz-root .rail .rail-map .rm-row .np-link svg{width:12px;height:12px;color:var(--teal)}
.tz-root .sector-mark{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:15px;background:var(--petrol);color:var(--turquoise);box-shadow:var(--shadow-card)}
.tz-root .sector-mark svg{width:26px;height:26px}
@media (max-width:1024px){.tz-root .rail{grid-template-columns:1fr}}
/* P5 Knowledge masthead — what changed, reading order, freshness stamp */
.tz-root .masthead{display:grid;grid-template-columns:1.15fr .85fr;gap:0;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--white);box-shadow:var(--shadow-card)}
.tz-root .masthead .mh-main{padding:36px 40px;display:flex;flex-direction:column;gap:12px}
.tz-root .masthead .mh-kicker{display:flex;align-items:center;gap:10px;font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--teal-text)}
.tz-root .masthead .mh-kicker .stamp{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(26,157,173,.4);border-radius:999px;padding:4px 10px;background:var(--teal-ghost)}
.tz-root .masthead .mh-kicker .stamp svg{width:12px;height:12px}
[dir="rtl"] .tz-root .masthead .mh-kicker{letter-spacing:0}
.tz-root .masthead h2{font-size:clamp(26px,2.8vw,36px);line-height:1.25}
.tz-root .masthead .mh-main > p{font-size:16.5px;color:var(--slate-700);max-width:56ch}
.tz-root .masthead .mh-list{display:flex;flex-direction:column;border-top:1px solid var(--line);margin-top:6px}
.tz-root .masthead .mh-list a{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);color:var(--slate-700);font-size:15px}
.tz-root .masthead .mh-list a .d{font-size:12.5px;color:var(--muted);font-weight:600;letter-spacing:.04em;white-space:nowrap}
.tz-root .masthead .mh-list a b{color:var(--petrol);font-weight:600}
.tz-root .masthead .mh-list a svg{width:14px;height:14px;color:var(--teal)}
.tz-root .masthead .mh-list a:hover b{color:var(--teal-text)}
.tz-root .masthead .mh-side{background:var(--petrol);color:var(--white);padding:36px 32px;display:flex;flex-direction:column;gap:16px;position:relative;overflow:hidden}
.tz-root .masthead .mh-side::before{content:"";position:absolute;inset:0;background:radial-gradient(420px 260px at 110% -10%,rgba(63,193,208,.28),transparent 60%)}
.tz-root .masthead .mh-side > *{position:relative}
.tz-root .masthead .mh-side .eyebrow{color:var(--turquoise)}
.tz-root .masthead .mh-side .mh-order{display:flex;flex-direction:column;gap:10px}
.tz-root .masthead .mh-side .mh-order a{display:grid;grid-template-columns:30px 1fr;gap:10px;align-items:center;font-size:15px;color:var(--slate-200)}
.tz-root .masthead .mh-side .mh-order a i{font-style:normal;font-family:var(--font-display);font-size:20px;font-weight:700;color:transparent;-webkit-text-stroke:1.2px var(--turquoise)}
.tz-root .masthead .mh-side .mh-order a b{color:var(--white);font-weight:600}
.tz-root .masthead .mh-side .mh-order a:hover b{color:var(--turquoise)}
.tz-root .masthead .mh-side .mh-src{margin-top:auto;font-size:12.5px;color:rgba(217,225,228,.7);line-height:1.5}
@media (max-width:1024px){.tz-root .masthead{grid-template-columns:1fr}.tz-root .masthead .mh-main{padding:28px 24px}.tz-root .masthead .mh-side{padding:28px 24px}}
.tz-root .masthead .mh-meta{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13.5px;color:var(--muted);margin:-2px 0 6px}
.tz-root .masthead .mh-meta b{color:var(--petrol);font-weight:600}
.tz-root .masthead .mh-main .kf-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}
.tz-root .masthead .mh-src a.km-src{display:inline-flex;align-items:center;gap:6px;color:var(--turquoise);margin-top:8px;font-weight:600}
.tz-root .masthead .mh-src a.km-src svg{width:13px;height:13px}
.tz-root .ladder .ld-head .chip-status{flex:none}
.tz-root .rail .rail-list .rl-k svg{color:inherit}
/* P6 Provenance labels as a horizontal legend (knowledge) */
.tz-root .legend{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;font-size:13.5px;color:var(--slate-700)}
.tz-root .legend span{display:inline-flex;align-items:center;gap:8px}
.tz-root .legend i{width:12px;height:12px;border-radius:3px;display:inline-block}
.tz-root .legend .official i{background:var(--petrol)}.tz-root .legend .explain i{background:var(--teal)}.tz-root .legend .practical i{background:var(--gold)}.tz-root .legend .dated i{background:var(--warm-ghost);border:1px solid var(--warm-line)}
/* P7 Article masthead — labels in the hero */
.tz-root .art-labels{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 18px}
.tz-root .art-labels span{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border-radius:999px;padding:5px 12px;border:1px solid rgba(217,225,228,.35);color:var(--slate-200)}
.tz-root .art-labels span.official{border-color:rgba(63,193,208,.55);color:#7FDCE8}
.tz-root .art-labels span.reviewed{border-color:rgba(216,181,108,.55);color:var(--gold-2)}
.tz-root .art-labels span svg{width:12px;height:12px}
[dir="rtl"] .tz-root .art-labels span{letter-spacing:0}
.tz-root .read-progress{position:fixed;top:0;inset-inline-start:0;height:3px;width:0;background:linear-gradient(90deg,var(--turquoise),var(--gold-2));z-index:80;transition:width .1s linear}
/* P8 Campaign hero (short/long) — offer strip under the form */
.tz-root .offer-strip{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:18px;font-size:13.5px;color:var(--slate-200)}
.tz-root .offer-strip span{display:inline-flex;align-items:center;gap:7px}
.tz-root .offer-strip svg{width:14px;height:14px;color:var(--turquoise)}
.tz-root .campaign-hero .lead-card.cmp-hero-form{padding:30px 30px 26px}
.tz-root .campaign-hero .lead-card.cmp-hero-form h3{font-size:21px}
.tz-root .cmp-disclaimer{font-size:12.5px;color:var(--muted);line-height:1.55;border-top:1px dashed rgba(94,113,120,.35);padding-top:12px;margin-top:22px}
.tz-root .cmp-src{display:none}
@media (max-width:1024px){.tz-root .campaign-hero .ph-grid .lead-card{order:2}}
/* ---------- §V8 Shell refinements ---------- */
/* Mega menu: family marks + a stronger active row + the feature rail as a verification moment */
.tz-root .mega-col h4 .fm{width:22px;height:22px;border-radius:7px;display:inline-grid;place-items:center;background:var(--petrol);color:var(--turquoise);margin-inline-end:2px}
.tz-root .mega-col h4 .fm svg{width:12px;height:12px}
.tz-root .mega-col h4::before{display:none}
.tz-root .mega-col a.current,.tz-root .drop a.current{background:var(--teal-ghost);color:var(--petrol);position:relative}
.tz-root .mega-col a.current::before{content:"";position:absolute;inset-inline-start:0;top:8px;bottom:8px;width:3px;border-radius:2px;background:var(--gold)}
.tz-root .mega-col a{padding-inline-start:12px}
/* Footer V2: families as groups, contact as a card, legal readiness row */
.tz-root .footer.v2 .footer-grid.v4{grid-template-columns:1.25fr 1fr 1fr 1fr;gap:40px}
.tz-root .footer.v2 .f-group{margin-bottom:18px}
.tz-root .footer.v2 .f-group h4{margin-bottom:10px}
.tz-root .footer.v2 .f-group li{margin-bottom:8px}
.tz-root .footer.v2 .f-contact-card{background:rgba(255,255,255,.04);border:1px solid rgba(217,225,228,.14);border-radius:16px;padding:22px 22px 20px}
.tz-root .footer.v2 .f-contact-card .f-contact li{margin-bottom:12px}
.tz-root .footer.v2 .f-contact-card .btn{width:100%;margin-top:6px;padding:12px 18px;font-size:14.5px}
.tz-root .footer.v2 .f-legal-row{display:flex;flex-wrap:wrap;gap:10px 22px;align-items:center;font-size:13.5px;color:rgba(217,225,228,.65)}
.tz-root .footer.v2 .f-legal-row .pending{display:inline-flex;align-items:center;gap:6px}
.tz-root .footer.v2 .f-legal-row .pending i{width:6px;height:6px;border-radius:50%;background:rgba(217,225,228,.35)}
@media (max-width:1024px){.tz-root .footer.v2 .footer-grid.v4{grid-template-columns:1fr 1fr}}
@media (max-width:680px){.tz-root .footer.v2 .footer-grid.v4{grid-template-columns:1fr}}
.tz-root .footer.v2 .f-group h4{display:flex;align-items:center;gap:8px}
.tz-root .footer.v2 .f-group h4 .fm{width:20px;height:20px;border-radius:6px;display:inline-grid;place-items:center;background:rgba(63,193,208,.14);color:var(--turquoise);flex:none}
.tz-root .footer.v2 .f-group h4 .fm svg{width:11px;height:11px}
.tz-root .footer.v2 .f-contact-card h4{margin-bottom:12px}
.tz-root .footer.v2 .f-contact-card .f-lang{margin-top:16px}
/* ---------- §V9 Motion (restrained) ---------- */
:where(html.tz-js) .tz-root .reveal.in .sec-num,:where(html.tz-js) .tz-root .reveal.in .ledger > li::before,:where(html.tz-js) .tz-root .reveal.in .method-strip .ms-n{animation:numDraw .9s ease both}
@keyframes numDraw{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.tz-root .ledger > li{transition:background .25s}
.tz-root .verify-stamp .btn{transition:transform .25s,box-shadow .25s}
.tz-root .verify-stamp:hover .vs-seal{box-shadow:0 0 0 6px rgba(63,193,208,.16),0 0 30px rgba(63,193,208,.3);transition:box-shadow .3s}
.tz-root .reach a,.tz-root .nba a{transition:transform .25s,box-shadow .25s,border-color .25s}
@media (prefers-reduced-motion:reduce){
:where(html.tz-js) .tz-root .reveal.in .sec-num,:where(html.tz-js) .tz-root .reveal.in .ledger > li::before,:where(html.tz-js) .tz-root .reveal.in .method-strip .ms-n{animation:none}
.tz-root .read-progress{transition:none}
.tz-root .reach a,.tz-root .nba a,.tz-root .ledger > li,.tz-root .verify-stamp .btn{transition:none}
}
/* ---------- §V3b Signature slides (homepage showcase without photographs — OD-01 interim) ---------- */
.tz-root .slide.sig-slide{background:radial-gradient(560px 340px at 85% -5%,rgba(63,193,208,.30),transparent 55%),linear-gradient(150deg,var(--petrol) 0%,var(--petrol-deep) 80%)}
.tz-root .slide.sig-slide .sig-art{position:absolute;inset:0;width:100%;height:100%;padding:36px 36px 150px;display:block}
.tz-root .slide.sig-slide .sig-art *{vector-effect:non-scaling-stroke}
.tz-root .slide.sig-slide .scrim{background:linear-gradient(200deg,rgba(6,43,57,0) 45%,rgba(6,32,42,.86) 92%)}
@media (max-width:680px){.tz-root .slide.sig-slide .sig-art{padding:22px 22px 130px}}
/* Industries editorial figure without the skyline photo */
.tz-root .ind-figure.sig{aspect-ratio:10/10.6;border-radius:var(--radius);overflow:hidden;position:relative;z-index:1;
  background:radial-gradient(560px 340px at 85% -5%,rgba(63,193,208,.30),transparent 55%),linear-gradient(150deg,var(--petrol) 0%,var(--petrol-deep) 80%);
  box-shadow:var(--shadow-card-hover),0 0 0 1px rgba(63,193,208,.25)}
.tz-root .ind-figure.sig .sig-art{position:absolute;inset:0;width:100%;height:100%;padding:8% 6%}
.tz-root .ind-figure.sig .sig-art *{vector-effect:non-scaling-stroke}
/* Homepage chapter helper: the editorial (start-aligned) sections get a numeral in the eyebrow row */
.tz-root .editorial-copy .sec-num,.tz-root .cc-head .sec-num,.tz-root .future-panel .sec-num{display:block;font-family:var(--font-display);font-size:56px;font-weight:700;line-height:.9;color:transparent;-webkit-text-stroke:1.3px var(--teal);margin-bottom:14px}
.tz-root .cc-head .sec-num{-webkit-text-stroke-color:var(--turquoise)}
/* Homepage standards band sits between two waves like the numbers band did */
.tz-root .standards .wave{margin:0}
.tz-root .section--pt40{padding-top:40px}
/* ---------- §V7b Contact hero reach panel (dark) + office facts ---------- */
.tz-root .reach-panel{position:relative;border-radius:22px;overflow:hidden;color:var(--white);padding:30px 30px 26px;
  background:radial-gradient(560px 340px at 85% -5%,rgba(63,193,208,.30),transparent 55%),linear-gradient(150deg,var(--petrol) 0%,var(--petrol-deep) 80%);
  box-shadow:var(--shadow-deep),0 0 0 1px rgba(63,193,208,.28),inset 0 0 70px -30px rgba(63,193,208,.55)}
.tz-root .reach-panel .rp-eyebrow{color:var(--gold-2);font-size:12.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;margin-bottom:14px;display:flex;align-items:center;gap:10px}
.tz-root .reach-panel .rp-eyebrow::before{content:"";width:26px;height:2px;background:var(--gold-2);border-radius:2px}
[dir="rtl"] .tz-root .reach-panel .rp-eyebrow{letter-spacing:0}
.tz-root .reach-panel .reach{grid-template-columns:1fr;gap:10px}
.tz-root .reach-panel .reach a{background:var(--glass);border-color:var(--glass-line);color:var(--slate-200);box-shadow:none;padding:14px 16px}
.tz-root .reach-panel .reach a:hover{background:rgba(63,193,208,.12);border-color:rgba(63,193,208,.5)}
.tz-root .reach-panel .reach b{color:var(--white)}.tz-root .reach-panel .reach span{color:var(--slate-200)}
.tz-root .reach-panel .reach .rc-ico{background:rgba(63,193,208,.14);border-color:rgba(63,193,208,.4)}.tz-root .reach-panel .reach .rc-ico svg{color:var(--turquoise)}
.tz-root .reach-panel .reach a.best{border-top:2px solid var(--turquoise)}
.tz-root .reach-panel .reach a.best .rc-ico{background:linear-gradient(135deg,var(--gold-2),var(--gold))}.tz-root .reach-panel .reach a.best .rc-ico svg{color:#20170A}
.tz-root .reach-panel .rp-foot{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:16px;font-size:13.5px;color:var(--slate-200)}
.tz-root .reach-panel .rp-foot span{display:inline-flex;align-items:center;gap:7px}
.tz-root .reach-panel .rp-foot svg{width:14px;height:14px;color:var(--turquoise)}
@media (max-width:1024px){.tz-root .reach-panel{max-width:560px;margin-inline:auto;width:100%}}
@media (max-width:680px){.tz-root .reach-panel{padding:22px 20px 20px}}
/* Route tiles as a compact rail on mobile (contact) */
@media (max-width:680px){.tz-root .route-tiles{display:flex;flex-direction:column}.tz-root .route-tile{display:grid;grid-template-columns:46px 1fr;gap:4px 14px;padding:16px 18px}.tz-root .route-tile .rt-ico{grid-row:1/span 3;margin:0}.tz-root .route-tile p{grid-column:2;font-size:14px}.tz-root .route-tile .go{grid-column:2}}


/* ===== v21.css ===== */
/* AL TAMAYUZ — v21.css · PRODUCTION-TARGETED EVOLUTION 02 (additive over style.css → v4.css → site.css → v2.css)
   §W0 corrections to V2 (things the reassessment classified DROP/REFINE)
   §W1 hybrid media system — real-photo placeholders (composition frames, never fake people), editorial figures on light, document heroes
   §W2 page-specific art direction (financial reporting, CFO, audit family, tax trio accents)
   §W3 Arabic compositions   §W4 mobile compositions   §W5 form states   §W6 nav/footer states   §W7 campaign identities   §W8 knowledge reading system
   Rules: logical properties only; tokens from style.css; no !important; every block readable without JS. */
/* ---------- §W0 Corrections ---------- */
.tz-root .verify-stamp:hover .vs-seal{box-shadow:none}
/* M3 seal glow dropped */
.tz-root .method-strip{grid-template-columns:repeat(4,1fr)}
/* max 4 columns */
.tz-root .method-strip .ms-n{font-size:22px;-webkit-text-stroke-width:1px;opacity:.9}
.tz-root .trust-ribbon{display:none}
/* ribbon pages use the credential line */
.tz-root .stamp-band{padding:0 0 48px}
/* stamp gets its own slim band above FAQ */
/* ---------- §W1 Hybrid media system ---------- */
/* Photo placeholder: an honest composition frame for a future real photograph. Never a synthetic person or document. */
.tz-root .ph{position:relative;overflow:hidden;border-radius:var(--radius);background:
    linear-gradient(160deg,#EEF3F4 0%,#DCE6E9 55%,#CBD9DD 100%);border:1px solid var(--line);min-height:240px}
.tz-root .ph::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(8,56,74,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(8,56,74,.06) 1px,transparent 1px);background-size:40px 40px;opacity:.7}
.tz-root .ph .ph-horizon{position:absolute;inset-inline:0;top:58%;height:1px;background:rgba(8,56,74,.18)}
.tz-root .ph .ph-sun{position:absolute;inset-inline-start:12%;top:18%;width:26%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 40% 40%,rgba(255,255,255,.9),rgba(255,255,255,.2) 60%,transparent 70%)}
.tz-root .ph .ph-fig{position:absolute;bottom:0;inset-inline-end:14%;width:26%;height:62%;border-radius:40% 40% 8px 8px/30% 30% 8px 8px;background:linear-gradient(180deg,rgba(8,56,74,.22),rgba(8,56,74,.12))}
.tz-root .ph .ph-fig.two{inset-inline-end:42%;height:54%;width:22%;opacity:.8}
.tz-root .ph .ph-desk{position:absolute;inset-inline:8%;bottom:14%;height:10%;border-radius:6px;background:rgba(8,56,74,.16)}
.tz-root .ph .ph-tag{position:absolute;inset-inline-start:16px;top:14px;display:inline-flex;align-items:center;gap:8px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--petrol);background:rgba(255,255,255,.85);border:1px solid var(--line);border-radius:999px;padding:5px 10px}
.tz-root .ph .ph-tag i{width:8px;height:8px;border-radius:50%;background:var(--gold)}
[dir="rtl"] .tz-root .ph .ph-tag{letter-spacing:0}
.tz-root .ph .ph-cap{position:absolute;inset-inline:16px;bottom:14px;font-size:12.5px;color:var(--slate-700);line-height:1.5;max-width:52ch}
.tz-root .ph .ph-cap b{color:var(--petrol);font-weight:600}
.tz-root .ph.dark{background:linear-gradient(160deg,#0B3D4F 0%,#0A3242 55%,#062633 100%);border-color:rgba(63,193,208,.25)}
.tz-root .ph.dark::before{background-image:linear-gradient(rgba(63,193,208,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(63,193,208,.08) 1px,transparent 1px)}
.tz-root .ph.dark .ph-horizon{background:rgba(63,193,208,.25)}.tz-root .ph.dark .ph-fig{background:linear-gradient(180deg,rgba(63,193,208,.28),rgba(63,193,208,.14))}.tz-root .ph.dark .ph-desk{background:rgba(63,193,208,.18)}
.tz-root .ph.dark .ph-tag{background:rgba(6,32,42,.7);color:var(--turquoise);border-color:rgba(63,193,208,.35)}.tz-root .ph.dark .ph-cap{color:var(--slate-200)}.tz-root .ph.dark .ph-cap b{color:var(--white)}
.tz-root .ph.portrait{aspect-ratio:1/1;min-height:0}.tz-root .ph.portrait .ph-fig{inset-inline-end:30%;width:40%;height:70%}.tz-root .ph.portrait .ph-fig.two,.tz-root .ph.portrait .ph-desk{display:none}
.tz-root .ph.wide{aspect-ratio:16/9;min-height:0}.tz-root .ph.tall{aspect-ratio:10/11.4;min-height:0}
/* Hero with a photo placeholder (replaces .hero-figure.sig where REAL PHOTO PREFERRED) */
.tz-root .hero-figure.photo{padding:0;display:block;aspect-ratio:10/7.4;background:none;border:0;box-shadow:var(--shadow-card-hover)}
.tz-root .hero-figure.photo .ph{height:100%;border-radius:var(--radius);border:1px solid rgba(63,193,208,.28)}
.tz-root .hero-figure.photo .hf-meta{position:absolute;inset-inline:0;bottom:0;padding:22px 28px 26px;background:linear-gradient(180deg,transparent,rgba(6,32,42,.86) 60%);border-radius:0 0 var(--radius) var(--radius);z-index:2}
.tz-root .hero-figure.photo .hf-meta .eyebrow{color:var(--gold-2)}.tz-root .hero-figure.photo .hf-meta .eyebrow::before{background:var(--gold-2)}
.tz-root .hero-figure.photo .hf-meta b{color:var(--white);font-size:clamp(20px,1.7vw,24px)}.tz-root .hero-figure.photo .hf-meta span{color:var(--slate-200);font-size:14px}
/* Document hero: typographic "document" panel — for disciplines whose truth is a paper (reports, letters, statements) */
.tz-root .hero-figure.doc{display:grid;grid-template-rows:1fr auto;aspect-ratio:10/7.4;padding:0;background:linear-gradient(160deg,#0E4457,#08384A 60%,#062A38);border:1px solid rgba(63,193,208,.28);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-card-hover)}
.tz-root .hero-figure.doc .sheet{margin:34px 34px 0;background:var(--white);border-radius:10px 10px 0 0;padding:26px 28px 0;color:var(--petrol);box-shadow:0 -10px 40px -20px rgba(0,0,0,.5);position:relative;overflow:hidden}
.tz-root .hero-figure.doc .sheet .sh-kicker{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--teal-text);font-weight:700;margin-bottom:8px}
.tz-root .hero-figure.doc .sheet .sh-title{font-family:var(--font-display);font-size:clamp(18px,1.5vw,22px);font-weight:600;line-height:1.25;margin-bottom:14px}
.tz-root .hero-figure.doc .sheet .sh-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:7px 0;border-top:1px solid var(--line);font-size:12.5px;color:var(--slate-700)}
.tz-root .hero-figure.doc .sheet .sh-row b{color:var(--petrol);font-weight:600;font-variant-numeric:tabular-nums}
.tz-root .hero-figure.doc .sheet .sh-row.total{border-top:2px solid var(--petrol);font-weight:700;color:var(--petrol)}
.tz-root .hero-figure.doc .sheet .sh-row.gold b{color:var(--warm-ink)}
.tz-root .hero-figure.doc .sheet .sh-bar{height:6px;border-radius:3px;background:var(--mist);margin:6px 0 2px;overflow:hidden}.tz-root .hero-figure.doc .sheet .sh-bar i{display:block;height:100%;background:var(--teal);width:62%}
.tz-root .hero-figure.doc .sheet .sh-stamp{position:absolute;inset-inline-end:20px;top:18px;width:54px;height:54px;border-radius:50%;border:1.5px solid rgba(26,157,173,.5);display:grid;place-items:center;color:var(--teal)}.tz-root .hero-figure.doc .sheet .sh-stamp svg{width:22px;height:22px}
.tz-root .hero-figure.doc .hf-meta{padding:16px 32px 26px;position:relative;z-index:2}
.tz-root .hero-figure.doc .hf-meta .eyebrow{color:var(--gold-2);margin-bottom:6px;font-size:12.5px}.tz-root .hero-figure.doc .hf-meta .eyebrow::before{background:var(--gold-2);width:26px}
.tz-root .hero-figure.doc .hf-meta b{font-size:clamp(20px,1.7vw,24px);line-height:1.25;color:var(--white)}.tz-root .hero-figure.doc .hf-meta span{font-size:14px;color:var(--slate-200)}
[dir="rtl"] .tz-root .hero-figure.doc .sheet .sh-kicker{letter-spacing:0}
/* Editorial figure on light (industries, knowledge): petrol strokes on mist, no dark tile */
.tz-root .fig-light{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-card)}
.tz-root .fig-light .sig-art{width:100%;height:auto;display:block}
.tz-root .fig-light .sig-art .f0{fill:var(--mist)}.tz-root .fig-light .sig-art .f1{fill:rgba(26,157,173,.12)}.tz-root .fig-light .sig-art .f2{fill:var(--teal)}.tz-root .fig-light .sig-art .f3{fill:var(--gold)}
.tz-root .fig-light .sig-art .l1{stroke:rgba(8,56,74,.22)}.tz-root .fig-light .sig-art .l2{stroke:var(--teal)}.tz-root .fig-light .sig-art .l3{stroke:var(--gold)}
.tz-root .fig-light .sig-art .t1,.tz-root .fig-light .sig-art .t2{fill:var(--petrol)}.tz-root .fig-light .sig-art .t3{fill:var(--warm-ink)}
/* Mobile media band: a purpose-drawn 3:1 band (photo placeholder or doc strip), not a crop of the desktop figure */
@media (max-width:1024px){
.tz-root .hero-figure.photo,.tz-root .hero-figure.doc{order:1;aspect-ratio:auto;height:118px;max-width:none;width:100%;margin:6px 0 22px;grid-template-rows:1fr;border-radius:16px}
.tz-root .hero-figure.photo .hf-meta,.tz-root .hero-figure.doc .hf-meta{display:none}
.tz-root .hero-figure.doc .sheet{margin:14px 16px 0;padding:12px 16px 0}.tz-root .hero-figure.doc .sheet .sh-title{font-size:15px;margin-bottom:6px}.tz-root .hero-figure.doc .sheet .sh-row{display:none}.tz-root .hero-figure.doc .sheet .sh-row:first-of-type{display:grid}
.tz-root .ph .ph-cap{display:none}.tz-root .ph .ph-fig{height:78%}
}
@media (max-width:680px){.tz-root .hero-figure.photo,.tz-root .hero-figure.doc{height:104px;margin-bottom:18px}}
/* Real client video as a trust component (home + about + client center): poster placeholder frame with real attribution fields */
.tz-root .video-proof{display:grid;grid-template-columns:1.1fr .9fr;gap:0;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--white);box-shadow:var(--shadow-card)}
.tz-root .video-proof .vp-frame{position:relative;min-height:300px;background:linear-gradient(160deg,#0E4457,#062A38)}
.tz-root .video-proof .vp-frame img{width:100%;height:100%;object-fit:cover;display:block}
.tz-root .video-proof .vp-play{position:absolute;inset:0;display:grid;place-items:center}
.tz-root .video-proof .vp-play span{width:72px;height:72px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;color:var(--petrol);box-shadow:0 14px 34px -10px rgba(6,26,35,.6)}
.tz-root .video-proof .vp-play svg{width:26px;height:26px;margin-inline-start:3px}
.tz-root .video-proof .vp-body{padding:30px 32px;display:flex;flex-direction:column;gap:10px;justify-content:center}
.tz-root .video-proof .vp-body .eyebrow{margin-bottom:0}
.tz-root .video-proof .vp-body blockquote{font-family:var(--font-display);font-size:clamp(20px,1.8vw,24px);line-height:1.35;color:var(--petrol);margin:0}
.tz-root .video-proof .vp-body .vp-who{font-size:14px;color:var(--slate-700)}.tz-root .video-proof .vp-body .vp-who b{color:var(--petrol);font-weight:600}
.tz-root .video-proof .vp-body .vp-note{font-size:12.5px;color:var(--muted);border-top:1px dashed rgba(94,113,120,.35);padding-top:10px;margin-top:6px}
@media (max-width:900px){.tz-root .video-proof{grid-template-columns:1fr}.tz-root .video-proof .vp-frame{min-height:220px}.tz-root .video-proof .vp-body{padding:22px}}
/* Office presence: a real-place block (address, hours, map link) — trust without stats */
.tz-root .office-card{display:grid;grid-template-columns:auto 1fr;gap:14px 18px;padding:22px 24px;border:1px solid var(--line);border-radius:16px;background:var(--white);box-shadow:var(--shadow-card)}
.tz-root .office-card .oc-ico{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:var(--teal-ghost);border:1px solid rgba(63,193,208,.35);color:var(--teal)}.tz-root .office-card .oc-ico svg{width:22px;height:22px}
.tz-root .office-card b{font-family:var(--font-display);font-size:18px;color:var(--petrol);font-weight:600;display:block}
.tz-root .office-card span{display:block;font-size:14px;color:var(--slate-700);line-height:1.55}
.tz-root .office-card .oc-hours{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:12px}
.tz-root .office-card .oc-hours b{display:inline;font:600 13px/1.4 var(--font-body);color:var(--petrol)}
.tz-root .office-card.reserved{opacity:.55;border-style:dashed}
/* ---------- §W2a Homepage V2.1 variants ---------- */
/* Hybrid showcase slide: photo placeholder / light figure / real video poster inside the frozen showcase frame */
.tz-root .slide.ph-slide .ph{position:absolute;inset:0;border-radius:0;border:0;min-height:0}
.tz-root .slide.ph-slide .scrim{background:linear-gradient(200deg,rgba(6,43,57,0) 50%,rgba(6,32,42,.88) 92%)}
.tz-root .slide.fig-slide{background:var(--white)}
.tz-root .slide.fig-slide .fig-light{position:absolute;inset:0;border:0;border-radius:0;box-shadow:none;padding:34px 34px 150px}
.tz-root .slide.fig-slide .fig-light .sig-art{height:100%;width:100%}
.tz-root .slide.fig-slide .scrim{background:linear-gradient(200deg,rgba(6,43,57,0) 55%,rgba(6,32,42,.9) 92%)}
.tz-root .slide.video-slide img{filter:none}
.tz-root .slide.video-slide .vp-play{position:absolute;inset:0;display:grid;place-items:center;z-index:2}
.tz-root .slide.video-slide .vp-play span{width:72px;height:72px;border-radius:50%;background:rgba(255,255,255,.92);display:grid;place-items:center;color:var(--petrol);box-shadow:0 14px 34px -10px rgba(6,26,35,.6)}
.tz-root .slide.video-slide .vp-play svg{width:26px;height:26px;margin-inline-start:3px}
/* HOME-D: single composed photo (no slider) */
.tz-root .showcase.single .showcase-card{aspect-ratio:10/8.6}
.tz-root .showcase.single .ph{position:absolute;inset:0;border-radius:0;border:0;min-height:0}
.tz-root .showcase.single .sc-card{position:absolute;inset-inline-start:26px;bottom:26px;max-width:340px;background:rgba(6,32,42,.86);backdrop-filter:blur(6px);border:1px solid rgba(63,193,208,.35);border-radius:14px;padding:16px 18px;z-index:3;color:var(--white)}
.tz-root .showcase.single .sc-card .eyebrow{color:var(--gold-2);margin-bottom:4px;font-size:12px}.tz-root .showcase.single .sc-card .eyebrow::before{background:var(--gold-2);width:22px}
.tz-root .showcase.single .sc-card b{font-family:var(--font-display);font-size:19px;font-weight:600;display:block;line-height:1.25}
.tz-root .showcase.single .sc-card span{font-size:13px;color:var(--slate-200);display:block;margin-top:4px}
/* HOME-E: document showcase */
.tz-root .showcase.doc .showcase-card{aspect-ratio:10/8.6;display:block}
.tz-root .showcase.doc .hero-figure.doc{position:absolute;inset:0;aspect-ratio:auto;border-radius:0;border:0;box-shadow:none}
/* Editorial figure (about) as a light photo placeholder instead of the glass "technology" panel */
.tz-root .adv-figure.ph-wrap{padding:0}
.tz-root .adv-figure.ph-wrap .ph{aspect-ratio:10/11.4;min-height:0}
.tz-root .adv-figure.ph-wrap .adv-panel{position:absolute;inset-inline-start:22px;bottom:22px;max-width:320px;background:rgba(6,32,42,.88);border:1px solid rgba(63,193,208,.35);border-radius:14px;padding:16px 18px;color:var(--white);z-index:3}
.tz-root .adv-figure.ph-wrap .adv-panel .eyebrow{color:var(--turquoise);margin-bottom:4px}.tz-root .adv-figure.ph-wrap .adv-panel b{font-family:var(--font-display);font-size:18px;font-weight:600;display:block}.tz-root .adv-figure.ph-wrap .adv-panel span{font-size:13px;color:var(--slate-200);display:block;margin-top:4px}
/* Industries figure on light */
.tz-root .ind-figure.fig-light{padding:26px;aspect-ratio:10/10.6;display:grid;align-items:center}
.tz-root .ind-figure.fig-light::after{display:none}
/* Video proof placement in #testimonials */
.tz-root #testimonials .video-proof{margin-bottom:26px}
.tz-root #testimonials .t-grid.two{grid-template-columns:1fr 1fr;max-width:820px;margin-inline:auto}
@media (max-width:900px){.tz-root #testimonials .t-grid.two{grid-template-columns:1fr}}
/* Mobile: showcase becomes a compact media band (HOME-C2/D/E) */
@media (max-width:1024px){
body[class*="home-"] .tz-root .showcase-card{aspect-ratio:auto;height:180px}
body[class*="home-"] .tz-root .showcase.single .showcase-card,body[class*="home-"] .tz-root .showcase.doc .showcase-card{height:200px}
body[class*="home-"] .tz-root .slide-meta h3{font-size:20px}body[class*="home-"] .tz-root .slide-meta .slide-note{display:none}body[class*="home-"] .tz-root .slide-index{display:none}
body[class*="home-"] .tz-root .showcase.single .sc-card{inset-inline-start:14px;bottom:14px;padding:10px 12px}body[class*="home-"] .tz-root .showcase.single .sc-card span{display:none}
body[class*="home-"] .tz-root .showcase.doc .hero-figure.doc .hf-meta{display:none}body[class*="home-"] .tz-root .showcase.doc .sheet{margin:16px 16px 0}
}
/* §W2a fixes after first render: no caption under slide meta; softer light; doc sheet must show all rows */
.tz-root .slide.ph-slide .ph .ph-cap,.tz-root .showcase.single .ph .ph-cap{display:none}
.tz-root .ph .ph-sun{width:20%;opacity:.55}
.tz-root .showcase.doc .hero-figure.doc{grid-template-rows:1fr auto}
.tz-root .showcase.doc .hero-figure.doc .sheet{margin:26px 28px 0;padding:18px 22px 0}
.tz-root .showcase.doc .hero-figure.doc .sheet .sh-row{padding:6px 0;font-size:12px}
.tz-root .showcase.doc .hero-figure.doc .sheet .sh-title{font-size:18px;margin-bottom:10px}
.tz-root .showcase.doc .hero-figure.doc .hf-meta{padding:12px 28px 22px}
.tz-root .showcase.doc .hero-figure.doc .hf-meta b{font-size:19px}.tz-root .showcase.doc .hero-figure.doc .hf-meta span{font-size:13px}
/* §W4 mobile: hero proof condensed to the first three facts */
@media (max-width:680px){.tz-root .hero .hero-proof > span:nth-child(n/**/+6),.tz-root .page-hero .hero-proof > span:nth-child(n/**/+6){display:none}}
/* §W2a doc showcase: sheet clipped inside its row, meta on a solid petrol base */
.tz-root .showcase.doc .hero-figure.doc{grid-template-rows:minmax(0,1fr) auto}
.tz-root .showcase.doc .hero-figure.doc .sheet{overflow:hidden;align-self:stretch;min-height:0}
.tz-root .showcase.doc .hero-figure.doc .hf-meta{background:linear-gradient(180deg,rgba(6,42,56,0) 0%,#062A38 26%)}
.tz-root .hero-figure.doc{grid-template-rows:minmax(0,1fr) auto}.tz-root .hero-figure.doc .sheet{overflow:hidden;min-height:0}.tz-root .hero-figure.doc .hf-meta{background:linear-gradient(180deg,rgba(6,42,56,0) 0%,#062A38 26%)}
/* ---------- §W2b Hubs V2.1 ---------- */
/* Contact: offices row (Dubai real · second office reserved) */
.tz-root .offices{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px}
@media (max-width:900px){.tz-root .offices{grid-template-columns:1fr}}
/* Contact B: intake-first hero (form in the hero column) */
.tz-root .page-hero.split .lead-card.cmp-hero-form{align-self:start}
.tz-root .reach-panel.light{background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow-card);color:var(--slate-700);margin-bottom:26px}
.tz-root .reach-panel.light .rp-eyebrow{color:var(--teal-text)}.tz-root .reach-panel.light .rp-foot{color:var(--muted)}
/* Client Center B: maturity line (three truthful states on one rail) */
.tz-root .maturity-line{display:grid;grid-template-columns:repeat(3,1fr);gap:0;position:relative;margin:8px 0 26px}
.tz-root .maturity-line::before{content:"";position:absolute;inset-inline:16.6%;top:22px;height:2px;background:linear-gradient(90deg,var(--teal) 0 33%,var(--slate-200) 33%)}
[dir="rtl"] .tz-root .maturity-line::before{background:linear-gradient(270deg,var(--teal) 0 33%,var(--slate-200) 33%)}
.tz-root .maturity-line .ml{position:relative;text-align:center;padding:0 12px}
.tz-root .maturity-line .ml i{width:46px;height:46px;border-radius:50%;margin:0 auto 12px;border:2px solid var(--slate-200);background:var(--white);display:grid;place-items:center;color:var(--muted);position:relative;z-index:1}
.tz-root .maturity-line .ml i svg{width:20px;height:20px}
.tz-root .maturity-line .ml.now i{border-color:var(--teal);background:var(--teal-grad);color:var(--white)}
.tz-root .maturity-line .ml.soon i{border-style:dashed;border-color:var(--teal)}
.tz-root .maturity-line .ml b{font-family:var(--font-display);font-size:18px;color:var(--petrol);display:block}
.tz-root .maturity-line .ml span{font-size:13.5px;color:var(--muted);display:block;max-width:26ch;margin:4px auto 0}
.tz-root .maturity-line .ml.now span{color:var(--slate-700)}
.tz-root .cc-team{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:22px 26px;border-radius:16px;background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow-card);margin-bottom:26px}
.tz-root .cc-team .ct-ph{width:120px;height:90px;border-radius:12px;overflow:hidden}.tz-root .cc-team .ct-ph .ph{min-height:0;height:100%;border-radius:12px}.tz-root .cc-team .ct-ph .ph-tag{display:none}
.tz-root .cc-team b{font-family:var(--font-display);font-size:19px;color:var(--petrol);display:block}.tz-root .cc-team span{font-size:14px;color:var(--slate-700);display:block;margin-top:3px}
@media (max-width:900px){.tz-root .cc-team{grid-template-columns:1fr}.tz-root .cc-team .ct-ph{width:100%;height:120px}.tz-root .maturity-line{grid-template-columns:1fr;gap:18px}.tz-root .maturity-line::before{display:none}.tz-root .maturity-line .ml{text-align:start;display:grid;grid-template-columns:46px 1fr;gap:4px 14px}.tz-root .maturity-line .ml i{margin:0;grid-row:1/span 2}.tz-root .maturity-line .ml span{margin:0;max-width:none}}
/* Ladder refinement (V2 REFINE): calmer planned column */
.tz-root .ladder .ld-col.future{background:var(--mist);background-image:none;border-inline-start:1px dashed var(--slate-200)}
.tz-root .ladder .ld-col.future h3{color:var(--slate-700)}
/* ---------- §W8 Knowledge article reading systems ---------- */
.tz-root .article{max-width:70ch}
.tz-root .article p,.tz-root .article li{font-size:17px;line-height:1.75}
.tz-root .article h2{font-size:clamp(24px,2.2vw,30px);margin:40px 0 14px;scroll-margin-top:110px}
.tz-root .article p.lead{font-size:19px;line-height:1.7;color:var(--petrol)}
.tz-root .key-take{border:1px solid var(--line);border-inline-start:4px solid var(--gold);border-radius:12px;background:var(--white);padding:20px 24px;margin:0 0 26px;box-shadow:var(--shadow-card)}
.tz-root .key-take .kt-lbl{font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--warm-ink);margin-bottom:8px}
[dir="rtl"] .tz-root .key-take .kt-lbl{letter-spacing:0}
.tz-root .key-take p{font-family:var(--font-display);font-size:20px;line-height:1.4;color:var(--petrol);margin:0}
.tz-root .glance{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:12px;background:var(--white);margin:0 0 26px;overflow:hidden}
.tz-root .glance div{padding:14px 18px;border-inline-start:1px solid var(--line)}.tz-root .glance div:first-child{border-inline-start:none}
.tz-root .glance small{display:block;font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-text);margin-bottom:4px}
[dir="rtl"] .tz-root .glance small{letter-spacing:0}
.tz-root .glance b{font-size:14.5px;color:var(--petrol);font-weight:600;line-height:1.4}
@media (max-width:900px){.tz-root .glance{grid-template-columns:1fr 1fr}.tz-root .glance div:nth-child(3){border-inline-start:none}.tz-root .glance div:nth-child(n/**/+3){border-top:1px solid var(--line)}}
/* B — editorial */
body.art-b .tz-root .article p.lead::first-letter{font-family:var(--font-display);font-size:3.6em;line-height:.85;float:inline-start;margin:6px 10px 0 0;color:var(--teal)}
[dir="rtl"] body.art-b .tz-root .article p.lead::first-letter{margin:6px 0 0 10px}
body.art-b .tz-root .article blockquote{border:0;padding:0 0 0 26px;margin:34px 0;font-family:var(--font-display);font-size:26px;line-height:1.35;color:var(--petrol);position:relative;background:none}
[dir="rtl"] body.art-b .tz-root .article blockquote{padding:0 26px 0 0}
body.art-b .tz-root .article blockquote::before{content:"";position:absolute;inset-inline-start:0;top:6px;bottom:6px;width:3px;background:var(--gold);border-radius:2px}
body.art-b .tz-root .article blockquote cite{display:block;font:600 13px/1.4 var(--font-body);color:var(--muted);margin-top:10px;letter-spacing:.06em;text-transform:uppercase}
body.art-b .tz-root .prov{display:none}
body.art-b .tz-root .side-notes{display:flex;flex-direction:column;gap:14px;margin-top:18px}
body.art-b .tz-root .side-notes .sn{font-size:13.5px;line-height:1.55;color:var(--slate-700);border-top:1px solid var(--line);padding-top:10px}
body.art-b .tz-root .side-notes .sn b{display:block;color:var(--petrol);font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:3px}
/* C — guided */
body.art-c .tz-root .article-toc ol{counter-reset:st}
body.art-c .tz-root .article-toc li{counter-increment:st;display:grid;grid-template-columns:26px 1fr;gap:8px;align-items:start}
body.art-c .tz-root .article-toc li::before{content:counter(st,decimal-leading-zero);font-family:var(--font-display);font-weight:700;color:var(--teal);font-size:14px}
.tz-root .do-next{border-radius:14px;background:var(--petrol);color:var(--white);padding:22px 24px;margin:30px 0}
.tz-root .do-next .dn-lbl{font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--turquoise);margin-bottom:8px}
[dir="rtl"] .tz-root .do-next .dn-lbl{letter-spacing:0}
.tz-root .do-next ol{margin:0;padding-inline-start:20px;font-size:15.5px;line-height:1.65;color:var(--slate-200)}.tz-root .do-next ol b{color:var(--white)}
.tz-root .do-next .btn{margin-top:14px}
/* ---------- §W2c Industries V2.1 ---------- */
.tz-root .sector-real{font-family:var(--font-display);font-size:clamp(19px,1.6vw,22px);line-height:1.4;color:var(--petrol);border-inline-start:3px solid var(--gold);padding-inline-start:16px;margin:14px 0 22px;max-width:60ch}
.tz-root .sector-matrix{width:100%;border-collapse:separate;border-spacing:0;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;font-size:14.5px}
.tz-root .sector-matrix th,.tz-root .sector-matrix td{padding:12px 14px;border-top:1px solid var(--line);text-align:start;vertical-align:middle}
.tz-root .sector-matrix thead th{border-top:0;background:var(--mist);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-text)}
[dir="rtl"] .tz-root .sector-matrix thead th{letter-spacing:0}
.tz-root .sector-matrix td:first-child{font-weight:600;color:var(--petrol)}
.tz-root .sector-matrix td.y{color:var(--teal)}.tz-root .sector-matrix td.y svg{width:16px;height:16px}
.tz-root .sector-matrix td.n{color:var(--slate-200)}
.tz-root .sector-matrix tr:hover td{background:rgba(63,193,208,.06)}
.tz-root .sector-matrix a{color:inherit}
@media (max-width:900px){.tz-root .sector-matrix{font-size:13px}.tz-root .sector-matrix th,.tz-root .sector-matrix td{padding:10px 8px}}
/* ---------- §W7 Campaign identities (one brand, six motifs) ---------- */
/* Motif A — Corporate Tax readiness: the computation. Petrol hero, document watermark, hairline numerals. */
body.cmp-ct_readiness .tz-root .campaign-hero{background:radial-gradient(900px 500px at 80% 0%,rgba(63,193,208,.14),transparent 60%),linear-gradient(160deg,#0B3D4F,#08384A 55%,#062A38)}
body.cmp-ct_readiness .tz-root .campaign-hero .cmp-motif{position:absolute;inset-inline-end:-40px;top:60px;width:420px;opacity:.12;pointer-events:none}
body.cmp-ct_readiness .tz-root .ledger > li::before{-webkit-text-stroke-color:var(--gold)}
/* Motif B — VAT health check: the rhythm. Teal-deep hero, transaction bars as a band under the hero. */
body.cmp-vat_health .tz-root .campaign-hero{background:radial-gradient(900px 500px at 15% 0%,rgba(63,193,208,.22),transparent 60%),linear-gradient(160deg,#0E5A66,#0B4A56 50%,#08384A)}
body.cmp-vat_health .tz-root .rhythm-band{display:flex;align-items:flex-end;gap:6px;height:64px;padding:0 4px;margin:18px 0 0}
body.cmp-vat_health .tz-root .rhythm-band i{flex:1;display:block;border-radius:3px 3px 0 0;background:rgba(63,193,208,.55)}
body.cmp-vat_health .tz-root .rhythm-band i.n{background:rgba(217,225,228,.28)}
body.cmp-vat_health .tz-root .rhythm-band i.g{background:var(--gold-2)}
/* Motif C — E-invoicing readiness: the flow. Petrol hero with a fine grid; three-node flow strip as the proof structure. */
body.cmp-einv_readiness .tz-root .campaign-hero{background-image:linear-gradient(rgba(63,193,208,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(63,193,208,.07) 1px,transparent 1px),linear-gradient(160deg,#0B3D4F,#08384A 60%,#062A38);background-size:48px 48px,48px 48px,auto}
.tz-root .flow-strip{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:14px;align-items:center;margin:8px 0 26px}
.tz-root .flow-strip .fn{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:18px 20px;box-shadow:var(--shadow-card)}
.tz-root .flow-strip .fn b{font-family:var(--font-display);font-size:18px;color:var(--petrol);display:block;margin-bottom:4px}
.tz-root .flow-strip .fn span{font-size:14px;color:var(--slate-700);line-height:1.5}
.tz-root .flow-strip .fa{color:var(--teal)}.tz-root .flow-strip .fa svg{width:26px;height:26px}
[dir="rtl"] .tz-root .flow-strip .fa svg{transform:scaleX(-1)}
@media (max-width:900px){.tz-root .flow-strip{grid-template-columns:1fr}.tz-root .flow-strip .fa{justify-self:center;transform:rotate(90deg)}}
/* Motif D — Small Business Relief: the decision. Light (mist) hero with petrol type; two-column comparison as proof. */
body.cmp-sbr_election .tz-root .campaign-hero{background:linear-gradient(160deg,#F4F7F8,#E9F0F2);color:var(--ink)}
body.cmp-sbr_election .tz-root .campaign-hero h1,body.cmp-sbr_election .tz-root .campaign-hero .hero-eyebrow{color:var(--petrol)}
body.cmp-sbr_election .tz-root .campaign-hero .ph-sub{color:var(--slate-700)}
body.cmp-sbr_election .tz-root .campaign-hero .hero-proof{color:var(--slate-700)}body.cmp-sbr_election .tz-root .campaign-hero .hero-proof .sep{background:var(--gold)}
body.cmp-sbr_election .tz-root .campaign-hero .hero-eyebrow{color:var(--warm-ink)}
body.cmp-sbr_election .tz-root .campaign-hero .fta-badge{background:var(--white);color:var(--petrol);border-color:rgba(26,157,173,.4);box-shadow:none}
body.cmp-sbr_election .tz-root .campaign-hero .breadcrumb,body.cmp-sbr_election .tz-root .campaign-hero .breadcrumb a{color:var(--slate-700)}
body.cmp-sbr_election .tz-root .campaign-hero .wave svg path{fill:#FFFFFF}
body.cmp-sbr_election .tz-root .campaign-hero .lead-card.cmp-hero-form{background:var(--petrol);border-color:rgba(63,193,208,.35)}
.tz-root .compare-two{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:8px 0 26px}
.tz-root .compare-two > div{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:24px 26px;box-shadow:var(--shadow-card)}
.tz-root .compare-two > div.elect{border-top:3px solid var(--teal)}.tz-root .compare-two > div.keep{border-top:3px solid var(--gold)}
.tz-root .compare-two h3{font-size:20px;margin-bottom:12px}
.tz-root .compare-two ul{display:flex;flex-direction:column;gap:9px;font-size:15px;line-height:1.55}
.tz-root .compare-two li{display:flex;gap:10px;align-items:flex-start}.tz-root .compare-two li svg{width:15px;height:15px;flex:none;margin-top:4px;color:var(--teal)}
.tz-root .compare-two .keep li svg{color:var(--warm-ink)}
.tz-root .compare-two .ct-note{margin-top:14px;padding-top:12px;border-top:1px dashed rgba(94,113,120,.35);font-size:13px;color:var(--muted)}
@media (max-width:900px){.tz-root .compare-two{grid-template-columns:1fr}}
/* Motif E — First-year foundation: the calendar. Petrol hero with a gold rule; "what applies, when" table as proof. */
body.cmp-first_year_books .tz-root .campaign-hero{background:linear-gradient(160deg,#0B3D4F,#08384A 60%,#062A38)}
body.cmp-first_year_books .tz-root .campaign-hero .hero-eyebrow::after{content:"";display:block;width:64px;height:3px;background:var(--gold);border-radius:2px;margin-top:10px}
.tz-root .when-table{width:100%;border-collapse:separate;border-spacing:0;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;font-size:15px;margin:8px 0 26px}
.tz-root .when-table th,.tz-root .when-table td{padding:14px 16px;border-top:1px solid var(--line);text-align:start;vertical-align:top}
.tz-root .when-table thead th{border-top:0;background:var(--mist);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-text)}
[dir="rtl"] .tz-root .when-table thead th{letter-spacing:0}
.tz-root .when-table td:first-child{font-weight:600;color:var(--petrol);white-space:nowrap}
.tz-root .when-table td:last-child{color:var(--slate-700)}
.tz-root .when-table .wt-tag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border:1px solid rgba(26,157,173,.4);border-radius:999px;padding:2px 8px;color:var(--teal-text);background:var(--teal-ghost)}
[dir="rtl"] .tz-root .when-table .wt-tag{letter-spacing:0}
/* Motif F — Year-end close: the pack. Ink-dark hero; checklist card as proof. */
body.cmp-year_end_close .tz-root .campaign-hero{background:radial-gradient(700px 420px at 85% 10%,rgba(191,155,79,.14),transparent 60%),linear-gradient(160deg,#0C1A20,#08384A 70%,#0B3D4F)}
body.cmp-year_end_close .tz-root .checklist.card li .ck{background:var(--petrol);color:var(--white)}
/* Shared: hero motif slot + campaign process variants */
.tz-root .campaign-hero .cmp-motif svg{width:100%;height:auto}
.tz-root .cmp-timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:0;position:relative;margin:8px 0 26px}
.tz-root .cmp-timeline::before{content:"";position:absolute;inset-inline:16%;top:26px;height:2px;background:var(--slate-200)}
.tz-root .cmp-timeline .tl{text-align:center;padding:0 16px;position:relative}
.tz-root .cmp-timeline .tl i{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;background:var(--white);border:2px solid var(--teal);font-family:var(--font-display);font-weight:700;color:var(--teal);font-style:normal;position:relative;z-index:1}
.tz-root .cmp-timeline .tl b{font-family:var(--font-display);font-size:19px;color:var(--petrol);display:block;margin-bottom:6px}
.tz-root .cmp-timeline .tl span{font-size:14.5px;color:var(--slate-700);line-height:1.55;display:block;max-width:34ch;margin:0 auto}
@media (max-width:900px){.tz-root .cmp-timeline{grid-template-columns:1fr;gap:18px}.tz-root .cmp-timeline::before{display:none}.tz-root .cmp-timeline .tl{text-align:start;display:grid;grid-template-columns:54px 1fr;gap:2px 14px}.tz-root .cmp-timeline .tl i{margin:0;grid-row:1/span 2}.tz-root .cmp-timeline .tl span{margin:0;max-width:none}}
/* ---------- §W5 Form states (contact · consultation · campaign · service interest · existing client) ---------- */
.tz-root .field{position:relative}
.tz-root .field label{display:flex;justify-content:space-between;gap:10px}
.tz-root .field .req{color:var(--warm-ink);font-weight:600;font-size:12px}
.tz-root .field input:focus,.tz-root .field select:focus,.tz-root .field textarea:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 4px rgba(26,157,173,.18)}
.tz-root .field.ok input,.tz-root .field.ok select,.tz-root .field.ok textarea{border-color:rgba(26,157,173,.55)}
.tz-root .field.ok::after{content:"";position:absolute;inset-inline-end:14px;top:38px;width:10px;height:16px;border:solid var(--teal);border-width:0 2px 2px 0;transform:rotate(45deg)}
.tz-root .field.err input,.tz-root .field.err select,.tz-root .field.err textarea{border-color:#B3403C;box-shadow:0 0 0 4px rgba(179,64,60,.12)}
.tz-root .field .f-msg{display:none;font-size:12.5px;margin-top:6px;line-height:1.4}
.tz-root .field.err .f-msg{display:block;color:#8F2F2C}
.tz-root .field .f-hint{font-size:12.5px;color:var(--muted);margin-top:6px}
.tz-root .field input:disabled,.tz-root .field select:disabled,.tz-root .field textarea:disabled,.tz-root .btn[disabled],.tz-root .btn.is-disabled{opacity:.55;cursor:not-allowed;filter:grayscale(.2)}
.tz-root .form-banner{display:flex;gap:12px;align-items:flex-start;border-radius:12px;padding:14px 16px;font-size:14px;line-height:1.5;margin-bottom:16px}
.tz-root .form-banner svg{width:20px;height:20px;flex:none;margin-top:1px}
.tz-root .form-banner.error{background:#FBEDED;color:#8F2F2C;border:1px solid rgba(143,47,44,.25)}
.tz-root .form-banner.info{background:var(--teal-ghost);color:var(--petrol);border:1px solid rgba(26,157,173,.3)}
.tz-root .form-banner b{display:block;font-weight:600}
.tz-root .btn.is-loading{position:relative;color:transparent;pointer-events:none}
.tz-root .btn.is-loading::after{content:"";position:absolute;width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;animation:spin .8s linear infinite;left:calc(50% - 9px);top:calc(50% - 9px)}
@keyframes spin{to{transform:rotate(360deg)}}
.tz-root .lead-card.cmp-hero-form .field.err input,.tz-root .lead-card.cmp-hero-form .field.err textarea,.tz-root .lead-card.cmp-hero-form .field.err select{border-color:#E6A7A4;box-shadow:0 0 0 4px rgba(230,167,164,.15)}
.tz-root .lead-card.cmp-hero-form .field.err .f-msg{color:#F6C9C7}
.tz-root .lead-card.cmp-hero-form .form-banner.error{background:rgba(143,47,44,.25);color:#F6C9C7;border-color:rgba(230,167,164,.35)}
.tz-root .form-ok .ok-next span{display:flex;gap:8px;align-items:flex-start}
@media (prefers-reduced-motion:reduce){.tz-root .btn.is-loading::after{animation:none}}
/* States gallery (design page only) */
.tz-root .states-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:22px}
.tz-root .state{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:22px;box-shadow:var(--shadow-card)}
.tz-root .state .st-lbl{font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-text);margin-bottom:12px;display:flex;justify-content:space-between}
.tz-root .state .st-lbl i{font-style:normal;color:var(--muted);letter-spacing:0;text-transform:none;font-weight:500}
.tz-root .state.dark{background:var(--petrol);border-color:rgba(63,193,208,.35)}.tz-root .state.dark .st-lbl{color:var(--turquoise)}
/* §W1 fixes after service render: document sheet shows four rows; photo caption never under the meta */
.tz-root .hero-figure.doc .sheet{margin:24px 26px 0;padding:16px 20px 0}
.tz-root .hero-figure.doc .sheet .sh-row{padding:5px 0;font-size:12px}
.tz-root .hero-figure.doc .sheet .sh-title{font-size:17px;margin-bottom:8px}
.tz-root .hero-figure.doc .sheet .sh-kicker{margin-bottom:6px}
.tz-root .hero-figure.doc .hf-meta{padding:10px 26px 20px}
.tz-root .hero-figure.doc .hf-meta b{font-size:clamp(18px,1.5vw,21px)}.tz-root .hero-figure.doc .hf-meta span{font-size:13px}
.tz-root .hero-figure.photo .ph .ph-cap{display:none}
/* §W2b fixes: light reach panel text; maturity line inside the petrol panel */
.tz-root .reach-panel.light .reach b{color:var(--petrol)}.tz-root .reach-panel.light .reach span{color:var(--muted)}.tz-root .reach-panel.light .reach a{border-color:var(--line)}
.tz-root .cc-panel .maturity-line .ml b{color:var(--white)}.tz-root .cc-panel .maturity-line .ml span,.tz-root .cc-panel .maturity-line .ml.now span{color:var(--slate-200)}
.tz-root .cc-panel .maturity-line .ml i{background:rgba(255,255,255,.06);border-color:rgba(217,225,228,.35);color:var(--slate-200)}
.tz-root .cc-panel .maturity-line .ml.now i{background:var(--teal-grad);border-color:transparent;color:var(--white)}
.tz-root .cc-panel .maturity-line .ml.soon i{border-style:dashed;border-color:var(--turquoise)}
.tz-root .cc-panel .maturity-line::before{background:linear-gradient(90deg,var(--turquoise) 0 33%,rgba(217,225,228,.3) 33%)}
[dir="rtl"] .tz-root .cc-panel .maturity-line::before{background:linear-gradient(270deg,var(--turquoise) 0 33%,rgba(217,225,228,.3) 33%)}
.tz-root .office-card .oc-hours svg{width:14px;height:14px;flex:none;color:var(--teal)}
.tz-root .office-card.reserved .oc-ico{background:var(--mist);border-color:var(--line);color:var(--muted)}
/* ---------- §W4 Cycle 1 — mobile media strips designed per media class (not crops) ---------- */
@media (max-width:1024px){
/* document strip: kicker + title on one band; rows hidden; meta hidden */
.tz-root .hero-figure.doc{height:104px;display:block;padding:0}
.tz-root .hero-figure.doc .sheet{margin:0;height:100%;border-radius:16px;padding:14px 18px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 14px;overflow:hidden}
.tz-root .hero-figure.doc .sheet .sh-kicker{grid-column:1;margin:0;font-size:10px}
.tz-root .hero-figure.doc .sheet .sh-title{grid-column:1;font-size:15.5px;margin:0;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tz-root .hero-figure.doc .sheet .sh-stamp{position:static;grid-column:2;grid-row:1/span 2;width:44px;height:44px}
.tz-root .hero-figure.doc .sheet .sh-row,.tz-root .hero-figure.doc .sheet .sh-row:first-of-type{display:none}
/* photo strip: tag + one-line brief, figure masses reduced */
.tz-root .hero-figure.photo{height:112px}
.tz-root .hero-figure.photo .ph .ph-cap{display:block;position:absolute;inset-inline-start:16px;bottom:12px;font-size:12px;color:var(--slate-200);max-width:70%}
.tz-root .hero-figure.photo .ph .ph-cap b{color:var(--white)}
.tz-root .hero-figure.photo .ph .ph-fig{height:70%;width:20%;inset-inline-end:8%}.tz-root .hero-figure.photo .ph .ph-fig.two{inset-inline-end:30%;width:16%;height:56%}
.tz-root .hero-figure.photo .ph .ph-sun{width:14%;top:14%;inset-inline-start:8%}
/* figure strip: keep the figure's top rows but pull it up so a full row is visible */
.tz-root .hero-figure.sig .sig-art{padding:6px 16px 0}
.tz-root .hero-figure.sig-vat .sig-art,.tz-root .hero-figure.sig-e-invoicing .sig-art,.tz-root .hero-figure.sig-internal-controls .sig-art,.tz-root .hero-figure.sig-accounting-systems .sig-art{transform:translateY(-8px)}
}
@media (max-width:680px){.tz-root .hero-figure.doc{height:96px}.tz-root .hero-figure.doc .sheet .sh-title{font-size:14.5px}.tz-root .hero-figure.photo{height:100px}}
/* ---------- §W2c Cycle 1 — industries: compact 05–08 cells; matrix stacks on phones ---------- */
.tz-root .grid-2 .ind-cell{padding:26px 26px 22px}
.tz-root .grid-2 .ind-cell > p{font-size:15px}
.tz-root .grid-2 .ind-cell .ic-links .np-link{padding:6px 12px;font-size:13px}
@media (max-width:680px){
.tz-root .sector-matrix,.tz-root .sector-matrix tbody,.tz-root .sector-matrix tr,.tz-root .sector-matrix td{display:block;width:100%}
.tz-root .sector-matrix thead{display:none}
.tz-root .sector-matrix tr{border-top:1px solid var(--line);padding:10px 12px}
.tz-root .sector-matrix td{border:0;padding:3px 0;display:inline-block;width:auto;font-size:13px}
.tz-root .sector-matrix td:first-child{display:block;font-size:15px;margin-bottom:4px}
.tz-root .sector-matrix td.n{display:none}
.tz-root .sector-matrix td.y::before{content:attr(data-col);margin-inline-end:6px;color:var(--slate-700)}
.tz-root .sector-matrix td.y svg{display:none}.tz-root .sector-matrix td.y::after{content:"·";margin-inline:8px;color:var(--slate-200)}
}
/* ---------- §W2a Cycle 1 — HOME-D2: scope document row in #journey; sector marks on light ---------- */
.tz-root .scope-row{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center;margin-top:44px;padding-top:40px;border-top:1px solid var(--line)}
.tz-root .scope-row .hero-figure.doc{aspect-ratio:10/7;box-shadow:var(--shadow-card)}
.tz-root .scope-row .sr-copy .eyebrow{margin-bottom:8px}
.tz-root .scope-row .sr-copy h3{font-size:clamp(22px,2vw,28px);margin-bottom:10px}
.tz-root .scope-row .sr-copy p{font-size:16px;color:var(--slate-700);line-height:1.65;max-width:52ch}
.tz-root .scope-row .sr-copy ul{margin:14px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;font-size:15px}
.tz-root .scope-row .sr-copy li{display:flex;gap:10px;align-items:flex-start}.tz-root .scope-row .sr-copy li svg{width:15px;height:15px;flex:none;margin-top:4px;color:var(--teal)}
@media (max-width:1024px){.tz-root .scope-row{grid-template-columns:1fr}.tz-root .scope-row .hero-figure.doc{order:0;height:auto;aspect-ratio:10/7;display:grid;padding:0}.tz-root .scope-row .hero-figure.doc .sheet{margin:22px 22px 0;height:auto;display:block;padding:16px 18px 0;border-radius:10px 10px 0 0}.tz-root .scope-row .hero-figure.doc .sheet .sh-row{display:grid}.tz-root .scope-row .hero-figure.doc .sheet .sh-stamp{position:absolute}.tz-root .scope-row .hero-figure.doc .hf-meta{display:block}}
.tz-root .sector-marks{display:grid;grid-template-columns:repeat(4,1fr);gap:14px 10px;padding:26px 22px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);aspect-ratio:10/10.6;align-content:center}
.tz-root .sector-marks a{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;color:var(--petrol);font-size:12.5px;font-weight:600;line-height:1.3}
.tz-root .sector-marks a i{width:58px;height:58px;border-radius:50%;border:1.5px solid rgba(26,157,173,.45);display:grid;place-items:center;color:var(--teal);background:var(--white);transition:.2s}
.tz-root .sector-marks a i svg{width:24px;height:24px}
.tz-root .sector-marks a:hover i{background:var(--teal-ghost);border-color:var(--teal)}
.tz-root .sector-marks .sm-foot{grid-column:1/-1;text-align:center;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--warm-ink);margin-top:6px}
[dir="rtl"] .tz-root .sector-marks .sm-foot{letter-spacing:0}
@media (max-width:680px){.tz-root .sector-marks{grid-template-columns:repeat(4,1fr);aspect-ratio:auto;padding:18px 12px}.tz-root .sector-marks a{font-size:11px}.tz-root .sector-marks a i{width:46px;height:46px}.tz-root .sector-marks a i svg{width:20px;height:20px}}
.tz-root .method-strip .ms-when{font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-text);margin-top:4px}
[dir="rtl"] .tz-root .method-strip .ms-when{letter-spacing:0}
.tz-root .ind-figure.sector-marks::after{display:none}
/* ---------- §W3 Arabic as independent art direction (compositions, not parity) ---------- */
[dir="rtl"] .tz-root .hero h1{max-width:13ch;font-size:clamp(34px,4vw,54px);line-height:1.3}
[dir="rtl"] .tz-root .hero .hero-sub,[dir="rtl"] .tz-root .page-hero .ph-sub{max-width:46ch;font-size:17px;line-height:1.9}
[dir="rtl"] .tz-root .page-hero h1{max-width:16ch}
[dir="rtl"] .tz-root .hero-proof{gap:8px 18px}[dir="rtl"] .tz-root .hero-proof span{font-size:13.5px}
[dir="rtl"] .tz-root .section-head.chapter{grid-template-columns:auto minmax(0,1fr);gap:8px 22px}
[dir="rtl"] .tz-root .section-head.chapter .sec-num{font-size:clamp(50px,5.4vw,72px);-webkit-text-stroke-width:1.6px}
[dir="rtl"] .tz-root .section-head.chapter h2{max-width:18ch;line-height:1.38}
[dir="rtl"] .tz-root .ledger > li{grid-template-columns:52px minmax(0,1fr) auto}
[dir="rtl"] .tz-root .ledger h3{font-size:18.5px;line-height:1.45}
[dir="rtl"] .tz-root .method-strip b{font-size:17px;line-height:1.4}[dir="rtl"] .tz-root .method-strip span{font-size:14px;line-height:1.7}
[dir="rtl"] .tz-root .standards .st-item b{font-size:17px;line-height:1.4}
[dir="rtl"] .tz-root .verify-stamp .vs-body b{font-size:18px;line-height:1.4}
[dir="rtl"] .tz-root .glance b{font-size:14px;line-height:1.5}
[dir="rtl"] .tz-root .key-take p{font-size:19px;line-height:1.55}
[dir="rtl"] .tz-root .masthead .mh-main{padding:32px 34px}[dir="rtl"] .tz-root .masthead h2{font-size:clamp(24px,2.5vw,32px);line-height:1.38}
[dir="rtl"] .tz-root .showcase.single .sc-card{max-width:320px}[dir="rtl"] .tz-root .showcase.single .sc-card b{font-size:18px;line-height:1.4}
[dir="rtl"] .tz-root .hero-figure.doc .sheet .sh-title{font-size:16px;line-height:1.35}
[dir="rtl"] .tz-root .hero-figure.doc .sheet .sh-row{font-size:12px}
[dir="rtl"] .tz-root .sector-real{font-size:clamp(18px,1.5vw,21px);line-height:1.6}
[dir="rtl"] .tz-root .maturity-line .ml b{font-size:17px}[dir="rtl"] .tz-root .maturity-line .ml span{max-width:28ch}
[dir="rtl"] .tz-root .cmp-timeline .tl b{font-size:18px}
[dir="rtl"] .tz-root .intent-chips button{font-size:13.5px}
@media (max-width:680px){
[dir="rtl"] .tz-root .hero h1{font-size:clamp(28px,7.6vw,34px);line-height:1.35}
[dir="rtl"] .tz-root .page-hero h1{font-size:clamp(26px,7vw,32px);line-height:1.38}
[dir="rtl"] .tz-root .hero .hero-proof > span:nth-child(n/**/+6){display:none}
[dir="rtl"] .tz-root .section-head.chapter .sec-num{font-size:40px}
}
/* ---------- §W6 Navigation and footer states (design page + production) ---------- */
/* Desktop nav: hover / focus / current — restrained */
.tz-root .nav > li > .nav-link{position:relative}
.tz-root .nav > li > .nav-link::after{content:"";position:absolute;inset-inline:14px;bottom:8px;height:2px;border-radius:2px;background:var(--gold);transform:scaleX(0);transform-origin:center;transition:transform .2s}
.tz-root .nav > li:hover > .nav-link::after,.tz-root .nav > li:focus-within > .nav-link::after,.tz-root .nav > li.current > .nav-link::after{transform:scaleX(1)}
.tz-root .nav > li.current > .nav-link{color:var(--white)}
.tz-root .nav > li > .nav-link:focus-visible{outline:2px solid var(--gold-2);outline-offset:4px;border-radius:6px}
.tz-root .mega-col a:focus-visible,.tz-root .drop a:focus-visible{outline:2px solid var(--teal);outline-offset:2px;border-radius:8px}
.tz-root .mega-col a:hover{background:var(--teal-ghost);color:var(--petrol)}
.tz-root .mega-feature .btn:focus-visible{outline:2px solid var(--gold-2);outline-offset:3px}
.tz-root .show-mega .mega{opacity:1;visibility:visible;transform:translate(-50%,4px)}
[dir="rtl"] .tz-root .show-mega .mega{transform:translate(50%,4px)}
/* Mobile drawer V2.1 (Kadence off-canvas content spec): vertical list, services accordion, contact row */
.tz-root .drawer-v21{background:var(--white);width:100%;max-width:390px;min-height:640px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:18px;overflow:hidden;font-family:var(--font-body)}
.tz-root .drawer-v21 .dv-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line);background:var(--petrol)}
.tz-root .drawer-v21 .dv-head img{height:30px}.tz-root .drawer-v21 .dv-head button{width:40px;height:40px;border-radius:10px;border:1px solid rgba(217,225,228,.35);background:transparent;color:var(--white);display:grid;place-items:center}
.tz-root .drawer-v21 .dv-head button svg{width:18px;height:18px}
.tz-root .drawer-v21 ul{list-style:none;margin:0;padding:8px 0}
.tz-root .drawer-v21 li > a,.tz-root .drawer-v21 li > button{display:flex;justify-content:space-between;align-items:center;width:100%;padding:14px 20px;font-size:17px;font-weight:600;color:var(--petrol);background:none;border:0;border-bottom:1px solid var(--line);text-align:start;font-family:inherit}
.tz-root .drawer-v21 li > button svg{width:16px;height:16px;color:var(--teal);transition:transform .2s}
.tz-root .drawer-v21 li.open > button svg{transform:rotate(180deg)}
.tz-root .drawer-v21 li.current > a{color:var(--teal-text);box-shadow:inset 3px 0 0 var(--gold)}
[dir="rtl"] .tz-root .drawer-v21 li.current > a{box-shadow:inset -3px 0 0 var(--gold)}
.tz-root .drawer-v21 .dv-sub{display:none;background:var(--mist);padding:6px 0 10px}
.tz-root .drawer-v21 li.open .dv-sub{display:block}
.tz-root .drawer-v21 .dv-sub .dv-fam{display:flex;align-items:center;gap:8px;padding:10px 20px 4px;font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-text)}
[dir="rtl"] .tz-root .drawer-v21 .dv-sub .dv-fam{letter-spacing:0}
.tz-root .drawer-v21 .dv-sub .dv-fam .fm{width:18px;height:18px;border-radius:5px;display:inline-grid;place-items:center;background:var(--petrol);color:var(--turquoise)}.tz-root .drawer-v21 .dv-sub .dv-fam .fm svg{width:10px;height:10px}
.tz-root .drawer-v21 .dv-sub a{display:block;padding:8px 20px 8px 46px;font-size:15px;color:var(--slate-700)}
[dir="rtl"] .tz-root .drawer-v21 .dv-sub a{padding:8px 46px 8px 20px}
.tz-root .drawer-v21 .dv-contact{margin-top:auto;padding:14px 16px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:8px;background:var(--white)}
.tz-root .drawer-v21 .dv-contact a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border-radius:12px;border:1.5px solid rgba(8,56,74,.18);color:var(--petrol);font-weight:600;font-size:14px}
.tz-root .drawer-v21 .dv-contact a svg{width:16px;height:16px;color:var(--teal)}
.tz-root .drawer-v21 .dv-contact a.primary{grid-column:1/-1;background:linear-gradient(135deg,var(--gold-2) 0%,var(--gold) 60%,var(--gold-ink) 100%);color:#20170A;border-color:transparent}
.tz-root .drawer-v21 .dv-lang{display:flex;gap:8px;padding:0 16px 14px;justify-content:flex-end}
.tz-root .drawer-v21 .dv-lang a{font-size:13px;font-weight:600;padding:6px 10px;border-radius:999px;border:1px solid var(--line);color:var(--petrol)}
.tz-root .drawer-v21 .dv-lang a.active{background:var(--teal-ghost);border-color:rgba(26,157,173,.4)}
/* Sub-nav: current + focus */
.tz-root .subnav a[aria-current="true"],.tz-root .subnav a.current{background:var(--petrol);color:var(--white);border-color:transparent}
.tz-root .subnav a:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
/* Cards, accordion, back-to-top — restrained states */
.tz-root .faq-q:focus-visible,.tz-root .k-filter:focus-visible,.tz-root .intent-chips button:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.tz-root .faq-q[aria-expanded="true"] .chev{transform:rotate(180deg)}
.tz-root .to-top:focus-visible{outline:2px solid var(--gold-2);outline-offset:3px}
/* Design-page helpers */
.tz-root .nav-demo{background:var(--mist);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.tz-root .nav-demo header{position:relative}
.tz-root .nav-demo .header{position:relative}
.tz-root .states-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:22px;align-items:start}
/* ---------- Cycle 2 ---------- */
/* Review line above every service intake — who prepares, who reviews, who signs */
.tz-root .review-line{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;padding:16px 20px;margin-bottom:22px;border:1px solid var(--line);border-radius:14px;background:var(--white);box-shadow:var(--shadow-card);font-size:14px;color:var(--slate-700)}
.tz-root .review-line .rl-lbl{font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-text)}
[dir="rtl"] .tz-root .review-line .rl-lbl{letter-spacing:0}
.tz-root .review-line .rl-step{display:inline-flex;align-items:center;gap:7px;font-weight:600;color:var(--petrol)}.tz-root .review-line .rl-step svg{width:14px;height:14px;color:var(--teal)}
.tz-root .review-line .rl-note{margin-inline-start:auto;font-size:13px;color:var(--muted)}
@media (max-width:680px){.tz-root .review-line{flex-direction:column;align-items:flex-start;gap:8px}.tz-root .review-line .rl-note{margin-inline-start:0}}
/* Light document block inside a section (register / plan vs actual) */
.tz-root .doc-light-row{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:34px;align-items:start;margin-bottom:34px}
.tz-root .doc-light-row .section-head{margin-bottom:0}
.tz-root .doc-light .dl-sheet{position:relative;background:var(--white);border:1px solid var(--line);border-radius:12px;padding:22px 24px 12px;box-shadow:var(--shadow-card);color:var(--petrol)}
.tz-root .doc-light .dl-sheet::before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:4px;border-radius:12px 0 0 12px;background:linear-gradient(var(--gold-2),var(--gold))}
[dir="rtl"] .tz-root .doc-light .dl-sheet::before{border-radius:0 12px 12px 0}
.tz-root .doc-light .sh-kicker{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--teal-text);font-weight:700;margin-bottom:6px}
[dir="rtl"] .tz-root .doc-light .sh-kicker{letter-spacing:0}
.tz-root .doc-light .sh-title{font-family:var(--font-display);font-size:19px;font-weight:600;line-height:1.3;margin-bottom:12px}
.tz-root .doc-light .sh-row{display:grid;grid-template-columns:1fr auto;gap:12px;padding:8px 0;border-top:1px solid var(--line);font-size:13.5px;color:var(--slate-700)}
.tz-root .doc-light .sh-row b{color:var(--petrol);font-weight:600;text-align:end}
.tz-root .doc-light .sh-row.total{border-top:2px solid var(--petrol);font-weight:700;color:var(--petrol)}
.tz-root .doc-light .sh-stamp{position:absolute;inset-inline-end:18px;top:16px;width:44px;height:44px;border-radius:50%;border:1.5px solid rgba(26,157,173,.5);display:grid;place-items:center;color:var(--teal)}.tz-root .doc-light .sh-stamp svg{width:20px;height:20px}
@media (max-width:1024px){.tz-root .doc-light-row{grid-template-columns:1fr}}
/* Home D2 polish: sector marks proportion */
.tz-root .sector-marks{aspect-ratio:auto;padding:34px 26px;gap:22px 12px}
.tz-root .sector-marks a i{width:66px;height:66px}.tz-root .sector-marks a i svg{width:28px;height:28px}
.tz-root .sector-marks a{font-size:13px}
/* First-year campaign when-table stacks on phones; knowledge masthead density */
@media (max-width:680px){
.tz-root .when-table,.tz-root .when-table tbody,.tz-root .when-table tr,.tz-root .when-table td{display:block;width:100%}.tz-root .when-table thead{display:none}
.tz-root .when-table tr{border-top:1px solid var(--line);padding:12px 14px}.tz-root .when-table td{border:0;padding:2px 0;white-space:normal}.tz-root .when-table td:first-child{font-size:15.5px}.tz-root .when-table td:last-child{margin-top:6px}
.tz-root .masthead .mh-main{padding:22px 18px}.tz-root .masthead h2{font-size:22px}.tz-root .masthead .mh-main > p{font-size:15px}.tz-root .masthead .mh-list a{font-size:14px;padding:10px 0}.tz-root .masthead .mh-side{padding:22px 18px}
}
/* Design-page fixes: nav demo shows the open mega; static intake forms keep their state */
.tz-root .nav-demo{overflow:visible;min-height:520px}
.tz-root .intake-static .ik-step{display:none}.tz-root .intake-static .ik-step.on{display:block}
/* Cycle 2 fix: document block sits at the end side of the section head row */
.tz-root .doc-light-row{grid-template-columns:minmax(0,1fr) 400px;align-items:start}
.tz-root .doc-light-row .section-head.chapter{margin-bottom:0}
@media (max-width:1024px){.tz-root .doc-light-row{grid-template-columns:1fr}}
/* ---------- Cycle 3 ---------- */
/* Placeholder character: an art-direction frame, not a generative blob — framing marks, plain horizon, prominent tag */
.tz-root .ph .ph-sun{display:none}
.tz-root .ph::after{content:"";position:absolute;inset:14px;border:1px solid rgba(8,56,74,.18);border-radius:10px;pointer-events:none}
.tz-root .ph.dark::after{border-color:rgba(63,193,208,.28)}
.tz-root .ph .ph-fig{opacity:.55;border-radius:6px 6px 0 0}.tz-root .ph .ph-fig.two{opacity:.4}
.tz-root .ph .ph-tag{top:22px;inset-inline-start:24px;font-size:11.5px;padding:6px 12px}
.tz-root .ph .ph-cap{font-style:italic}
/* Sub-nav collapses to one control on phones (R-M1) */
.tz-root .sn-toggle{display:none}
@media (max-width:680px){
.tz-root .subnav .sn-inner{flex-wrap:wrap}
.tz-root .subnav .sn-label{display:none}
.tz-root .sn-toggle{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--white);font:600 13.5px/1 var(--font-body);color:var(--petrol);cursor:pointer}
.tz-root .sn-toggle svg{width:14px;height:14px;color:var(--teal);transition:transform .2s}
.tz-root .sn-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.tz-root .subnav .sn-inner > a{display:none}
.tz-root .subnav.open .sn-inner > a{display:inline-flex}
.tz-root .subnav .sn-cta{margin-inline-start:auto}
}
/* Stamp first line per family (content) — no CSS; year-end campaign gets a gold rule; AR sector-mark labels */
body.cmp-year_end_close .tz-root .campaign-hero .hero-eyebrow::after{content:"";display:block;width:64px;height:3px;background:var(--gold);border-radius:2px;margin-top:10px}
[dir="rtl"] .tz-root .sector-marks a{font-size:13px;line-height:1.4}
[dir="rtl"] .tz-root .masthead h2{max-width:22ch}
/* ---------- Cycle 4 ---------- */
.tz-root .receive-line{display:flex;gap:10px;align-items:flex-start;margin:18px 0 0;padding:14px 18px;border-radius:12px;background:var(--teal-ghost);border:1px solid rgba(26,157,173,.25);font-size:14.5px;color:var(--petrol);line-height:1.55}
.tz-root .receive-line svg{width:16px;height:16px;flex:none;margin-top:3px;color:var(--teal)}
.tz-root .doc-light-2 .dl-sheet::before{background:linear-gradient(var(--turquoise),var(--teal))}
/* ---------- Cycle 5: presence row under the intake ---------- */
.tz-root .presence-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}
.tz-root .presence-row .office-card{margin:0}
.tz-root .reach-mini{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:16px 18px;box-shadow:var(--shadow-card)}
.tz-root .reach-mini .rm-lbl{font-size:11.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-text);margin-bottom:10px}
[dir="rtl"] .tz-root .reach-mini .rm-lbl{letter-spacing:0}
.tz-root .reach-mini a{display:grid;grid-template-columns:auto 1fr;gap:0 12px;align-items:center;padding:9px 0;border-top:1px solid var(--line);color:var(--slate-700)}
.tz-root .reach-mini a:first-of-type{border-top:0}
.tz-root .reach-mini .rc-ico{grid-row:1/span 2;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--teal-ghost);border:1px solid rgba(63,193,208,.35)}.tz-root .reach-mini .rc-ico svg{width:17px;height:17px;color:var(--teal)}
.tz-root .reach-mini b{font-family:var(--font-display);font-size:15.5px;color:var(--petrol);font-weight:600}.tz-root .reach-mini span{font-size:12.5px;color:var(--muted)}
@media (max-width:900px){.tz-root .presence-row{grid-template-columns:1fr}}
/* Cycle 6: form state slots in production markup; hidden banner; home/knowledge polish */
.tz-root .form-banner[hidden]{display:none}
.tz-root .field .f-msg{display:none}.tz-root .field.err .f-msg{display:block}
.tz-root .field .f-hint + .f-msg{margin-top:4px}
.tz-root .lead-card.cmp-hero-form .field .f-hint{color:rgba(217,225,228,.7)}
[dir="rtl"] .tz-root .showcase.single .sc-card b{max-width:16ch}
.tz-root .masthead .mh-kicker .stamp{white-space:nowrap}
/* Cycle 6 fix: RTL chapter head must also collapse to one column on phones (the [dir] rule outranked the mobile rule) */
@media (max-width:680px){[dir="rtl"] .tz-root .section-head.chapter{grid-template-columns:1fr}[dir="rtl"] .tz-root .section-head.chapter .sec-num{grid-row:auto}}
@media (max-width:1024px){.tz-root .doc-light-row{grid-template-columns:minmax(0,1fr)}.tz-root .doc-light-row > *{min-width:0}}
/* ===== Cycle 7 — person card · motif echo · ask row · systems stance ===== */
.tz-root .person-card{display:flex;gap:22px;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:22px 26px;box-shadow:var(--shadow-card);margin:0 0 22px}
.tz-root .person-card .pc-ph{width:112px;aspect-ratio:1;flex:none;border-radius:50%;background:linear-gradient(180deg,#E9F3F5,#D7E7EB)}
.tz-root .person-card .pc-ph::before{background-size:22px 22px;border-radius:50%}
.tz-root .person-card .pc-ph .ph-sun{inset-inline-start:22%;top:6%;width:30%}
.tz-root .person-card .pc-ph .ph-fig.one{inset-inline-end:auto;left:50%;transform:translateX(-50%);width:56%;height:64%;bottom:0;border-radius:44% 44% 0 0/40% 40% 0 0}
.tz-root .person-card .pc-ph .ph-tag{font-size:9px;letter-spacing:.06em;inset-inline-start:50%;transform:translateX(-50%);bottom:8px;top:auto;white-space:nowrap}
[dir="rtl"] .tz-root .person-card .pc-ph .ph-tag{transform:translateX(50%)}
.tz-root .person-card .pc-body{display:flex;flex-direction:column;gap:3px;min-width:0}
.tz-root .person-card .pc-kicker{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-deep,#0F5F6B)}
[dir="rtl"] .tz-root .person-card .pc-kicker{letter-spacing:0}
.tz-root .person-card .pc-name{font-family:var(--font-display,inherit);font-size:22px;line-height:1.2;color:var(--petrol,#08384A)}
.tz-root .person-card .pc-role{font-size:14px;color:var(--ink-3,#52646C)}
.tz-root .person-card p{margin:8px 0 0;font-size:15px;line-height:1.6;color:var(--ink-2,#2E3F46)}
.tz-root .section[id="agent"] .person-card{margin-bottom:22px}
.tz-root .ask-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-top:34px;align-items:start}
.tz-root .ask-row .person-card{margin:0;height:100%}
.tz-root .ask-row .presence-row{margin:0}
@media (max-width:1024px){.tz-root .ask-row{grid-template-columns:minmax(0,1fr)}}
@media (max-width:680px){.tz-root .person-card{flex-direction:column;align-items:flex-start;gap:16px;padding:20px}.tz-root .person-card .pc-ph{width:96px}.tz-root .ask-row{margin-top:26px}}
.tz-root .cta-band{position:relative;overflow:hidden}
.tz-root .cta-band .cta-inner{position:relative;z-index:1}
.tz-root .cmp-echo{position:absolute;inset-inline-end:-70px;bottom:-70px;width:380px;opacity:.13;pointer-events:none;z-index:0}
.tz-root .cmp-echo svg{width:100%;height:auto;display:block}
@media (max-width:680px){.tz-root .cmp-echo{width:230px;inset-inline-end:-50px;bottom:-50px}}
.tz-root .field select{width:100%;padding:13px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:15px;background:var(--white);color:inherit;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2308384A' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;padding-inline-end:38px}
[dir="rtl"] .tz-root .field select{background-position:left 12px center}
.tz-root .field select:focus{outline:2px solid var(--teal,#127A87);outline-offset:1px}
.tz-root .sr-only-select select{appearance:auto}
/* Cycle 7 fix: portrait placeholder must be a circle (the .ph base sets a landscape aspect); tag sits under the circle; ask-row gives the presence row more room */
.tz-root .person-card .pc-media{display:flex;flex-direction:column;align-items:center;gap:7px;flex:none}
.tz-root .person-card .pc-ph{width:112px;height:112px;min-height:0;aspect-ratio:1/1;border-radius:50%;margin:0}
.tz-root .person-card .pc-ph .ph-tag{display:none}
.tz-root .person-card .pc-tag{font-size:10px;font-weight:700;letter-spacing:.08em;color:var(--ink-3,#52646C);white-space:nowrap}
[dir="rtl"] .tz-root .person-card .pc-tag{letter-spacing:0}
.tz-root .ask-row{grid-template-columns:minmax(0,1fr) minmax(0,1.45fr)}
@media (max-width:1024px){.tz-root .ask-row{grid-template-columns:minmax(0,1fr)}}
@media (max-width:680px){.tz-root .person-card .pc-ph{width:96px;height:96px}}
/* ===== Cycle 8 — Arabic craft: matrix separators travel with their label; footer/contact hours never orphan a numeral ===== */
@media (max-width:680px){
.tz-root .sector-matrix td.y::after{content:none}
.tz-root .sector-matrix td.y{white-space:nowrap}
.tz-root .sector-matrix td.y ~ td.y::before{content:"· " attr(data-col)}
.tz-root .sector-matrix td.y ~ td.y{margin-inline-start:8px}
}
.tz-root .footer .f-contact li span,.tz-root .reach-panel .rp-item span,.tz-root .office-card .oc-hours span{overflow-wrap:normal}
[dir="rtl"] .tz-root .footer .f-contact li span{line-height:1.7}
/* Cycle 8: the utility bar hides X + YouTube (v4.css nth-child rule) — the footer shows all five real profiles */
.tz-root .footer-bottom .u-social a:nth-child(n/**/+4){display:grid}
/* Cycle 8: footer bottom stays one row at desktop — the legal notice yields width, the © line and the five social anchors do not */
@media (min-width:981px){.tz-root .footer-bottom > span:first-child{flex:0 0 auto}.tz-root .footer-bottom .f-legal-row{flex:1 1 240px;min-width:0}.tz-root .footer-bottom .u-social{flex:0 0 auto}}
/* ===== Cycle 9 — shell polish on phones: one-line credential pill (the location lives in the expanded card) ===== */
@media (max-width:430px){
.tz-root .fta-badge{white-space:nowrap;padding-inline:14px}
.tz-root .fta-badge .dot,.tz-root .fta-badge .loc{display:none}
.tz-root .fta-badge .chev{margin-inline-start:6px}
}
/* ===== Cycle 11 — human professional presence: working-moment band (real-office composition frame + human-scale caption) ===== */
.tz-root .moment{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:36px;align-items:center;margin:0 0 44px;padding:0 0 40px;border-bottom:1px solid var(--line)}
.tz-root .moment .moment-ph{aspect-ratio:10/4.6;min-height:0;margin:0}
.tz-root .moment .moment-ph .ph-horizon{top:52%}
.tz-root .moment .moment-ph .ph-fig{inset-inline-end:22%;width:18%;height:68%}
.tz-root .moment .moment-ph .ph-fig.two{inset-inline-end:46%;width:16%;height:60%}
.tz-root .moment .moment-ph .ph-desk{inset-inline:14%;bottom:12%;height:9%}
.tz-root .moment .moment-ph .ph-cap{max-width:60ch}
.tz-root .moment-body .eyebrow{margin-bottom:8px}
.tz-root .moment-body h3{font-size:clamp(22px,2.2vw,28px);line-height:1.22;margin:0 0 10px;color:var(--petrol,#08384A)}
.tz-root .moment-body p{font-size:16px;line-height:1.65;color:var(--ink-2,#2E3F46);margin:0 0 12px}
.tz-root .moment-body .moment-who{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13.5px;color:var(--ink-3,#52646C)}
.tz-root .moment-body .moment-who b{color:var(--petrol,#08384A);font-weight:700;margin-inline-end:4px}
[dir="rtl"] .tz-root .moment-body h3{line-height:1.4}
@media (max-width:1024px){.tz-root .moment{grid-template-columns:minmax(0,1fr);gap:18px}.tz-root .moment .moment-ph{aspect-ratio:10/3.6}}
@media (max-width:680px){.tz-root .moment{margin-bottom:28px;padding-bottom:26px}.tz-root .moment .moment-ph{aspect-ratio:10/4.2}.tz-root .moment .moment-ph .ph-cap{display:none}.tz-root .moment-body h3{font-size:22px}.tz-root .moment-body p{font-size:15px}}
.tz-root .prov-row.reviewer .prov-body b{color:var(--petrol,#08384A)}
/* ===== merged from v22.css (EVOLUTION-03) ===== */
/* ===== Cycle 12 — industries: dossiers (A) and questions (B) ===== */
.tz-root .dossier-index{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;counter-reset:none}
.tz-root .dossier-index li a{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start;padding:16px 0;border-top:1px solid var(--line);color:inherit;text-decoration:none}
.tz-root .dossier-index li a:hover .di-body b{color:var(--teal-deep,#0F5F6B)}
.tz-root .dossier-index .di-num{font-family:var(--font-display,inherit);font-size:26px;line-height:1;color:var(--teal);letter-spacing:.02em}
.tz-root .dossier-index .di-body{display:flex;flex-direction:column;gap:4px;min-width:0}
.tz-root .dossier-index .di-body b{font-size:17px;color:var(--petrol,#08384A)}
.tz-root .dossier-index .di-body span{font-size:14px;line-height:1.55;color:var(--ink-3,#52646C)}
.tz-root .dossier-index.questions .di-q{font-family:var(--font-display,inherit);font-size:17px;line-height:1.35;color:var(--ink-2,#2E3F46)}
[dir="rtl"] .tz-root .dossier-index .di-num{letter-spacing:0}
.tz-root .dossier{margin:18px 0 26px;padding:22px 26px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}
.tz-root .dossier .eyebrow{margin-bottom:10px}
.tz-root .fact{display:grid;grid-template-columns:132px minmax(0,1fr);gap:6px 18px;padding:12px 0;border-top:1px solid var(--line)}
.tz-root .fact:first-of-type{border-top:0}
.tz-root .fact .fact-k{font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-deep,#0F5F6B);padding-top:3px}
[dir="rtl"] .tz-root .fact .fact-k{letter-spacing:0}
.tz-root .fact p{margin:0;font-size:15.5px;line-height:1.6;color:var(--ink-2,#2E3F46)}
.tz-root .fact .fact-src{grid-column:2;font-size:12px;color:var(--ink-3,#52646C)}
.tz-root .fact-line{font-size:14.5px;line-height:1.55;color:var(--ink-2,#2E3F46);border-inline-start:3px solid var(--gold);padding-inline-start:12px;margin:4px 0 8px}
.tz-root .year-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.tz-root .year-strip > div{display:flex;flex-direction:column;gap:8px;padding:22px 22px 22px 0;border-inline-end:1px solid var(--line)}
.tz-root .year-strip > div:last-child{border-inline-end:0}
.tz-root .year-strip > div + div{padding-inline-start:22px}
.tz-root .year-strip b{font-family:var(--font-display,inherit);font-size:19px;line-height:1.25;color:var(--petrol,#08384A)}
.tz-root .year-strip span{font-size:14px;line-height:1.55;color:var(--ink-3,#52646C)}
.tz-root .qa-set{display:flex;flex-direction:column;gap:6px;margin:10px 0 22px}
.tz-root .qa-set .eyebrow{margin-bottom:6px}
.tz-root details.qa{border-top:1px solid var(--line);padding:4px 0}
.tz-root details.qa summary{list-style:none;cursor:pointer;padding:12px 0;display:flex;gap:12px;align-items:flex-start}
.tz-root details.qa summary::-webkit-details-marker{display:none}
.tz-root details.qa summary::before{content:"";flex:none;width:10px;height:10px;margin-top:9px;border-radius:50%;border:2px solid var(--teal);transition:background .2s}
.tz-root details.qa[open] summary::before{background:var(--teal)}
.tz-root details.qa .qa-q{font-family:var(--font-display,inherit);font-size:21px;line-height:1.3;color:var(--petrol,#08384A)}
.tz-root details.qa .qa-a{padding:0 0 14px 22px}
[dir="rtl"] .tz-root details.qa .qa-a{padding:0 22px 14px 0}
.tz-root details.qa .qa-a p{margin:0 0 8px;font-size:15.5px;line-height:1.62;color:var(--ink-2,#2E3F46)}
.tz-root .qa-rail{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:28px;align-items:start}
@media (max-width:1024px){.tz-root .dossier-index{grid-template-columns:minmax(0,1fr)}.tz-root .year-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.tz-root .year-strip > div:nth-child(2){border-inline-end:0}.tz-root .year-strip > div:nth-child(n/**/+3){border-top:1px solid var(--line)}.tz-root .year-strip > div:nth-child(3){padding-inline-start:0}.tz-root .qa-rail{grid-template-columns:minmax(0,1fr)}}
@media (max-width:680px){.tz-root .fact{grid-template-columns:minmax(0,1fr)}.tz-root .fact .fact-src{grid-column:1}.tz-root .dossier{padding:16px 18px}.tz-root .year-strip{grid-template-columns:minmax(0,1fr)}.tz-root .year-strip > div{border-inline-end:0;padding:16px 0}.tz-root .year-strip > div + div{padding-inline-start:0;border-top:1px solid var(--line)}.tz-root details.qa .qa-q{font-size:18px}.tz-root details.qa:not([open]) .qa-a{display:none}.tz-root .dossier-index .di-num{font-size:22px}}
[dir="rtl"] .tz-root .dossier-index li a{grid-template-columns:44px minmax(0,1fr)}
[dir="rtl"] .tz-root .year-strip > div{padding:22px 0 22px 22px}
@media (max-width:680px){[dir="rtl"] .tz-root .year-strip > div{padding:16px 0}}
/* Cycle 12 fix: route links inside answers sit on light ground (the base .np-link is drawn for dark panels) */
.tz-root .qa-a .np-link{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px;border:1px solid var(--slate-200);border-radius:999px;color:var(--petrol,#08384A);background:var(--white);text-decoration:none}
.tz-root .qa-a .np-link svg{width:12px;height:12px;color:var(--teal)}
.tz-root .qa-a .np-link:hover{border-color:var(--teal);background:var(--teal-ghost,#E8F6F8)}
.tz-root .qa-src{display:block;margin:2px 0 10px;font-size:12px;color:var(--ink-3,#52646C)}
/* ===== Cycle 13 — campaigns: one inline, offer-specific CTA per page at its own beat ===== */
.tz-root .cmp-inline{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-top:36px;padding:22px 26px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow-card)}
.tz-root .cmp-inline p{margin:0;font-size:16.5px;line-height:1.55;color:var(--ink-2,#2E3F46);max-width:62ch}
.tz-root .cmp-inline .btn{flex:none}
.tz-root .section-mist .cmp-inline{background:var(--white)}
body.cmp-sbr_election .tz-root .cmp-inline{border-color:rgba(8,56,74,.14)}
@media (max-width:680px){.tz-root .cmp-inline{flex-direction:column;align-items:stretch;padding:18px;margin-top:26px}.tz-root .cmp-inline .btn{width:100%;justify-content:center}}
/* ===== Cycle 14 — About + Services hub in the V2.2 system ===== */
.tz-root .sec-num.inline{display:block;font-family:var(--font-display,inherit);font-size:56px;font-weight:700;line-height:.9;color:transparent;-webkit-text-stroke:1.3px var(--teal);margin:0 0 10px;letter-spacing:.02em}
[dir="rtl"] .tz-root .sec-num.inline{letter-spacing:0}
.tz-root .about-moment{margin-top:40px;padding-top:36px;border-top:1px solid var(--line);border-bottom:0;padding-bottom:0;margin-bottom:0}
.tz-root .fta-person .person-card{margin:0;height:100%}
.tz-root .about-maturity{margin-top:8px;padding:26px 28px;border-radius:var(--radius);background:linear-gradient(160deg,#0B3D4F,#062633);color:#fff}
.tz-root .about-maturity .maturity-line{margin:0}
.tz-root .svc-index{list-style:none;margin:6px 0 0;padding:0;border-top:1px solid var(--line)}
.tz-root .svc-index li a{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:6px 20px;align-items:start;padding:18px 0;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}
.tz-root .svc-index .si-num{font-family:var(--font-display,inherit);font-size:24px;line-height:1.1;color:var(--teal);letter-spacing:.02em}
[dir="rtl"] .tz-root .svc-index .si-num{letter-spacing:0}
.tz-root .svc-index .si-body{display:flex;flex-direction:column;gap:4px;min-width:0}
.tz-root .svc-index .si-body > b{font-size:18px;color:var(--petrol,#08384A);display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.tz-root .svc-index .si-body > span{font-size:14.5px;line-height:1.55;color:var(--ink-3,#52646C)}
.tz-root .svc-index .si-when{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:14px;color:var(--ink-2,#2E3F46);margin-top:2px}
.tz-root .svc-index .si-when i{font-style:normal;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-deep,#9A7A2E);padding-top:2px}
[dir="rtl"] .tz-root .svc-index .si-when i{letter-spacing:0}
.tz-root .svc-index .si-open{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--slate-200);border-radius:999px;font-size:13px;color:var(--petrol,#08384A);background:var(--white);white-space:nowrap;margin-top:2px}
.tz-root .svc-index .si-open svg{width:12px;height:12px;color:var(--teal)}
.tz-root .svc-index li a:hover .si-open{border-color:var(--teal);background:var(--teal-ghost,#E8F6F8)}
.tz-root .svc-index li a:hover .si-body > b{color:var(--teal-deep,#0F5F6B)}
.tz-root .svc-index .chip-status{font-size:11px}
@media (max-width:680px){.tz-root .svc-index li a{grid-template-columns:40px minmax(0,1fr)}.tz-root .svc-index .si-open{grid-column:2;justify-self:start}.tz-root .svc-index .si-num{font-size:20px}.tz-root .sec-num.inline{font-size:44px}.tz-root .about-maturity{padding:20px 18px}}
/* Cycle 14 fix: on phones the split hero's figure wrapper must stretch (the About hero centred it to 2 px) */
@media (max-width:1024px){:where(html.tz-js) .tz-root .page-hero.split .ph-grid > .reveal{width:100%;align-self:stretch;flex:none}}
/* ===== Cycle 15 — article depth: effective-date cell, 'in practice' block, mobile TOC as a numbered chip strip ===== */
.tz-root .glance{grid-template-columns:repeat(5,minmax(0,1fr))}
.tz-root .glance .gl-eff{order:3}
.tz-root .practice-block{margin:18px 0 22px;padding:20px 24px;border:1px solid var(--line);border-inline-start:3px solid var(--teal);border-radius:var(--radius);background:var(--white)}
.tz-root .practice-block .pb-lbl{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-deep,#0F5F6B);margin-bottom:10px}
[dir="rtl"] .tz-root .practice-block .pb-lbl{letter-spacing:0}
.tz-root .practice-block dl{margin:0;display:flex;flex-direction:column;gap:10px}
.tz-root .practice-block dl > div{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);gap:4px 18px;padding-top:10px;border-top:1px solid var(--line)}
.tz-root .practice-block dl > div:first-child{border-top:0;padding-top:0}
.tz-root .practice-block dt{font-weight:700;color:var(--petrol,#08384A);font-size:15px;line-height:1.5}
.tz-root .practice-block dd{margin:0;font-size:15px;line-height:1.6;color:var(--ink-2,#2E3F46)}
@media (max-width:1024px){.tz-root .glance{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:680px){.tz-root .glance{grid-template-columns:repeat(2,minmax(0,1fr))}.tz-root .practice-block dl > div{grid-template-columns:minmax(0,1fr)}.tz-root .practice-block{padding:16px 18px}
.tz-root .article-toc{position:static;max-width:none;margin:0 0 18px}.tz-root .article-toc .toc-head{margin-bottom:8px}
.tz-root .article-toc ol{display:flex;gap:8px;overflow-x:auto;padding:2px 0 8px;margin:0;list-style:none;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.tz-root .article-toc ol::-webkit-scrollbar{display:none}
.tz-root .article-toc ol li{flex:none}
.tz-root .article-toc ol li a{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--white);font-size:13px;white-space:nowrap;color:var(--petrol,#08384A)}
.tz-root .article-toc ol li a.on{background:var(--petrol,#08384A);color:#fff;border-color:var(--petrol,#08384A)}
.tz-root .article-toc .toc-foot{display:none}}
/* ===== Cycle 17 — 320 / 360 widths: the credential pill stays one row; the duplicated utility CTA yields ===== */
@media (max-width:360px){
.tz-root .fta-badge{font-size:13px;padding:9px 12px;gap:8px}
.tz-root .fta-badge > svg:first-child{display:none}
.tz-root .fta-badge .chev{width:14px;height:14px}
.tz-root .utility .u-cta{display:none}
.tz-root .utility-inner{gap:6px 10px}
.tz-root .hero-eyebrow{letter-spacing:.14em;font-size:11px}
.tz-root h1{font-size:clamp(28px,9.2vw,34px)}
}
/* ===== Cycles 18–21 — light closing band for hubs; production classes replacing inline styles ===== */
.tz-root .cta-band.light{background:var(--mist,#EEF3F4);color:var(--petrol,#08384A)}
.tz-root .cta-band.light h2,.tz-root .cta-band.light p{color:var(--petrol,#08384A)}
.tz-root .cta-band.light p{color:var(--ink-2,#2E3F46)}
.tz-root .cta-band.light .btn-ghost{color:var(--petrol,#08384A);border-color:rgba(8,56,74,.35);background:transparent}
.tz-root .cta-band.light .btn-ghost:hover{background:rgba(8,56,74,.06)}
.tz-root .cta-band.light .wave.top svg path{fill:#FFFFFF}
.tz-root .cta-band.light .cmp-echo{display:none}
.tz-root .method-strip.ms-3{grid-template-columns:repeat(3,1fr)}.tz-root .method-strip.ms-4{grid-template-columns:repeat(4,1fr)}.tz-root .method-strip.ms-5{grid-template-columns:repeat(5,1fr)}
@media (max-width:1024px){.tz-root .method-strip.ms-4,.tz-root .method-strip.ms-5{grid-template-columns:repeat(2,1fr)}}
@media (max-width:680px){.tz-root .method-strip.ms-3,.tz-root .method-strip.ms-4,.tz-root .method-strip.ms-5{grid-template-columns:1fr}}
.tz-root .note-muted{font-style:normal;color:var(--muted,#6B7A80)}
.tz-root .mt-14{margin-top:14px}.tz-root .mt-18{margin-top:18px}.tz-root .mt-28{margin-top:28px}.tz-root .mb-18{margin:0 0 18px}.tz-root .m-0{margin:0}
.tz-root .sc-when{color:var(--teal-text,#127A87);font-size:12.5px;font-weight:600;margin-top:4px;display:block}
.tz-root .ct-note{font-size:13.5px;color:var(--muted,#6B7A80)}


/* ===== v22.css ===== */
/* AL TAMAYUZ — v22.css · EVOLUTION-03 additive layer (Cycle 12+). Merged into v21.css / v21.production.css once each cycle is selected. */
/* ===== Cycle 12 — industries: dossiers (A) and questions (B) ===== */
:where(.tz-v22) .tz-root .dossier-index{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;counter-reset:none}
:where(.tz-v22) .tz-root .dossier-index li a{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;align-items:start;padding:16px 0;border-top:1px solid var(--line);color:inherit;text-decoration:none}
:where(.tz-v22) .tz-root .dossier-index li a:hover .di-body b{color:var(--teal-deep,#0F5F6B)}
:where(.tz-v22) .tz-root .dossier-index .di-num{font-family:var(--font-display,inherit);font-size:26px;line-height:1;color:var(--teal);letter-spacing:.02em}
:where(.tz-v22) .tz-root .dossier-index .di-body{display:flex;flex-direction:column;gap:4px;min-width:0}
:where(.tz-v22) .tz-root .dossier-index .di-body b{font-size:17px;color:var(--petrol,#08384A)}
:where(.tz-v22) .tz-root .dossier-index .di-body span{font-size:14px;line-height:1.55;color:var(--ink-3,#52646C)}
:where(.tz-v22) .tz-root .dossier-index.questions .di-q{font-family:var(--font-display,inherit);font-size:17px;line-height:1.35;color:var(--ink-2,#2E3F46)}
:where(.tz-v22) [dir="rtl"] .tz-root .dossier-index .di-num{letter-spacing:0}
:where(.tz-v22) .tz-root .dossier{margin:18px 0 26px;padding:22px 26px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white)}
:where(.tz-v22) .tz-root .dossier .eyebrow{margin-bottom:10px}
:where(.tz-v22) .tz-root .fact{display:grid;grid-template-columns:132px minmax(0,1fr);gap:6px 18px;padding:12px 0;border-top:1px solid var(--line)}
:where(.tz-v22) .tz-root .fact:first-of-type{border-top:0}
:where(.tz-v22) .tz-root .fact .fact-k{font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-deep,#0F5F6B);padding-top:3px}
:where(.tz-v22) [dir="rtl"] .tz-root .fact .fact-k{letter-spacing:0}
:where(.tz-v22) .tz-root .fact p{margin:0;font-size:15.5px;line-height:1.6;color:var(--ink-2,#2E3F46)}
:where(.tz-v22) .tz-root .fact .fact-src{grid-column:2;font-size:12px;color:var(--ink-3,#52646C)}
:where(.tz-v22) .tz-root .fact-line{font-size:14.5px;line-height:1.55;color:var(--ink-2,#2E3F46);border-inline-start:3px solid var(--gold);padding-inline-start:12px;margin:4px 0 8px}
:where(.tz-v22) .tz-root .year-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
:where(.tz-v22) .tz-root .year-strip > div{display:flex;flex-direction:column;gap:8px;padding:22px 22px 22px 0;border-inline-end:1px solid var(--line)}
:where(.tz-v22) .tz-root .year-strip > div:last-child{border-inline-end:0}
:where(.tz-v22) .tz-root .year-strip > div + div{padding-inline-start:22px}
:where(.tz-v22) .tz-root .year-strip b{font-family:var(--font-display,inherit);font-size:19px;line-height:1.25;color:var(--petrol,#08384A)}
:where(.tz-v22) .tz-root .year-strip span{font-size:14px;line-height:1.55;color:var(--ink-3,#52646C)}
:where(.tz-v22) .tz-root .qa-set{display:flex;flex-direction:column;gap:6px;margin:10px 0 22px}
:where(.tz-v22) .tz-root .qa-set .eyebrow{margin-bottom:6px}
:where(.tz-v22) .tz-root details.qa{border-top:1px solid var(--line);padding:4px 0}
:where(.tz-v22) .tz-root details.qa summary{list-style:none;cursor:pointer;padding:12px 0;display:flex;gap:12px;align-items:flex-start}
:where(.tz-v22) .tz-root details.qa summary::-webkit-details-marker{display:none}
:where(.tz-v22) .tz-root details.qa summary::before{content:"";flex:none;width:10px;height:10px;margin-top:9px;border-radius:50%;border:2px solid var(--teal);transition:background .2s}
:where(.tz-v22) .tz-root details.qa[open] summary::before{background:var(--teal)}
:where(.tz-v22) .tz-root details.qa .qa-q{font-family:var(--font-display,inherit);font-size:21px;line-height:1.3;color:var(--petrol,#08384A)}
:where(.tz-v22) .tz-root details.qa .qa-a{padding:0 0 14px 22px}
:where(.tz-v22) [dir="rtl"] .tz-root details.qa .qa-a{padding:0 22px 14px 0}
:where(.tz-v22) .tz-root details.qa .qa-a p{margin:0 0 8px;font-size:15.5px;line-height:1.62;color:var(--ink-2,#2E3F46)}
:where(.tz-v22) .tz-root .qa-rail{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:28px;align-items:start}
@media (max-width:1024px){:where(.tz-v22) .tz-root .dossier-index{grid-template-columns:minmax(0,1fr)}:where(.tz-v22) .tz-root .year-strip{grid-template-columns:repeat(2,minmax(0,1fr))}:where(.tz-v22) .tz-root .year-strip > div:nth-child(2){border-inline-end:0}:where(.tz-v22) .tz-root .year-strip > div:nth-child(n/**/+3){border-top:1px solid var(--line)}:where(.tz-v22) .tz-root .year-strip > div:nth-child(3){padding-inline-start:0}:where(.tz-v22) .tz-root .qa-rail{grid-template-columns:minmax(0,1fr)}}
@media (max-width:680px){:where(.tz-v22) .tz-root .fact{grid-template-columns:minmax(0,1fr)}:where(.tz-v22) .tz-root .fact .fact-src{grid-column:1}:where(.tz-v22) .tz-root .dossier{padding:16px 18px}:where(.tz-v22) .tz-root .year-strip{grid-template-columns:minmax(0,1fr)}:where(.tz-v22) .tz-root .year-strip > div{border-inline-end:0;padding:16px 0}:where(.tz-v22) .tz-root .year-strip > div + div{padding-inline-start:0;border-top:1px solid var(--line)}:where(.tz-v22) .tz-root details.qa .qa-q{font-size:18px}:where(.tz-v22) .tz-root details.qa:not([open]) .qa-a{display:none}:where(.tz-v22) .tz-root .dossier-index .di-num{font-size:22px}}
:where(.tz-v22) [dir="rtl"] .tz-root .dossier-index li a{grid-template-columns:44px minmax(0,1fr)}
:where(.tz-v22) [dir="rtl"] .tz-root .year-strip > div{padding:22px 0 22px 22px}
@media (max-width:680px){:where(.tz-v22) [dir="rtl"] .tz-root .year-strip > div{padding:16px 0}}
/* Cycle 12 fix: route links inside answers sit on light ground (the base .np-link is drawn for dark panels) */
:where(.tz-v22) .tz-root .qa-a .np-link{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;font-size:13px;border:1px solid var(--slate-200);border-radius:999px;color:var(--petrol,#08384A);background:var(--white);text-decoration:none}
:where(.tz-v22) .tz-root .qa-a .np-link svg{width:12px;height:12px;color:var(--teal)}
:where(.tz-v22) .tz-root .qa-a .np-link:hover{border-color:var(--teal);background:var(--teal-ghost,#E8F6F8)}
:where(.tz-v22) .tz-root .qa-src{display:block;margin:2px 0 10px;font-size:12px;color:var(--ink-3,#52646C)}
/* ===== Cycle 13 — campaigns: one inline, offer-specific CTA per page at its own beat ===== */
:where(.tz-v22) .tz-root .cmp-inline{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-top:36px;padding:22px 26px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow-card)}
:where(.tz-v22) .tz-root .cmp-inline p{margin:0;font-size:16.5px;line-height:1.55;color:var(--ink-2,#2E3F46);max-width:62ch}
:where(.tz-v22) .tz-root .cmp-inline .btn{flex:none}
:where(.tz-v22) .tz-root .section-mist .cmp-inline{background:var(--white)}
:where(.tz-v22) body.cmp-sbr_election .tz-root .cmp-inline{border-color:rgba(8,56,74,.14)}
@media (max-width:680px){:where(.tz-v22) .tz-root .cmp-inline{flex-direction:column;align-items:stretch;padding:18px;margin-top:26px}:where(.tz-v22) .tz-root .cmp-inline .btn{width:100%;justify-content:center}}
/* ===== Cycle 14 — About + Services hub in the V2.2 system ===== */
:where(.tz-v22) .tz-root .sec-num.inline{display:block;font-family:var(--font-display,inherit);font-size:56px;font-weight:700;line-height:.9;color:transparent;-webkit-text-stroke:1.3px var(--teal);margin:0 0 10px;letter-spacing:.02em}
:where(.tz-v22) [dir="rtl"] .tz-root .sec-num.inline{letter-spacing:0}
:where(.tz-v22) .tz-root .about-moment{margin-top:40px;padding-top:36px;border-top:1px solid var(--line);border-bottom:0;padding-bottom:0;margin-bottom:0}
:where(.tz-v22) .tz-root .fta-person .person-card{margin:0;height:100%}
:where(.tz-v22) .tz-root .about-maturity{margin-top:8px;padding:26px 28px;border-radius:var(--radius);background:linear-gradient(160deg,#0B3D4F,#062633);color:#fff}
:where(.tz-v22) .tz-root .about-maturity .maturity-line{margin:0}
:where(.tz-v22) .tz-root .svc-index{list-style:none;margin:6px 0 0;padding:0;border-top:1px solid var(--line)}
:where(.tz-v22) .tz-root .svc-index li a{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:6px 20px;align-items:start;padding:18px 0;border-bottom:1px solid var(--line);color:inherit;text-decoration:none}
:where(.tz-v22) .tz-root .svc-index .si-num{font-family:var(--font-display,inherit);font-size:24px;line-height:1.1;color:var(--teal);letter-spacing:.02em}
:where(.tz-v22) [dir="rtl"] .tz-root .svc-index .si-num{letter-spacing:0}
:where(.tz-v22) .tz-root .svc-index .si-body{display:flex;flex-direction:column;gap:4px;min-width:0}
:where(.tz-v22) .tz-root .svc-index .si-body > b{font-size:18px;color:var(--petrol,#08384A);display:flex;flex-wrap:wrap;gap:8px;align-items:center}
:where(.tz-v22) .tz-root .svc-index .si-body > span{font-size:14.5px;line-height:1.55;color:var(--ink-3,#52646C)}
:where(.tz-v22) .tz-root .svc-index .si-when{display:flex;flex-wrap:wrap;gap:6px 10px;font-size:14px;color:var(--ink-2,#2E3F46);margin-top:2px}
:where(.tz-v22) .tz-root .svc-index .si-when i{font-style:normal;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-deep,#9A7A2E);padding-top:2px}
:where(.tz-v22) [dir="rtl"] .tz-root .svc-index .si-when i{letter-spacing:0}
:where(.tz-v22) .tz-root .svc-index .si-open{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid var(--slate-200);border-radius:999px;font-size:13px;color:var(--petrol,#08384A);background:var(--white);white-space:nowrap;margin-top:2px}
:where(.tz-v22) .tz-root .svc-index .si-open svg{width:12px;height:12px;color:var(--teal)}
:where(.tz-v22) .tz-root .svc-index li a:hover .si-open{border-color:var(--teal);background:var(--teal-ghost,#E8F6F8)}
:where(.tz-v22) .tz-root .svc-index li a:hover .si-body > b{color:var(--teal-deep,#0F5F6B)}
:where(.tz-v22) .tz-root .svc-index .chip-status{font-size:11px}
@media (max-width:680px){:where(.tz-v22) .tz-root .svc-index li a{grid-template-columns:40px minmax(0,1fr)}:where(.tz-v22) .tz-root .svc-index .si-open{grid-column:2;justify-self:start}:where(.tz-v22) .tz-root .svc-index .si-num{font-size:20px}:where(.tz-v22) .tz-root .sec-num.inline{font-size:44px}:where(.tz-v22) .tz-root .about-maturity{padding:20px 18px}}
/* Cycle 14 fix: on phones the split hero's figure wrapper must stretch (the About hero centred it to 2 px) */
@media (max-width:1024px){:where(.tz-v22) :where(html.tz-js) .tz-root .page-hero.split .ph-grid > .reveal{width:100%;align-self:stretch;flex:none}}
/* ===== Cycle 15 — article depth: effective-date cell, 'in practice' block, mobile TOC as a numbered chip strip ===== */
:where(.tz-v22) .tz-root .glance{grid-template-columns:repeat(5,minmax(0,1fr))}
:where(.tz-v22) .tz-root .glance .gl-eff{order:3}
:where(.tz-v22) .tz-root .practice-block{margin:18px 0 22px;padding:20px 24px;border:1px solid var(--line);border-inline-start:3px solid var(--teal);border-radius:var(--radius);background:var(--white)}
:where(.tz-v22) .tz-root .practice-block .pb-lbl{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--teal-deep,#0F5F6B);margin-bottom:10px}
:where(.tz-v22) [dir="rtl"] .tz-root .practice-block .pb-lbl{letter-spacing:0}
:where(.tz-v22) .tz-root .practice-block dl{margin:0;display:flex;flex-direction:column;gap:10px}
:where(.tz-v22) .tz-root .practice-block dl > div{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);gap:4px 18px;padding-top:10px;border-top:1px solid var(--line)}
:where(.tz-v22) .tz-root .practice-block dl > div:first-child{border-top:0;padding-top:0}
:where(.tz-v22) .tz-root .practice-block dt{font-weight:700;color:var(--petrol,#08384A);font-size:15px;line-height:1.5}
:where(.tz-v22) .tz-root .practice-block dd{margin:0;font-size:15px;line-height:1.6;color:var(--ink-2,#2E3F46)}
@media (max-width:1024px){:where(.tz-v22) .tz-root .glance{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:680px){:where(.tz-v22) .tz-root .glance{grid-template-columns:repeat(2,minmax(0,1fr))}:where(.tz-v22) .tz-root .practice-block dl > div{grid-template-columns:minmax(0,1fr)}:where(.tz-v22) .tz-root .practice-block{padding:16px 18px}
:where(.tz-v22) .tz-root .article-toc{position:static;max-width:none;margin:0 0 18px}:where(.tz-v22) .tz-root .article-toc .toc-head{margin-bottom:8px}
:where(.tz-v22) .tz-root .article-toc ol{display:flex;gap:8px;overflow-x:auto;padding:2px 0 8px;margin:0;list-style:none;scrollbar-width:none;-webkit-overflow-scrolling:touch}
:where(.tz-v22) .tz-root .article-toc ol::-webkit-scrollbar{display:none}
:where(.tz-v22) .tz-root .article-toc ol li{flex:none}
:where(.tz-v22) .tz-root .article-toc ol li a{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:var(--white);font-size:13px;white-space:nowrap;color:var(--petrol,#08384A)}
:where(.tz-v22) .tz-root .article-toc ol li a.on{background:var(--petrol,#08384A);color:#fff;border-color:var(--petrol,#08384A)}
:where(.tz-v22) .tz-root .article-toc .toc-foot{display:none}}
/* ===== Cycle 17 — 320 / 360 widths: the credential pill stays one row; the duplicated utility CTA yields ===== */
@media (max-width:360px){
:where(.tz-v22) .tz-root .fta-badge{font-size:13px;padding:9px 12px;gap:8px}
:where(.tz-v22) .tz-root .fta-badge > svg:first-child{display:none}
:where(.tz-v22) .tz-root .fta-badge .chev{width:14px;height:14px}
:where(.tz-v22) .tz-root .utility .u-cta{display:none}
:where(.tz-v22) .tz-root .utility-inner{gap:6px 10px}
:where(.tz-v22) .tz-root .hero-eyebrow{letter-spacing:.14em;font-size:11px}
:where(.tz-v22) .tz-root h1{font-size:clamp(28px,9.2vw,34px)}
}
/* ===== Cycles 18–21 — light closing band for hubs; production classes replacing inline styles ===== */
:where(.tz-v22) .tz-root .cta-band.light{background:var(--mist,#EEF3F4);color:var(--petrol,#08384A)}
:where(.tz-v22) .tz-root .cta-band.light h2,:where(.tz-v22) .tz-root .cta-band.light p{color:var(--petrol,#08384A)}
:where(.tz-v22) .tz-root .cta-band.light p{color:var(--ink-2,#2E3F46)}
:where(.tz-v22) .tz-root .cta-band.light .btn-ghost{color:var(--petrol,#08384A);border-color:rgba(8,56,74,.35);background:transparent}
:where(.tz-v22) .tz-root .cta-band.light .btn-ghost:hover{background:rgba(8,56,74,.06)}
:where(.tz-v22) .tz-root .cta-band.light .wave.top svg path{fill:#FFFFFF}
:where(.tz-v22) .tz-root .cta-band.light .cmp-echo{display:none}
:where(.tz-v22) .tz-root .method-strip.ms-3{grid-template-columns:repeat(3,1fr)}:where(.tz-v22) .tz-root .method-strip.ms-4{grid-template-columns:repeat(4,1fr)}:where(.tz-v22) .tz-root .method-strip.ms-5{grid-template-columns:repeat(5,1fr)}
@media (max-width:1024px){:where(.tz-v22) .tz-root .method-strip.ms-4,:where(.tz-v22) .tz-root .method-strip.ms-5{grid-template-columns:repeat(2,1fr)}}
@media (max-width:680px){:where(.tz-v22) .tz-root .method-strip.ms-3,:where(.tz-v22) .tz-root .method-strip.ms-4,:where(.tz-v22) .tz-root .method-strip.ms-5{grid-template-columns:1fr}}
:where(.tz-v22) .tz-root .note-muted{font-style:normal;color:var(--muted,#6B7A80)}
:where(.tz-v22) .tz-root .mt-14{margin-top:14px}:where(.tz-v22) .tz-root .mt-18{margin-top:18px}:where(.tz-v22) .tz-root .mt-28{margin-top:28px}:where(.tz-v22) .tz-root .mb-18{margin:0 0 18px}:where(.tz-v22) .tz-root .m-0{margin:0}
:where(.tz-v22) .tz-root .sc-when{color:var(--teal-text,#127A87);font-size:12.5px;font-weight:600;margin-top:4px;display:block}
:where(.tz-v22) .tz-root .ct-note{font-size:13.5px;color:var(--muted,#6B7A80)}


/* ===== e04.css ===== */
/* ==========================================================================
   AL TAMAYUZ — VISUAL DYNAMICS E04 layer (additive, loads after style/site/v2/v21/v22)
   Namespace: body.e4 (every rule below is scoped). Nothing in the earlier layers is edited.
   Sections: 0 tokens · 1 typography rebalance (strategy classes) · 2 numeric/hollow conversions of E03 markers
   · 3 marker vocabulary (filled) · 4 section heads, pull quotes, summaries · 5 photo fallbacks (editorial stills)
   · 6 financial visual language (3D bars, cash flow, balance stack, report stack, flows, matrix, dashboard, ledger flow,
     timeline, flip cards, floating elements, hero compositions) · 7 motion system V2 · 8 RTL · 9 mobile
   Motion levels: L0 static · L1 micro · L2 hover/tap · L3 scroll reveal · L4 hero ambient · L5 interactive data.
   ========================================================================== */
/* ---------- 0. Tokens ---------- */
.e4{--e4-dur-1:150ms;--e4-dur-2:260ms;--e4-dur-3:620ms;--e4-dur-4:1100ms;--e4-ease:cubic-bezier(.2,.7,.2,1);
  --e4-fill:rgba(26,157,173,.11);--e4-fill-2:rgba(8,56,74,.06);--e4-fill-3:rgba(191,155,79,.16);--e4-fill-dark:rgba(255,255,255,.08);
  --e4-shadow:0 12px 32px -14px rgba(8,56,74,.22);--e4-float:0 30px 60px -24px rgba(6,43,57,.55);--e4-ring:0 0 0 4px rgba(26,157,173,.22);
  --e4-persp:1100px;--e4-tilt-x:0deg;--e4-tilt-y:0deg;
  --e4-sheet:#FFFFFF;--e4-sheet-line:rgba(8,56,74,.12);}
.e4 .tz-root .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* ---------- 1. Typography rebalance ----------
   Strategy A: El Messiri only on hero display lines. Strategy B: El Messiri only on .e4-kw keywords / short premium phrases.
   Strategy C (selected, see 02_typography/FINAL_TYPOGRAPHY_SYSTEM.md): El Messiri removed from body-page headings;
   reserved for .e4-display (hub heroes) and one .e4-moment per page. Functional headings: Jost 600 / Tajawal 700. */
.e4 .tz-root h1,.e4 .tz-root h2,.e4 .tz-root h3,.e4 .tz-root h4,.e4 .tz-root .display,.e4 .tz-root .method-strip b,.e4 .tz-root .sh-title,.e4 .tz-root .hero-figure.doc .sheet .sh-title,.e4 .tz-root .sector-real,.e4 .tz-root .video-proof .vp-body blockquote,.e4 .tz-root .masthead h2,.e4 .tz-root .t-quote blockquote,.e4 .tz-root .pc-name,.e4 .tz-root .qa-q,.e4 .tz-root .fta-card .fta-name,.e4 .tz-root .nm,.e4 .tz-root .ledger > li h3,.e4 .tz-root .hero-figure .hf-meta b,.e4 .tz-root .need-chip,.e4 .tz-root .svc-card h3,.e4 .tz-root .k-card h3,.e4 .tz-root caption,.e4 .tz-root .sc-card b,.e4 .tz-root .showcase.single .sc-card b,.e4 .tz-root .office-card b,.e4 .tz-root .st-item b,.e4 .tz-root .reach-mini b,.e4 .tz-root .reach b,.e4 .tz-root .reach a b,.e4 .tz-root .vs-body b,.e4 .tz-root .callout b,.e4 .tz-root .cc-card b,.e4 .tz-root .lane b,.e4 .tz-root .k-featured b,.e4 .tz-root .kf-main b,.e4 .tz-root .adv-panel b,.e4 .tz-root .moment-who b,.e4 .tz-root .j-step h3,.e4 .tz-root .route-card h3,.e4 .tz-root .ind-card h3,.e4 .tz-root .why-card h3,.e4 .tz-root .f-pillar b,.e4 .tz-root .sr-copy h3,.e4 .tz-root .lead-card h3,.e4 .tz-root .form-ok h3,.e4 .tz-root .pc-body b,.e4 .tz-root .ok-next b,.e4 .tz-root .cc-lane b,.e4 .tz-root .o-row b,.e4 .tz-root .hours b,.e4 .tz-root .mega-feature h5,.e4 .tz-root .mega-col h4,.e4 .tz-root .ib-head h2,.e4 .tz-root .rail-map b,.e4 .tz-root .rm-row b,.e4 .tz-root .qa-set b{font-family:var(--font-body);letter-spacing:-.005em}
.e4 .tz-root .t-quote .qmark{font-size:72px;line-height:1}
.e4 .tz-root h1,.e4 .tz-root h2,.e4 .tz-root h3,.e4 .tz-root h4{font-weight:600}
.tz-root .e4.e4-type-a .hero h1,.tz-root .e4.e4-type-a .page-hero h1,.tz-root .e4.e4-type-a .campaign-hero h1{font-family:"El Messiri",var(--font-body);font-weight:600}
.tz-root .e4.e4-type-b .e4-kw{font-family:"El Messiri",var(--font-body);font-weight:600;color:var(--gold-2)}
.e4.e4-type-c .tz-root .e4-display,.e4.e4-type-c .tz-root .e4-moment,.e4.e4-type-c .tz-root .e4-pull q{font-family:"El Messiri",var(--font-body);font-weight:600;letter-spacing:0}
.e4 .tz-root .hero h1{font-size:clamp(34px,3.7vw,50px);line-height:1.16;max-width:15ch}
.e4 .tz-root .page-hero h1,.e4 .tz-root .page-hero .ph-inner > h2.as-h1{font-size:clamp(30px,3.2vw,44px);line-height:1.2;max-width:17ch}
.e4 .tz-root .campaign-hero h1{font-size:clamp(30px,3.2vw,42px)}
.e4 .tz-root .section-head h2,.e4 .tz-root .editorial-copy h2,.e4 .tz-root .cc-head h2,.e4 .tz-root .ind-block .ib-head h2,.e4 .tz-root .masthead h2,.e4 .tz-root .article > h2,.e4 .tz-root .sb-head h2{font-size:clamp(25px,2.4vw,34px);line-height:1.22}
.e4 .tz-root .cta-band h2{font-size:clamp(26px,2.7vw,36px);line-height:1.2}
.e4 .tz-root .section-head.chapter h2{max-width:20em}
.e4 .tz-root h3{font-size:clamp(19px,1.45vw,22px);line-height:1.3}
.e4 .tz-root .moment-body h3,.e4 .tz-root .scope-row .sr-copy h3{font-size:clamp(20px,1.8vw,25px)}
.e4 .tz-root .section-head p,.e4 .tz-root .editorial-copy p{font-size:16.5px;line-height:1.66}
.e4 .tz-root .ph-sub,.e4 .tz-root .hero-sub{font-size:clamp(16px,1.2vw,18px);line-height:1.62}
.e4 .tz-root .eyebrow{font-weight:700;letter-spacing:.14em}
/* Arabic: Tajawal carries every functional heading; El Messiri only where EN uses it (and sized for the Arabic eye) */
[dir="rtl"] .e4 .tz-root h1,[dir="rtl"] .e4 .tz-root h2,[dir="rtl"] .e4 .tz-root h3,[dir="rtl"] .e4 .tz-root h4{font-family:var(--font-body);font-weight:700;letter-spacing:0}
[dir="rtl"] .e4 .tz-root .hero h1{font-size:clamp(32px,3.6vw,48px);line-height:1.34;max-width:16ch}
[dir="rtl"] .e4 .tz-root .page-hero h1{font-size:clamp(28px,3.1vw,42px);line-height:1.36}
[dir="rtl"] .e4 .tz-root .section-head h2,[dir="rtl"] .e4 .tz-root .editorial-copy h2,[dir="rtl"] .e4 .tz-root .cc-head h2,[dir="rtl"] .e4 .tz-root .ind-block .ib-head h2{font-size:clamp(24px,2.3vw,32px);line-height:1.4}
[dir="rtl"] .e4 .tz-root h3{line-height:1.45}
[dir="rtl"] .e4.e4-type-c .tz-root .e4-display,[dir="rtl"] .e4.e4-type-c .tz-root .e4-moment,[dir="rtl"] .e4.e4-type-c .tz-root .e4-pull q{font-family:"El Messiri",var(--font-body);line-height:1.5}
/* ---------- 2. Numeric / hollow conversions of E03 markers (Owner addendum-01) ----------
   Decorative numerals hidden (replaced in markup by markers); sequential numerals kept but FILLED (never stroke-only). */
.e4 .tz-root .section-head.chapter .sec-num,.e4 .tz-root .sec-num.inline,.e4 .tz-root .ib-num{display:none}
.e4 .tz-root .section-head.chapter{gap:6px 22px;margin-bottom:40px}
.e4 .tz-root .section-head.chapter > .e4-mark,.e4 .tz-root .section-head.chapter > .e4-bars,.e4 .tz-root .section-head.chapter > .e4-tab{grid-row:1/span 3;align-self:start;margin-top:2px}
.e4 .tz-root .method-strip .ms-n,.e4 .tz-root .j-num,.e4 .tz-root .tl-node .n,.e4 .tz-root .ok-num{font-family:var(--font-body);font-weight:700;color:#fff;-webkit-text-stroke:0;letter-spacing:0}
.e4 .tz-root .method-strip .ms-n{font-size:13px;width:30px;height:30px;border-radius:50%;background:linear-gradient(145deg,var(--teal-text),var(--petrol));display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 12px -6px rgba(26,157,173,.7);opacity:1;line-height:1}
.e4 .tz-root .method-strip .ms-item{position:relative}
.e4 .tz-root .method-strip .ms-item::after{content:"";position:absolute;inset-inline-start:calc(18px + 30px + 8px);top:36px;inset-inline-end:10px;height:2px;background:linear-gradient(90deg,rgba(26,157,173,.45),rgba(26,157,173,0));border-radius:2px}
.e4 .tz-root .method-strip .ms-item:last-child::after{display:none}
.e4 .tz-root .j-num{font-size:14px;width:34px;height:34px;border-radius:50%;background:var(--petrol);display:inline-flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 8px 16px -8px rgba(8,56,74,.6);position:relative;z-index:1}
.e4 .tz-root .journey-grid{position:relative}
.e4 .tz-root .j-step{position:relative}
.e4 .tz-root .j-step::before{content:"";position:absolute;top:39px;inset-inline-start:56px;inset-inline-end:-30px;height:2px;z-index:0;background:linear-gradient(90deg,rgba(8,56,74,.35),rgba(8,56,74,.08))}
.e4 .tz-root .j-step:last-child::before{display:none}
.e4 .tz-root .tl-node{background:var(--petrol);border-color:var(--petrol);box-shadow:0 8px 18px -8px rgba(8,56,74,.55)}
.e4 .tz-root .tl-node .n{font-size:15px}
.e4 .tz-root .tl-item.done .tl-node{background:var(--teal);border-color:var(--teal)}
.e4 .tz-root .ledger > li::before{content:"";counter-increment:none;width:30px;height:30px;border-radius:9px;-webkit-text-stroke:0;color:transparent;font-size:0;margin-top:1px;
  background:var(--petrol) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='m6 12.5 4 4 8-9'/></svg>") center/15px no-repeat;box-shadow:0 6px 12px -7px rgba(8,56,74,.6)}
.e4 .tz-root .ledger.e4-led-doc > li::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'><path d='M7 3h7l5 5v13H7z' opacity='.92'/><path d='M14 3v5h5' fill='%2308384A'/><rect x='9.5' y='11' width='7' height='1.6' rx='.8' fill='%2308384A'/><rect x='9.5' y='14.4' width='7' height='1.6' rx='.8' fill='%2308384A'/></svg>")}
.e4 .tz-root .ledger.e4-led-bar > li::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'><rect x='5' y='12' width='3.4' height='8' rx='1'/><rect x='10.3' y='8' width='3.4' height='12' rx='1'/><rect x='15.6' y='4.5' width='3.4' height='15.5' rx='1'/></svg>")}
.e4 .tz-root .ledger.e4-led-flow > li::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M4 12h12'/><path d='m12 7 5 5-5 5'/><circle cx='20' cy='12' r='1.6' fill='white'/></svg>")}
.e4 .tz-root .ledger.e4-led-shield > li::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'><path d='M12 2.5 5 5v6c0 5 3.6 8.4 7 10 3.4-1.6 7-5 7-10V5z' opacity='.95'/><path d='m9 12 2.2 2.2L15.5 10' fill='none' stroke='%2308384A' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/></svg>")}
.e4 .tz-root .ledger.e4-led-ledger > li::before{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'><rect x='4' y='4' width='16' height='16' rx='2' opacity='.92'/><path d='M8 8.5h8M8 12h8M8 15.5h5' stroke='%2308384A' stroke-width='1.7' stroke-linecap='round'/></svg>")}
.e4 .tz-root .ledger > li{grid-template-columns:30px minmax(0,1fr) auto;gap:6px 18px}
.e4 .tz-root .ledger > li::before{grid-row:1/span 2}
.e4 .tz-root .rc-num,.e4 .tz-root .di-num,.e4 .tz-root .si-num{display:none}
.e4 .tz-root .dossier-index li a{grid-template-columns:40px minmax(0,1fr)}
.e4 .tz-root .svc-index li a{grid-template-columns:40px minmax(0,1fr) auto}
/* hollow → filled: stamps, seals, chips, keycaps stay filled; outline-only seal gets a filled core */
.e4 .tz-root .vs-seal{background:var(--petrol);color:#fff;border:0}
.e4 .tz-root .vs-seal svg{color:var(--gold-2)}
.e4 .tz-root .ok-ico,.e4 .tz-root .oc-ico,.e4 .tz-root .rc-ico{background:var(--e4-fill);border:0}
.e4 .tz-root .fta-badge{border-color:rgba(63,193,208,.45);background:linear-gradient(135deg,rgba(63,193,208,.22),rgba(8,56,74,.35));box-shadow:0 10px 24px -14px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.08)}
.e4 .tz-root .btn-ghost{background:rgba(255,255,255,.07)}
.e4 .tz-root .btn-outline-petrol{background:rgba(8,56,74,.05)}
.e4 .tz-root .chip-status{background:var(--e4-fill-2);border-color:transparent}
.e4 .tz-root .chip-status.chip-now,.e4 .tz-root .ladder .chip-status.chip-now{background:var(--e4-fill);border-color:transparent;color:var(--teal-text)}
.e4 .tz-root .chip-status.chip-soon,.e4 .tz-root .ladder .chip-status.chip-soon{background:#E9EEF0;border-color:transparent;color:var(--slate-700)}
.e4 .tz-root .chip-status.chip-future,.e4 .tz-root .ladder .chip-status.chip-future{background:var(--e4-fill-3);border-color:transparent;color:#6F5520}
.e4 .tz-root .checklist .ck{background:var(--petrol);color:#fff;border:0}
.e4 .tz-root .led-tag{background:var(--e4-fill);border:0;color:var(--teal-text)}
.e4 .tz-root .led-tag.review{background:var(--e4-fill-3);color:#6F5520}
.e4 .tz-root .st-ico,.e4 .tz-root .wicon,.e4 .tz-root .cicon,.e4 .tz-root .fico{background:var(--e4-fill);border:0}
.e4 .tz-root .hours-pill{background:var(--e4-fill);border-color:transparent}
.e4 .tz-root .sh-stamp{background:var(--petrol);color:var(--gold-2);border:0}
.e4 .tz-root .sh-stamp svg{color:var(--gold-2)}
.e4 .tz-root .pending i,.e4 .tz-root .chip-status i{background:var(--e4-fill-2);border:0}
.e4 .tz-root .mh-order a i{font-family:var(--font-body);font-size:12px;font-weight:700;color:#fff;-webkit-text-stroke:0;width:26px;height:26px;border-radius:50%;background:var(--petrol);display:inline-flex;align-items:center;justify-content:center;line-height:1}
.e4 .tz-root .cmp-motif{display:none}
/* residual El Messiri contexts (typo scan, cycle 3) → body font; strategy C keeps El Messiri for the hub display h1 and the one brand moment per page */
.e4 .tz-root .maturity-line .ml b,.e4 .tz-root .cc-bridge .cb-text b,.e4 .tz-root .svc-tiles .svc-tile .st-body b,.e4 .tz-root .svc-tiles .svc-tile .st-body span,.e4 .tz-root .key-take p,.e4 .tz-root .key-take blockquote,.e4 .tz-root .article blockquote,.e4 .tz-root .adv-panel b,.e4 .tz-root .adv-figure b,.e4 .tz-root .e4-still b,.e4 .tz-root .hf-meta b,.e4 .tz-root .e4-compose b,.e4 .tz-root .e4-compose strong,.e4 .tz-root .e4-compose span,.e4 .tz-root .flow-strip .fn b,.e4 .tz-root .tl > b,.e4 .tz-root .ms-item b,.e4 .tz-root .nba a span b,.e4 .tz-root .mega-col a strong,.e4 .tz-root .dossier-index .di-q,.e4 .tz-root .qa-q,.e4 .tz-root p.sector-real b,.e4 .tz-root .showcase.e4-showcase .sc-card b,.e4 .tz-root .map-facade .mf-card b,.e4 .tz-root .t-quote p,.e4 .tz-root .t-quote b{font-family:var(--font-body)}
.e4 .tz-root .dossier-index .di-q,.e4 .tz-root .qa-q,.e4 .tz-root .key-take p,.e4 .tz-root .key-take blockquote{font-weight:600}
.e4.e4-type-c .tz-root .qa-q,.e4.e4-type-c .tz-root summary .qa-q,.e4.e4-type-c .tz-root details .qa-q,.e4.e4-type-c .tz-root .qa summary,.e4 .tz-root .dossier-index.questions .di-q,.e4 .tz-root .intent-route .ir-body b,.e4 .tz-root .year-strip b,.e4 .tz-root .adv-figure .adv-panel b,.e4 .tz-root .adv-panel .adv-chip b,.e4 .tz-root .scope-first b,.e4 .tz-root .reach b,.e4 .tz-root .cc-team b,.e4 .tz-root .verify-stamp .vs-body b,.e4 .tz-root .st-item b,.e4 .tz-root .office-card b,.e4 .tz-root .video-proof .vp-body blockquote,.e4 .tz-root .hero-figure.doc .sheet .sh-title{font-family:var(--font-body)}
.e4 .tz-root .tl > i{font-family:var(--font-body);font-size:12.5px;font-weight:700;color:#fff;-webkit-text-stroke:0;background:var(--petrol);width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;line-height:1;letter-spacing:0}
.e4.e4 .tz-root .mh-order a i{font-family:var(--font-body);font-size:12px;font-weight:700;color:var(--petrol);-webkit-text-stroke:0;background:#DCE7EA;width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;line-height:1}
/* article: the table-of-contents counter (01–06, navigation, no process order) becomes a filled dot — gold when active; body ordered lists keep their sequence as filled nodes with Latin digits */
.e4.art-c .tz-root .article-toc li{grid-template-columns:18px 1fr;align-items:center}
.e4.art-c .tz-root .article-toc li::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--teal);opacity:.55}
.e4.art-c .tz-root .article-toc li:has(a.on)::before{background:var(--gold);opacity:1}
.e4 .tz-root .article ol li::before{content:counter(art);font-family:var(--font-body);font-size:12.5px;font-weight:700;color:#fff;-webkit-text-stroke:0;background:var(--petrol);width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;top:.25em;line-height:1}
[dir="rtl"] .e4 .tz-root .article ol li::before{content:counter(art)}
.e4 .tz-root .campaign-hero{position:relative}
.e4 .tz-root .campaign-hero::before{content:"";position:absolute;inset-inline-start:-8%;top:2%;width:52%;height:70%;border-radius:40%;background:radial-gradient(circle at 50% 50%,rgba(63,193,208,.18),rgba(63,193,208,0) 62%);filter:blur(14px);pointer-events:none}
.e4 .tz-root .campaign-hero .ph-inner{position:relative}
.e4 .tz-root .e4-cmp-fig{margin-top:24px;max-width:600px}
/* ambient budget: e04.js marks figures outside the viewport as idle — their keyframe animations pause (transitions and reveals unaffected) */
.e4 .tz-root .e4-idle,.e4 .tz-root .e4-idle *{animation-play-state:paused !important}
/* ambient budget: the E03 guide-bar pulse (.gp-voice i) runs once on reveal instead of forever (D-428) */
.e4 .tz-root .gp-voice i{animation-iteration-count:1 !important;animation-fill-mode:both}
/* !important: the animation shorthands on .edge.flow / .float would otherwise reset the play state */
.e4 .tz-root .e4-cmp-fig .e4-svg text{fill:#fff}
.e4 .tz-root .e4-cmp-fig .e4-svg .muted{fill:rgba(255,255,255,.74)}
.e4 .tz-root .e4-cmp-fig .e4-svg .edge{stroke:rgba(255,255,255,.3)}
.e4 .tz-root .e4-cmp-fig .e4-svg .edge.flow{stroke:rgba(63,193,208,.85)}
.e4 .tz-root .e4-cmp-fig .e4-svg .sheet-fill{fill:rgba(255,255,255,.08);stroke:rgba(255,255,255,.16);stroke-width:1}
.e4 .tz-root .ps-list .mk{background:var(--e4-fill);border:0}
.e4 .tz-root .showcase-card .tick{display:none}
/* ---------- 3. Marker vocabulary (filled, varied, one system) ---------- */
.e4 .tz-root .e4-mark{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:13px;background:linear-gradient(150deg,var(--petrol) 0%,var(--petrol-2) 100%);color:#fff;box-shadow:0 10px 22px -12px rgba(8,56,74,.75),inset 0 1px 0 rgba(255,255,255,.08);flex:none}
.e4 .tz-root .e4-mark svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.e4 .tz-root .e4-mark.teal{background:linear-gradient(150deg,var(--teal),var(--teal-text))}
.e4 .tz-root .e4-mark.gold{background:linear-gradient(150deg,var(--gold-2),var(--gold));color:var(--petrol)}
.e4 .tz-root .e4-mark.ghost{background:var(--e4-fill);color:var(--petrol);box-shadow:none}
.e4 .tz-root .e4-mark.mist{background:var(--mist);color:var(--petrol);box-shadow:none;border:1px solid var(--line)}
.e4 .tz-root .e4-mark.sm{width:34px;height:34px;border-radius:10px}.e4 .tz-root .e4-mark.sm svg{width:18px;height:18px}
.e4 .tz-root .e4-mark.lg{width:56px;height:56px;border-radius:16px}.e4 .tz-root .e4-mark.lg svg{width:28px;height:28px}
.e4 .tz-root .e4-mark.round{border-radius:50%}
.e4 .tz-root .on-dark .e4-mark,.e4 .tz-root .cta-band .e4-mark,.e4 .tz-root .page-hero .e4-mark,.e4 .tz-root .hero .e4-mark{background:linear-gradient(150deg,rgba(63,193,208,.95),rgba(26,157,173,.95));color:#fff}
.e4 .tz-root .e4-label{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--petrol);color:#fff;font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:1.2}
.e4 .tz-root .e4-label.ghost{background:var(--e4-fill);color:var(--petrol)}
.e4 .tz-root .e4-label.gold{background:var(--e4-fill-3);color:#6F5520}
.e4 .tz-root .e4-label.teal{background:var(--teal-text);color:#fff}
.e4 .tz-root .e4-label i{width:7px;height:7px;border-radius:50%;background:var(--gold-2);flex:none}
[dir="rtl"] .e4 .tz-root .e4-label{letter-spacing:0;font-size:12.5px}
.e4 .tz-root .e4-tab{display:inline-flex;align-items:center;gap:8px;padding:9px 14px 9px 12px;border-radius:4px 14px 4px 4px;background:var(--petrol);color:#fff;font-size:12px;font-weight:700;letter-spacing:.06em;position:relative;box-shadow:0 10px 22px -12px rgba(8,56,74,.7)}
.e4 .tz-root .e4-tab::after{content:"";position:absolute;top:0;inset-inline-end:0;width:14px;height:14px;background:linear-gradient(225deg,var(--mist) 50%,var(--gold-2) 50%);border-radius:0 14px 0 0}
[dir="rtl"] .e4 .tz-root .e4-tab{border-radius:14px 4px 4px 4px}
[dir="rtl"] .e4 .tz-root .e4-tab::after{background:linear-gradient(135deg,var(--mist) 50%,var(--gold-2) 50%);border-radius:14px 0 0 0}
.e4 .tz-root .e4-bars{display:inline-flex;align-items:flex-end;gap:3px;width:44px;height:44px;padding:8px 7px;border-radius:13px;background:var(--e4-fill);flex:none}
.e4 .tz-root .e4-bars i{flex:1;background:linear-gradient(180deg,var(--teal),var(--petrol));border-radius:3px 3px 1px 1px;height:var(--h,60%);transform-origin:bottom;transition:transform var(--e4-dur-4) var(--e4-ease)}
.e4 .tz-root .e4-bars i:nth-child(2){background:linear-gradient(180deg,var(--turquoise),var(--teal))}
.e4 .tz-root .e4-bars i:nth-child(3){background:linear-gradient(180deg,var(--gold-2),var(--gold))}
:where(html.tz-js) .e4 .tz-root .reveal:not(.in) .e4-bars i,.e4 .tz-root .e4-bars.e4-wait i{transform:scaleY(.18)}
.e4 .tz-root .e4-node{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--petrol);color:#fff;font-weight:700;font-size:14px;box-shadow:0 8px 16px -8px rgba(8,56,74,.6);flex:none;font-family:var(--font-body)}
.e4 .tz-root .e4-node.teal{background:linear-gradient(145deg,var(--teal-text),var(--petrol))}.e4 .tz-root .e4-node.gold{background:var(--gold);color:var(--petrol)}
.e4 .tz-root .e4-flow .fs span.e4-node{color:#fff;font-size:14px;line-height:1}
.e4 .tz-root .e4-seal{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#0E4C62,var(--petrol) 70%);color:var(--gold-2);box-shadow:0 0 0 3px var(--gold-2),0 0 0 6px rgba(191,155,79,.18),0 14px 28px -14px rgba(8,56,74,.7);flex:none}
.e4 .tz-root .e4-seal svg{width:24px;height:24px}
.e4 .tz-root .e4-corner{position:relative;overflow:hidden}
.e4 .tz-root .e4-corner::before{content:"";position:absolute;top:0;inset-inline-end:0;width:26px;height:26px;background:linear-gradient(225deg,var(--mist) 50%,var(--petrol) 50%)}
[dir="rtl"] .e4 .tz-root .e4-corner::before{background:linear-gradient(135deg,var(--mist) 50%,var(--petrol) 50%)}
.e4 .tz-root .e4-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:10px;background:var(--mist);color:var(--petrol);font-size:13px;font-weight:600;border:1px solid var(--line)}
.e4 .tz-root .e4-chip b{color:var(--teal-text)}
.e4 .tz-root .e4-chip svg{width:15px;height:15px;color:var(--teal-text)}
.e4 .tz-root .e4-dots{display:inline-flex;gap:5px;align-items:center}
.e4 .tz-root .e4-dots i{width:8px;height:8px;border-radius:50%;background:var(--slate-200)}
.e4 .tz-root .e4-dots i.on{background:var(--teal);transform:scale(1.2)}
/* family symbol marks (filled rounded squares) used instead of index numerals */
.e4 .tz-root .e4-fam{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;color:#fff;flex:none;box-shadow:0 8px 18px -10px rgba(8,56,74,.7)}
.e4 .tz-root .e4-fam svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.e4 .tz-root .e4-fam.finance{background:linear-gradient(150deg,#0F5F6B,var(--petrol))}
.e4 .tz-root .e4-fam.tax{background:linear-gradient(150deg,var(--teal),#0F5F6B)}
.e4 .tz-root .e4-fam.audit{background:linear-gradient(150deg,var(--petrol-2),#062B39)}
.e4 .tz-root .e4-fam.business{background:linear-gradient(150deg,var(--gold-2),var(--gold));color:var(--petrol)}
.e4 .tz-root .e4-fam.digital{background:linear-gradient(150deg,var(--turquoise),var(--teal))}
.e4 .tz-root .e4-fam.client{background:linear-gradient(150deg,#2E5F6E,var(--petrol))}
/* ---------- 4. Section heads, pull quotes, visual summaries, highlight lines ---------- */
.e4 .tz-root .e4-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px 22px;align-items:start}
.e4 .tz-root .e4-head > .e4-mark,.e4 .tz-root .e4-head > .e4-bars,.e4 .tz-root .e4-head > .e4-tab,.e4 .tz-root .e4-head > .e4-fam{grid-row:1/span 3;margin-top:2px}
.e4 .tz-root .e4-head.centered{display:block;text-align:center}
.e4 .tz-root .e4-head.centered > .e4-mark,.e4 .tz-root .e4-head.centered > .e4-bars{margin:0 auto 14px}
.e4 .tz-root .e4-pull{position:relative;margin:48px auto;max-width:860px;padding:34px 40px 34px 56px;border-radius:var(--radius);background:linear-gradient(135deg,var(--mist),#fff);border:1px solid var(--line);box-shadow:var(--e4-shadow)}
.e4 .tz-root .e4-pull::before{content:"";position:absolute;inset-inline-start:0;top:22px;bottom:22px;width:6px;border-radius:6px;background:linear-gradient(180deg,var(--gold-2),var(--teal))}
.e4 .tz-root .e4-pull q{display:block;font-size:clamp(21px,2vw,27px);line-height:1.42;color:var(--petrol);quotes:none}
.e4 .tz-root .e4-pull q::before,.e4 .tz-root .e4-pull q::after{content:none}
.e4 .tz-root .e4-pull cite{display:block;margin-top:12px;font-style:normal;font-size:13.5px;color:var(--slate-700);font-weight:600}
.e4 .tz-root .e4-pull .e4-seal{position:absolute;inset-inline-end:28px;top:-24px}
.e4 .tz-root .e4-pull.dark{background:linear-gradient(135deg,var(--petrol-deep),var(--petrol-2));border-color:rgba(255,255,255,.1)}
.e4 .tz-root .e4-pull.dark q{color:#fff}.e4 .tz-root .e4-pull.dark cite{color:rgba(255,255,255,.7)}
.e4 .tz-root .e4-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:34px 0 8px}
.e4 .tz-root .e4-summary > div{display:flex;align-items:flex-start;gap:12px;padding:16px 16px;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:var(--e4-shadow)}
.e4 .tz-root .e4-summary b{display:block;font-size:14.5px;color:var(--petrol);line-height:1.3}
.e4 .tz-root .e4-summary span{display:block;font-size:13px;color:var(--slate-700);line-height:1.45;margin-top:3px}
.e4 .tz-root .section-mist .e4-summary > div{background:#fff}
.e4 .tz-root .e4-summary.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.e4 .tz-root .e4-hl{display:flex;align-items:center;gap:16px;margin:28px 0;padding:18px 22px;border-radius:14px;background:var(--e4-fill);color:var(--petrol);font-size:16px;line-height:1.5}
.e4 .tz-root .e4-hl b{font-weight:700}
.e4 .tz-root .e4-hl .e4-bars{background:#fff}
.e4 .tz-root .e4-band{position:relative;padding:40px 0;margin:48px 0;border-block:1px solid var(--line)}
/* ---------- 5. Photo fallbacks — designed editorial stills (never an empty frame) ---------- */
.e4 .tz-root .ph{background:linear-gradient(160deg,#EEF4F6 0%,#F7FAFB 60%,#E7EFF2 100%)}
.e4 .tz-root .ph::before,.e4 .tz-root .ph .ph-horizon,.e4 .tz-root .ph .ph-sun,.e4 .tz-root .ph .ph-fig,.e4 .tz-root .ph .ph-desk{display:none}
.e4 .tz-root .e4-still{position:absolute;inset:0;overflow:hidden;border-radius:inherit}
.e4 .tz-root .e4-still .st-photo{position:absolute;inset:0;background-size:cover;background-position:center;filter:saturate(.6) contrast(1.02);opacity:.95}
.e4 .tz-root .e4-still .st-grade{position:absolute;inset:0;background:linear-gradient(160deg,rgba(8,56,74,.78) 0%,rgba(8,56,74,.45) 45%,rgba(26,157,173,.35) 100%);mix-blend-mode:multiply}
.e4 .tz-root .e4-still .st-grade2{position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,43,57,.55),rgba(6,43,57,0) 55%)}
.e4 .tz-root .e4-still .st-sheet{position:absolute;background:#fff;border-radius:10px;box-shadow:var(--e4-float);padding:12px 14px;color:var(--petrol);font-size:11.5px;line-height:1.4;transform:rotate(var(--r,0deg))}
.e4 .tz-root .e4-still .st-sheet b{display:block;font-size:12px;margin-bottom:6px}
.e4 .tz-root .e4-still .st-sheet i{display:block;height:5px;border-radius:3px;background:var(--slate-200);margin:5px 0}
.e4 .tz-root .e4-still .st-sheet i.t{width:70%;background:var(--teal)}.e4 .tz-root .e4-still .st-sheet i.g{width:45%;background:var(--gold-2)}
.e4 .tz-root .e4-still .st-bars{position:absolute;display:flex;align-items:flex-end;gap:5px;height:46px}
.e4 .tz-root .e4-still .st-bars i{width:9px;border-radius:3px 3px 1px 1px;background:linear-gradient(180deg,var(--turquoise),var(--teal));height:var(--h)}
.e4 .tz-root .e4-still .st-bars i:nth-child(even){background:linear-gradient(180deg,var(--gold-2),var(--gold))}
.e4 .tz-root .e4-still .st-seal{position:absolute}
.e4 .tz-root .e4-still .st-cap{position:absolute;inset-inline:16px;bottom:14px;color:#fff;font-size:12.5px;line-height:1.45;max-width:46ch;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.e4 .tz-root .e4-still .st-cap b{display:block;font-size:13px;margin-bottom:2px}
.e4 .tz-root .e4-still .st-tag{position:absolute;inset-inline-start:14px;top:12px;display:inline-flex;align-items:center;gap:7px;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.92);color:var(--petrol);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.e4 .tz-root .e4-still .st-tag i{width:7px;height:7px;border-radius:50%;background:var(--gold)}
.e4 .tz-root .e4-still.light .st-grade{background:linear-gradient(160deg,rgba(244,247,248,.55),rgba(26,157,173,.18))}
.e4 .tz-root .e4-still.light .st-cap{color:var(--petrol);text-shadow:none}
.e4 .tz-root .ph .ph-tag,.e4 .tz-root .ph .ph-cap{display:none}
.e4 .tz-root .pc-media .ph{background:radial-gradient(circle at 50% 42%,#1A9DAD 0,#0F5F6B 38%,#08384A 72%)}
.e4 .tz-root .pc-media .ph .e4-still .st-grade{display:none}
.e4 .tz-root .pc-media .e4-initials{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:30px;letter-spacing:.04em;font-family:var(--font-body);padding-bottom:10px}
.e4 .tz-root .pc-media .e4-initials small{position:absolute;left:0;right:0;bottom:12px;text-align:center;font-size:7.5px;letter-spacing:.12em;text-transform:uppercase;opacity:.9;font-weight:700}
/* ---------- 6. Financial visual language ---------- */
/* 6.1 3D column chart (CSS transforms) */
.e4 .tz-root .e4-fin{position:relative;border-radius:var(--radius);background:#fff;border:1px solid var(--line);box-shadow:var(--e4-shadow);padding:22px 24px 18px;overflow:hidden}
.e4 .tz-root .e4-fin.dark{background:linear-gradient(160deg,#0B3D4F,#062B39);border-color:rgba(255,255,255,.1);color:#fff}
.e4 .tz-root .e4-fin-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.e4 .tz-root .e4-fin-head b{font-size:14px;color:var(--petrol);font-weight:700}
.e4 .tz-root .e4-fin.dark .e4-fin-head b{color:#fff}
.e4 .tz-root .e4-fin-head span{font-size:11.5px;color:var(--slate-700);letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.e4 .tz-root .e4-fin.dark .e4-fin-head span{color:rgba(255,255,255,.7)}
.e4 .tz-root .e4-fin-note{font-size:11.5px;color:var(--slate-700);margin-top:12px}
.e4 .tz-root .e4-fin.dark .e4-fin-note{color:rgba(255,255,255,.65)}
.e4 .tz-root .e4-3d{--depth:16px;perspective:var(--e4-persp);perspective-origin:50% 30%}
.e4 .tz-root .e4-3d .scene{margin-bottom:38px;transform-style:preserve-3d;transform:rotateX(calc(14deg + var(--e4-tilt-x))) rotateY(calc(-14deg + var(--e4-tilt-y)));transition:transform var(--e4-dur-3) var(--e4-ease);display:flex;align-items:flex-end;gap:18px;height:200px;padding:0 10px;position:relative}
.e4 .tz-root .e4-3d .floor{position:absolute;inset:auto 0 -8px 0;height:1px;background:rgba(8,56,74,.2);transform:translateZ(-20px)}
.e4 .tz-root .e4-3d .scene{justify-content:center}
.e4 .tz-root .e4-3d .col{position:relative;flex:1;max-width:150px;height:100%;display:flex;align-items:flex-end;transform-style:preserve-3d}
.e4 .tz-root .e4-3d .bar{position:relative;width:100%;height:var(--h,50%);transform-style:preserve-3d;transform-origin:bottom;transition:height var(--e4-dur-4) var(--e4-ease),transform var(--e4-dur-2) var(--e4-ease);background:linear-gradient(180deg,var(--c1,#3FC1D0),var(--c2,#1A9DAD));border-radius:3px 3px 0 0}
.e4 .tz-root .e4-3d .bar::before{content:"";position:absolute;left:0;right:0;top:0;height:var(--depth);background:var(--c0,#7FDCE6);transform:rotateX(90deg);transform-origin:top;border-radius:3px 3px 0 0}
.e4 .tz-root .e4-3d .bar::after{content:"";position:absolute;top:0;bottom:0;right:0;width:var(--depth);background:var(--c3,#0F5F6B);transform:rotateY(90deg);transform-origin:right}
.e4 .tz-root .e4-3d .col.gold .bar{--c1:#E3C27C;--c2:#BF9B4F;--c0:#F0D9A3;--c3:#8C6F31}
.e4 .tz-root .e4-3d .col.petrol .bar{--c1:#2E6F84;--c2:#08384A;--c0:#5E93A4;--c3:#041E29}
.e4 .tz-root .e4-3d .col.mist .bar{--c1:#DCE7EA;--c2:#B9CBD1;--c0:#F1F6F7;--c3:#9AB1B9}
.e4 .tz-root .e4-3d .col .lbl{position:absolute;bottom:-28px;left:0;right:0;text-align:center;font-size:11px;color:var(--slate-700);font-weight:600;white-space:nowrap}
.e4 .tz-root .e4-fin.dark .e4-3d .col .lbl{color:rgba(255,255,255,.75)}
.e4 .tz-root .e4-3d .col .val{position:absolute;bottom:calc(var(--h,50%) + 8px);left:50%;transform:translate(-50%,6px);font-size:11.5px;font-weight:700;color:var(--petrol);background:#fff;padding:3px 7px;border-radius:7px;box-shadow:var(--e4-shadow);opacity:0;transition:opacity var(--e4-dur-2),transform var(--e4-dur-2);white-space:nowrap;pointer-events:none}
.e4 .tz-root .e4-3d .col:hover .val,.e4 .tz-root .e4-3d .col:focus-within .val,.e4 .tz-root .e4-3d .col.on .val{opacity:1;transform:translate(-50%,0)}
.e4 .tz-root .e4-3d .col:hover .bar{transform:translateY(-4px)}
:where(html.tz-js) .e4 .tz-root .reveal:not(.in) .e4-3d .bar,.e4 .tz-root .e4-3d.e4-wait .bar{height:4% !important}
.e4 .tz-root .e4-3d .col button{position:absolute;inset:0;background:transparent;border:0;cursor:default}
.e4 .tz-root .e4-3d .col button:focus-visible{outline:2px solid var(--teal);outline-offset:4px;border-radius:6px}
.e4 .tz-root .e4-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:34px;font-size:12px;color:var(--slate-700)}
.e4 .tz-root .e4-fin.dark .e4-legend{color:rgba(255,255,255,.75)}
.e4 .tz-root .e4-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-inline-end:6px;vertical-align:-1px;background:var(--teal)}
.e4 .tz-root .e4-legend i.gold{background:var(--gold)}.e4 .tz-root .e4-legend i.petrol{background:var(--petrol)}.e4 .tz-root .e4-legend i.mist{background:#B9CBD1}.e4 .tz-root .e4-legend i.turq{background:var(--turquoise)}
/* 6.2 SVG figures (cash flow layers, flows, waterfall, network, stack) */
.e4 .tz-root .e4-svg{display:block;width:100%;height:auto}
.e4 .tz-root .e4-svg text{font-family:var(--font-body);font-size:calc(12px * var(--e4-svgs,1));fill:var(--petrol)}
.e4 .tz-root .e4-svg .muted{fill:var(--slate-700);font-size:calc(11px * var(--e4-svgs,1))}
.e4 .tz-root .e4-svg .on-dark text,.e4 .tz-root .e4-fin.dark .e4-svg text{fill:#fff}
.e4 .tz-root .e4-svg .n-petrol{fill:var(--petrol)}.e4 .tz-root .e4-svg .n-teal{fill:var(--teal)}.e4 .tz-root .e4-svg .n-gold{fill:var(--gold)}.e4 .tz-root .e4-svg .n-turq{fill:var(--turquoise)}.e4 .tz-root .e4-svg .n-mist{fill:#DCE7EA}
.e4 .tz-root .e4-svg .edge{fill:none;stroke:rgba(8,56,74,.28);stroke-width:2;stroke-linecap:round}
.e4 .tz-root .e4-svg .edge.flow{stroke:var(--teal);stroke-dasharray:6 8;animation:e4dash 2.4s linear infinite}
.e4 .tz-root .e4-fin.dark .e4-svg .edge{stroke:rgba(255,255,255,.3)}
.e4 .tz-root .e4-svg .layer{transition:transform var(--e4-dur-3) var(--e4-ease),opacity var(--e4-dur-3)}
.e4 .tz-root .e4-cash:hover .layer.op,.e4 .tz-root .e4-cash:focus-within .layer.op{transform:translateY(-10px)}
.e4 .tz-root .e4-cash:hover .layer.fi,.e4 .tz-root .e4-cash:focus-within .layer.fi{transform:translateY(10px)}
.e4 .tz-root .e4-svg .grow{transform-box:fill-box;transform-origin:bottom;transition:transform var(--e4-dur-4) var(--e4-ease)}
:where(html.tz-js) .e4 .tz-root .reveal:not(.in) .e4-svg .grow{transform:scaleY(.06)}
.e4 .tz-root .e4-svg .draw{stroke-dasharray:1200;stroke-dashoffset:0;transition:stroke-dashoffset 1.6s var(--e4-ease)}
:where(html.tz-js) .e4 .tz-root .reveal:not(.in) .e4-svg .draw{stroke-dashoffset:1200}
.e4 .tz-root .e4-svg .pop{transform-box:fill-box;transform-origin:center;transition:transform var(--e4-dur-3) var(--e4-ease),opacity var(--e4-dur-3)}
:where(html.tz-js) .e4 .tz-root .reveal:not(.in) .e4-svg .pop{transform:scale(.6);opacity:0}
.e4 .tz-root .e4-svg .d1{transition-delay:.12s}.e4 .tz-root .e4-svg .d2{transition-delay:.24s}.e4 .tz-root .e4-svg .d3{transition-delay:.36s}.e4 .tz-root .e4-svg .d4{transition-delay:.48s}.e4 .tz-root .e4-svg .d5{transition-delay:.6s}.e4 .tz-root .e4-svg .d6{transition-delay:.72s}
.e4 .tz-root .e4-svg .pulse{animation:e4pulse 2.8s ease-in-out infinite}
.e4 .tz-root .e4-svg .hit{cursor:default}
.e4 .tz-root .e4-svg .hit .tip{opacity:0;transition:opacity var(--e4-dur-2)}
.e4 .tz-root .e4-svg .hit:hover .tip,.e4 .tz-root .e4-svg .hit:focus .tip,.e4 .tz-root .e4-svg .hit.on .tip{opacity:1}
.e4 .tz-root .e4-svg .hit:focus{outline:none}
.e4 .tz-root .e4-svg .hit:focus-visible > rect:first-child,.e4 .tz-root .e4-svg .hit:focus-visible > circle:first-child{stroke:var(--gold);stroke-width:3}
/* 6.3 Balance-sheet stack */
.e4 .tz-root .e4-stack{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:end;perspective:var(--e4-persp)}
.e4 .tz-root .e4-stack .pile{display:flex;flex-direction:column-reverse;gap:4px;transform-style:preserve-3d;transform:rotateX(calc(8deg + var(--e4-tilt-x))) rotateY(calc(-10deg + var(--e4-tilt-y)));transition:transform var(--e4-dur-3) var(--e4-ease)}
.e4 .tz-root .e4-stack .blk{position:relative;height:var(--h,40px);border-radius:4px;background:var(--c,var(--teal));color:#fff;font-size:12px;font-weight:600;display:flex;align-items:center;padding:0 12px;transform-style:preserve-3d;transition:transform var(--e4-dur-2) var(--e4-ease),height var(--e4-dur-4) var(--e4-ease)}
.e4 .tz-root .e4-stack .blk::after{content:"";position:absolute;top:0;bottom:0;right:0;width:14px;background:rgba(0,0,0,.28);transform:rotateY(90deg);transform-origin:right}
.e4 .tz-root .e4-stack .blk::before{content:"";position:absolute;left:0;right:0;top:0;height:14px;background:rgba(255,255,255,.28);transform:rotateX(90deg);transform-origin:top}
.e4 .tz-root .e4-stack .blk:hover{transform:translateX(6px)}
:where(html.tz-js) .e4 .tz-root .reveal:not(.in) .e4-stack .blk{height:6px !important}
.e4 .tz-root .e4-stack .pile-lbl{text-align:center;font-size:12px;font-weight:700;color:var(--petrol);margin-top:12px;letter-spacing:.06em;text-transform:uppercase}
.e4 .tz-root .e4-stack .blk small{margin-inline-start:auto;font-weight:500;opacity:.85}
/* 6.4 Report stack (floating sheets) */
.e4 .tz-root .e4-sheets{position:relative;height:300px;perspective:var(--e4-persp)}
.e4 .tz-root .e4-sheet{position:absolute;inset-inline-start:var(--x,0);top:var(--y,0);width:min(78%,340px);background:var(--e4-sheet);border-radius:12px;box-shadow:var(--e4-float);padding:16px 18px;transform:rotateX(calc(6deg + var(--e4-tilt-x))) rotateY(calc(-8deg + var(--e4-tilt-y))) translateZ(var(--z,0));transition:transform var(--e4-dur-3) var(--e4-ease),box-shadow var(--e4-dur-3);cursor:pointer;border:1px solid var(--e4-sheet-line);text-align:start}
.e4 .tz-root .e4-sheet:focus-visible{outline:3px solid var(--teal);outline-offset:3px}
.e4 .tz-root .e4-sheet.is-front{z-index:5;transform:rotateX(calc(2deg + var(--e4-tilt-x))) rotateY(calc(-3deg + var(--e4-tilt-y))) translateZ(40px)}
.e4 .tz-root .e4-sheet .sh-k svg{width:14px;height:14px;flex:none;stroke:currentColor;fill:none;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.e4 .tz-root .e4-sheet .sh-k{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--teal-text);margin-bottom:4px;display:flex;align-items:center;gap:8px}
.e4 .tz-root .e4-sheet .sh-t{overflow-wrap:anywhere;font-size:14px;font-weight:700;color:var(--petrol);margin-bottom:8px;font-family:var(--font-body)}
.e4 .tz-root .e4-sheet .row{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--slate-700);padding:5px 0;border-top:1px solid var(--e4-sheet-line)}
.e4 .tz-root .e4-sheet .row b{color:var(--petrol);font-weight:600;font-variant-numeric:tabular-nums}
.e4 .tz-root .e4-sheet .row.total{border-top:2px solid var(--petrol);color:var(--petrol);font-weight:700}
.e4 .tz-root .e4-sheet .mini{display:flex;align-items:flex-end;gap:3px;height:34px;margin:8px 0 4px}
.e4 .tz-root .e4-sheet .mini i{flex:1;border-radius:2px 2px 0 0;background:var(--teal);height:var(--h)}
.e4 .tz-root .e4-sheet .mini i.g{background:var(--gold-2)}.e4 .tz-root .e4-sheet .mini i.p{background:var(--petrol)}
.e4 .tz-root .e4-sheet.float{animation:e4float 7s ease-in-out infinite}
.e4 .tz-root .e4-sheet.float.s2{animation-duration:8.5s;animation-delay:-2s}
.e4 .tz-root .e4-sheet.float.s3{animation-duration:9.5s;animation-delay:-4s}
.e4 .tz-root .e4-sheets .ctl{position:absolute;bottom:0;inset-inline-end:0;display:flex;gap:6px}
.e4 .tz-root .e4-sheets .ctl button{width:34px;height:34px;border-radius:50%;border:0;background:var(--petrol);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--e4-shadow)}
.e4 .tz-root .e4-sheets .ctl button svg{width:16px;height:16px}
/* 6.5 Flow diagrams (DOM, for VAT / CT / e-invoice / ledger / audit pathway) */
.e4 .tz-root .e4-flow{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:0;align-items:stretch;position:relative}
.e4 .tz-root .e4-flow .fs{position:relative;padding:18px 16px 16px;display:flex;flex-direction:column;gap:8px;min-width:0}
.e4 .tz-root .e4-flow .fs::before{content:"";position:absolute;inset-inline-start:0;top:41px;bottom:auto;height:4px;inset-inline-end:0;background:linear-gradient(90deg,rgba(26,157,173,.55),rgba(26,157,173,.15));border-radius:2px;transform-origin:left;transform:scaleX(var(--p,1));transition:transform var(--e4-dur-4) var(--e4-ease)}
[dir="rtl"] .e4 .tz-root .e4-flow .fs::before{transform-origin:right}
.e4 .tz-root .e4-flow .fs:last-child::before{background:linear-gradient(90deg,rgba(26,157,173,.55),rgba(26,157,173,.55))}
:where(html.tz-js) .e4 .tz-root .reveal:not(.in) .e4-flow .fs::before{transform:scaleX(0)}
.e4 .tz-root .e4-flow .fs .e4-mark,.e4 .tz-root .e4-flow .fs .e4-node{position:relative;z-index:1;margin-top:8px}
.e4 .tz-root .e4-flow .fs b{font-size:14.5px;color:var(--petrol);line-height:1.3;font-family:var(--font-body)}
.e4 .tz-root .e4-flow .fs span{font-size:13px;color:var(--slate-700);line-height:1.5}
.e4 .tz-root .e4-flow .fs .tag{display:inline-flex;align-self:flex-start;padding:3px 9px;border-radius:999px;background:var(--e4-fill);color:var(--teal-text);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.e4 .tz-root .e4-flow .fs .tag.gold{background:var(--e4-fill-3);color:#6F5520}
.e4 .tz-root .e4-flow .fs .tag.petrol{background:var(--petrol);color:#fff}
.e4 .tz-root .e4-flow.dark .fs b{color:#fff}.e4 .tz-root .e4-flow.dark .fs span{color:rgba(255,255,255,.75)}
.e4 .tz-root .e4-flow.dark .fs::before{background:linear-gradient(90deg,rgba(63,193,208,.7),rgba(63,193,208,.2))}
/* 6.6 Control matrix */
.e4 .tz-root .e4-matrix{display:grid;grid-template-columns:minmax(120px,1.2fr) repeat(var(--cols,4),minmax(0,1fr));gap:6px;font-size:12.5px}
.e4 .tz-root .e4-matrix .mh{padding:8px 10px;font-weight:700;color:var(--petrol);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;font-size:10px;letter-spacing:.05em;overflow-wrap:anywhere;line-height:1.2;white-space:normal}
.e4 .tz-root .e4-matrix .mr{padding:12px 10px;border-radius:10px;background:var(--mist);color:var(--petrol);font-weight:600;display:flex;align-items:center;gap:8px}
.e4 .tz-root .e4-matrix .mc{position:relative;padding:0;border-radius:10px;background:var(--e4-fill-2);min-height:46px;display:flex;align-items:center;justify-content:center;border:0;cursor:default;font:inherit}
.e4 .tz-root .e4-matrix .mc.t{background:linear-gradient(145deg,var(--teal),var(--teal-text));color:#fff}
.e4 .tz-root .e4-matrix .mc.e{background:linear-gradient(145deg,var(--petrol-2),var(--petrol));color:#fff}
.e4 .tz-root .e4-matrix .mc.f{background:linear-gradient(145deg,var(--gold-2),var(--gold));color:var(--petrol)}
.e4 .tz-root .e4-matrix .mc.n{background:var(--e4-fill-2)}
.e4 .tz-root .e4-matrix .mc svg{width:18px;height:18px}
.e4 .tz-root .e4-matrix .mc .tip{position:absolute;bottom:calc(100% + 6px);inset-inline-start:50%;transform:translateX(-50%) translateY(4px);background:var(--petrol);color:#fff;font-size:11.5px;line-height:1.35;padding:7px 10px;border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--e4-dur-2),transform var(--e4-dur-2);z-index:3;box-shadow:var(--e4-shadow)}
[dir="rtl"] .e4 .tz-root .e4-matrix .mc .tip{transform:translateX(50%) translateY(4px)}
.e4 .tz-root .e4-matrix .mc:hover .tip,.e4 .tz-root .e4-matrix .mc:focus-visible .tip{opacity:1;transform:translateX(-50%) translateY(0)}
[dir="rtl"] .e4 .tz-root .e4-matrix .mc:hover .tip,[dir="rtl"] .e4 .tz-root .e4-matrix .mc:focus-visible .tip{transform:translateX(50%) translateY(0)}
.e4 .tz-root .e4-matrix .mc:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
:where(html.tz-js) .e4 .tz-root .reveal:not(.in) .e4-matrix .mc{opacity:0;transform:scale(.85)}
.e4 .tz-root .e4-matrix .mc{transition:opacity var(--e4-dur-3) var(--e4-ease),transform var(--e4-dur-3) var(--e4-ease)}
.e4 .tz-root .e4-matrix-key{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:14px;font-size:12px;color:var(--slate-700)}
.e4 .tz-root .e4-matrix-key i{display:inline-block;width:12px;height:12px;border-radius:4px;margin-inline-end:6px;vertical-align:-2px}
/* 6.7 KPI dashboard + scenarios */
.e4 .tz-root .e4-dash{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.e4 .tz-root .e4-dash .kpi{position:relative;padding:16px 16px 14px;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:var(--e4-shadow);overflow:hidden}
.e4 .tz-root .e4-fin.dark .e4-dash .kpi{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}
.e4 .tz-root .e4-dash .kpi .k{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--slate-700)}
.e4 .tz-root .e4-fin.dark .e4-dash .kpi .k{color:rgba(255,255,255,.7)}
.e4 .tz-root .e4-dash .kpi .v{font-size:clamp(22px,2vw,28px);font-weight:700;color:var(--petrol);margin:4px 0 2px;font-variant-numeric:tabular-nums;transition:color var(--e4-dur-2)}
.e4 .tz-root .e4-fin.dark .e4-dash .kpi .v{color:#fff}
.e4 .tz-root .e4-dash .kpi .d{font-size:12px;font-weight:600;color:var(--teal-text)}
.e4 .tz-root .e4-compose .e4-dash{gap:10px}.e4 .tz-root .e4-compose .e4-dash .kpi{padding:12px 12px 10px}.e4 .tz-root .e4-compose .e4-dash .kpi .v{font-size:20px;white-space:nowrap;margin:6px 0 2px}.e4 .tz-root .e4-compose .e4-dash .kpi .k{font-size:10px;letter-spacing:.06em}
.e4 .tz-root .e4-sec .e4-fin.e4-3d,.e4 .tz-root .e4-fin.e4-hours{max-width:880px;margin-inline:auto}
.e4 .tz-root .e4-compose .e4-matrix .mh{font-size:8.5px;letter-spacing:.02em;overflow-wrap:normal;white-space:nowrap;padding:8px 3px}
.e4 .tz-root .e4-dash .kpi .d.neg{color:#9A5B2A}
.e4 .tz-root .e4-dash .kpi .spark{display:flex;align-items:flex-end;gap:3px;height:32px;margin-top:10px}
.e4 .tz-root .e4-dash .kpi .spark i{flex:1;border-radius:2px 2px 0 0;background:var(--e4-fill);height:var(--h);transition:height var(--e4-dur-3) var(--e4-ease)}
.e4 .tz-root .e4-dash .kpi .spark i.on{background:var(--teal)}
.e4 .tz-root .e4-dash .kpi .spark i.last{background:var(--gold)}
.e4 .tz-root .e4-scen{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:var(--mist);border:1px solid var(--line)}
.e4 .tz-root .e4-fin.dark .e4-scen{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.12)}
.e4 .tz-root .e4-scen button{border:0;background:transparent;padding:7px 14px;border-radius:999px;font:inherit;font-size:12.5px;font-weight:700;color:var(--petrol);cursor:pointer;transition:background var(--e4-dur-1),color var(--e4-dur-1)}
.e4 .tz-root .e4-fin.dark .e4-scen button{color:rgba(255,255,255,.8)}
.e4 .tz-root .e4-scen button[aria-pressed="true"]{background:var(--petrol);color:#fff}
.e4 .tz-root .e4-fin.dark .e4-scen button[aria-pressed="true"]{background:var(--turquoise);color:var(--petrol)}
.e4 .tz-root .e4-scen button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.e4 .tz-root .e4-dash .bars{display:flex;align-items:flex-end;gap:10px;height:120px;margin-top:6px}
.e4 .tz-root .e4-dash .bars .b{flex:1;position:relative;border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,var(--turquoise),var(--teal));height:var(--h);transition:height var(--e4-dur-3) var(--e4-ease)}
.e4 .tz-root .e4-dash .bars .b.g{background:linear-gradient(180deg,var(--gold-2),var(--gold))}.e4 .tz-root .e4-dash .bars .b.p{background:linear-gradient(180deg,#2E6F84,var(--petrol))}
.e4 .tz-root .e4-dash .bars .b span{position:absolute;bottom:-20px;left:0;right:0;text-align:center;font-size:10.5px;color:var(--slate-700);white-space:nowrap}
/* 6.8 Ledger flow (accounting) */
.e4 .tz-root .e4-ledgerflow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:stretch}
.e4 .tz-root .e4-ledgerflow .lf{position:relative;padding:16px 14px;border-radius:14px;background:#fff;border:1px solid var(--line);box-shadow:var(--e4-shadow);display:flex;flex-direction:column;gap:8px}
.e4 .tz-root .e4-ledgerflow .lf::after{content:"";position:absolute;inset-inline-end:-9px;top:50%;width:14px;height:14px;transform:translateY(-50%) rotate(45deg);background:#fff;border-top:1px solid var(--line);border-right:1px solid var(--line);z-index:2}
[dir="rtl"] .e4 .tz-root .e4-ledgerflow .lf::after{transform:translateY(-50%) rotate(-135deg)}
.e4 .tz-root .e4-ledgerflow .lf:last-child::after{display:none}
.e4 .tz-root .e4-ledgerflow .lf b{font-size:13.5px;color:var(--petrol);line-height:1.3;font-family:var(--font-body)}
.e4 .tz-root .e4-ledgerflow .lf span{font-size:12px;color:var(--slate-700);line-height:1.45}
.e4 .tz-root .e4-ledgerflow .lf .doc{display:block;height:34px;border-radius:6px;background:repeating-linear-gradient(180deg,var(--mist) 0 6px,#fff 6px 11px);border:1px solid var(--line);position:relative}
.e4 .tz-root .e4-ledgerflow .lf .doc::after{content:"";position:absolute;inset-inline-start:6px;top:7px;width:40%;height:4px;background:var(--teal);border-radius:2px}
.e4 .tz-root .e4-ledgerflow .lf.on{border-color:var(--teal);box-shadow:0 0 0 3px var(--e4-fill),var(--e4-shadow)}
:where(html.tz-js) .e4 .tz-root .reveal:not(.in) .e4-ledgerflow .lf{opacity:0;transform:translateY(14px)}
.e4 .tz-root .e4-ledgerflow .lf{transition:opacity var(--e4-dur-3) var(--e4-ease),transform var(--e4-dur-3) var(--e4-ease),border-color var(--e4-dur-2),box-shadow var(--e4-dur-2)}
.e4 .tz-root .e4-ledgerflow .lf:nth-child(2){transition-delay:.1s}.e4 .tz-root .e4-ledgerflow .lf:nth-child(3){transition-delay:.2s}.e4 .tz-root .e4-ledgerflow .lf:nth-child(4){transition-delay:.3s}.e4 .tz-root .e4-ledgerflow .lf:nth-child(5){transition-delay:.4s}.e4 .tz-root .e4-ledgerflow .lf:nth-child(6){transition-delay:.5s}
/* ledger flow — compact variant inside hero compositions */
.e4 .tz-root .e4-ledgerflow.e4-mini{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.e4 .tz-root .e4-ledgerflow.e4-mini .lf{padding:12px 12px;gap:6px;opacity:1;transform:none}
.e4 .tz-root .e4-ledgerflow.e4-mini .lf span:not(.doc){display:none}
.e4 .tz-root .e4-ledgerflow.e4-mini .lf b{font-size:12.5px}
.e4 .tz-root .e4-ledgerflow.e4-mini .lf:nth-child(3n)::after{display:none}
/* 6.9 Timeline (progressive, RTL-native) */
.e4 .tz-root .e4-timeline{position:relative;display:grid;grid-template-columns:repeat(var(--n,5),minmax(0,1fr));gap:0;padding-top:26px}
.e4 .tz-root .e4-timeline::before{content:"";position:absolute;top:41px;inset-inline:0;height:4px;border-radius:2px;background:var(--e4-fill-2)}
.e4 .tz-root .e4-timeline::after{content:"";position:absolute;top:41px;inset-inline-start:0;width:100%;height:4px;border-radius:2px;background:linear-gradient(90deg,var(--petrol),var(--teal));transform-origin:left;transform:scaleX(var(--e4-progress,0));transition:transform .5s linear}
[dir="rtl"] .e4 .tz-root .e4-timeline::after{transform-origin:right;background:linear-gradient(270deg,var(--petrol),var(--teal))}
.e4 .tz-root .e4-timeline .tn{position:relative;padding:0 14px 0 0;display:flex;flex-direction:column;gap:8px}
.e4 .tz-root .e4-timeline .tn .e4-node{background:var(--slate-200);color:var(--petrol);box-shadow:none;transition:background var(--e4-dur-3),color var(--e4-dur-3),transform var(--e4-dur-3)}
.e4 .tz-root .e4-timeline .tn.is-done .e4-node{background:var(--petrol);color:#fff;transform:scale(1.08);box-shadow:0 8px 16px -8px rgba(8,56,74,.6)}
.e4 .tz-root .e4-timeline .tn.is-done.last .e4-node{background:var(--gold);color:var(--petrol)}
.e4 .tz-root .e4-timeline .tn .tw{font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--teal-text);margin-top:6px}
.e4 .tz-root .e4-timeline .tn .tw.gold{color:#8C6F31}
.e4 .tz-root .e4-timeline .tn b{font-size:15px;color:var(--petrol);line-height:1.3;font-family:var(--font-body)}
.e4 .tz-root .e4-timeline .tn span.tx{font-size:13.5px;color:var(--slate-700);line-height:1.5}
.e4 .tz-root .e4-timeline .tn small{font-size:11.5px;color:var(--slate-700)}
/* 6.10 Flip / reveal cards (content stays in the DOM; button toggles) */
.e4 .tz-root .e4-flipgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.e4 .tz-root .e4-flip{position:relative;perspective:1400px;min-height:230px}
.e4 .tz-root .e4-flip .inner{position:relative;width:100%;height:100%;min-height:inherit;transform-style:preserve-3d;transition:transform var(--e4-dur-3) var(--e4-ease)}
.e4 .tz-root .e4-flip.is-flipped .inner{transform:rotateY(180deg)}
[dir="rtl"] .e4 .tz-root .e4-flip.is-flipped .inner{transform:rotateY(-180deg)}
.e4 .tz-root .e4-flip .face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:16px;padding:22px 22px 60px;display:flex;flex-direction:column;gap:10px}
.e4 .tz-root .e4-flip .front{background:#fff;border:1px solid var(--line);box-shadow:var(--e4-shadow)}
.e4 .tz-root .e4-flip .back{background:linear-gradient(150deg,var(--petrol),var(--petrol-2));color:#fff;transform:rotateY(180deg)}
[dir="rtl"] .e4 .tz-root .e4-flip .back{transform:rotateY(-180deg)}
.e4 .tz-root .e4-flip .face b{font-size:16px;color:var(--petrol);line-height:1.3;font-family:var(--font-body)}
.e4 .tz-root .e4-flip .back b{color:#fff}
.e4 .tz-root .e4-flip .face p,.e4 .tz-root .e4-flip .face li{font-size:13.5px;line-height:1.55;color:var(--slate-700);margin:0}
.e4 .tz-root .e4-flip .back p,.e4 .tz-root .e4-flip .back li{color:rgba(255,255,255,.82)}
.e4 .tz-root .e4-flip .face ul{margin:0;padding-inline-start:18px}
.e4 .tz-root .e4-flip .e4-flip-btn{position:absolute;bottom:16px;inset-inline-start:22px;display:inline-flex;align-items:center;gap:8px;border:0;background:var(--e4-fill);color:var(--petrol);font:inherit;font-size:12.5px;font-weight:700;padding:8px 12px;border-radius:999px;cursor:pointer}
.e4 .tz-root .e4-flip .back .e4-flip-btn{background:rgba(255,255,255,.14);color:#fff}
.e4 .tz-root .e4-flip .e4-flip-btn svg{width:14px;height:14px}
.e4 .tz-root .e4-flip .e4-flip-btn:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.e4 .tz-root .e4-flip .face[aria-hidden="true"] *{visibility:hidden}
.e4 .tz-root .e4-flip .face[aria-hidden="true"]{pointer-events:none}
/* 6.11 Floating elements (hero compositions) */
.e4 .tz-root .e4-compose{position:relative;aspect-ratio:10/8;max-width:560px;width:100%;perspective:var(--e4-persp);margin-inline:auto}
.e4 .tz-root .e4-compose[data-kind="svg"]{aspect-ratio:auto;padding-bottom:12%}
.e4 .tz-root .e4-compose[data-kind="svg"] > .fl.svgcard{position:relative;inset:auto !important;width:100% !important}
.e4 .tz-root .e4-compose[data-kind="cards"]{aspect-ratio:10/8}
.e4 .tz-root .e4-compose.static{aspect-ratio:auto;min-height:0}
.e4 .tz-root .e4-compose.static .fl{position:relative !important;inset:auto !important;width:100% !important;margin:0}
.e4 .tz-root .e4-compose.static .glow{inset:-6% -4%}
.e4 .tz-root .e4-compose .fl{position:absolute;transform:translateZ(var(--z,0)) rotateX(var(--e4-tilt-x)) rotateY(var(--e4-tilt-y));transition:transform var(--e4-dur-3) var(--e4-ease);will-change:transform}
.e4 .tz-root .e4-compose .fl.float{animation:e4float 8s ease-in-out infinite}
.e4 .tz-root .e4-compose .fl.float.s2{animation-duration:10s;animation-delay:-3s}
.e4 .tz-root .e4-compose .fl.float.s3{animation-duration:12s;animation-delay:-6s}
.e4 .tz-root .e4-compose .glow{position:absolute;inset:8% 10%;border-radius:40%;background:radial-gradient(circle at 50% 50%,rgba(63,193,208,.22),rgba(63,193,208,0) 62%);filter:blur(10px)}
.e4 .tz-root .e4-compose .e4-sheet{position:absolute;width:var(--w,300px);transform:rotateX(calc(4deg + var(--e4-tilt-x))) rotateY(calc(-6deg + var(--e4-tilt-y))) translateZ(var(--z,0));cursor:default}
.e4 .tz-root .e4-compose .slip{position:absolute;width:var(--w,180px);background:#fff;border-radius:10px;padding:12px 14px;box-shadow:var(--e4-float);font-size:11.5px;color:var(--petrol)}
.e4 .tz-root .e4-compose .slip b{display:flex;justify-content:space-between;font-size:12px}
.e4 .tz-root .e4-compose .slip i{display:block;height:4px;border-radius:2px;background:var(--slate-200);margin:6px 0}
.e4 .tz-root .e4-compose .slip i.t{background:var(--teal);width:60%}.e4 .tz-root .e4-compose .slip i.g{background:var(--gold-2);width:38%}
.e4 .tz-root .e4-compose .slip .ok{display:inline-flex;align-items:center;gap:5px;color:var(--teal-text);font-weight:700;font-size:11px;margin-top:4px}
.e4 .tz-root .e4-compose .slip .ok svg{width:12px;height:12px}
.e4 .tz-root .e4-compose .chartcard{position:absolute;width:var(--w,250px);background:linear-gradient(160deg,#0E4C62,#062B39);border-radius:14px;padding:14px 16px 12px;box-shadow:var(--e4-float);color:#fff;border:1px solid rgba(255,255,255,.1)}
.e4 .tz-root .e4-compose .chartcard .k{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.75);font-weight:700}
.e4 .tz-root .e4-compose .chartcard .cv{display:flex;align-items:flex-end;gap:5px;height:64px;margin-top:10px}
.e4 .tz-root .e4-compose .chartcard .cv i{flex:1;border-radius:3px 3px 0 0;background:linear-gradient(180deg,var(--turquoise),var(--teal));height:var(--h);transform-origin:bottom;transition:transform var(--e4-dur-4) var(--e4-ease)}
.e4 .tz-root .e4-compose .chartcard .cv i.g{background:linear-gradient(180deg,var(--gold-2),var(--gold))}
:where(html.tz-js) .e4 .tz-root .reveal:not(.in) .e4-compose .chartcard .cv i{transform:scaleY(.1)}
.e4 .tz-root .e4-compose .sealcard{position:absolute;display:flex;align-items:center;gap:12px;background:#fff;border-radius:999px;padding:8px 16px 8px 8px;box-shadow:var(--e4-float);font-size:12px;color:var(--petrol);white-space:nowrap}
[dir="rtl"] .e4 .tz-root .e4-compose .sealcard{padding:8px 8px 8px 16px}
.e4 .tz-root .e4-compose .sealcard b{display:block;font-size:12.5px}
.e4 .tz-root .e4-compose .sealcard .e4-seal{width:40px;height:40px;box-shadow:0 0 0 2px var(--gold-2)}
.e4 .tz-root .e4-compose .sealcard .e4-seal svg{width:18px;height:18px}
.e4 .tz-root .e4-compose .photo{position:absolute;inset:6% 4% 12% 10%;border-radius:18px;background-size:cover;background-position:center;filter:saturate(.55);box-shadow:var(--e4-float);overflow:hidden}
.e4 .tz-root .e4-compose .photo::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,rgba(8,56,74,.7),rgba(26,157,173,.35));mix-blend-mode:multiply}
.e4 .tz-root .e4-compose .photo::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,43,57,.55),transparent 60%);z-index:1}
/* hero figure host overrides (service pages keep .hero-figure; E04 fills it with a composition) */
.e4 .tz-root .hero-figure.e4-fig{background:transparent;border:0;box-shadow:none;aspect-ratio:auto;display:block;overflow:visible;padding:0}
.e4 .tz-root .hero-figure.e4-fig .e4-compose{aspect-ratio:10/7.6}
.e4 .tz-root .hero-figure.e4-fig .e4-compose[data-kind="svg"]{aspect-ratio:auto}
.e4 .tz-root .hero-figure.e4-fig .e4-compose.static{aspect-ratio:auto}
.e4 .tz-root .hero-figure.e4-fig .hf-meta{position:relative;inset:auto;z-index:auto;margin-top:16px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.e4 .tz-root .hero-figure.e4-fig .hf-meta b{font-size:19px;line-height:1.3}
.e4 .tz-root .hero-figure.e4-fig .hf-meta span{max-width:none}
.e4 .tz-root .page-hero.split .hero-figure.e4-fig{max-width:560px}
.e4 .tz-root .showcase.e4-showcase .showcase-card{background:transparent;border:0;box-shadow:none;padding:0;overflow:visible}
.e4 .tz-root .showcase.e4-showcase .showcase-card{aspect-ratio:auto}
.e4 .tz-root .showcase.e4-showcase .sc-card{z-index:6;inset-inline-start:-6px;bottom:-14px;max-width:320px}
.e4 .tz-root .showcase.e4-showcase .e4-compose{aspect-ratio:10/8.2}
/* 6.12 Working-moment bands: photographic crop + sheet instead of empty frame */
.e4 .tz-root .moment .moment-ph{background:linear-gradient(160deg,#0B3D4F,#062B39)}
.e4 .tz-root .moment .moment-ph .e4-still .st-photo{opacity:.8}
/* ---------- 7. Motion system V2 ---------- */
@keyframes e4float{0%,100%{transform:translateY(0) translateZ(var(--z,0)) rotateX(var(--e4-tilt-x)) rotateY(var(--e4-tilt-y))}50%{transform:translateY(-7px) translateZ(var(--z,0)) rotateX(var(--e4-tilt-x)) rotateY(var(--e4-tilt-y))}}
@keyframes e4dash{to{stroke-dashoffset:-28}}
@keyframes e4pulse{0%,100%{opacity:.55}50%{opacity:1}}
.e4 .tz-root .e4-stagger > *{transition:opacity var(--e4-dur-3) var(--e4-ease),transform var(--e4-dur-3) var(--e4-ease)}
:where(html.tz-js) .e4 .tz-root .reveal:not(.in) .e4-stagger > *{opacity:0;transform:translateY(12px)}
.e4 .tz-root .e4-stagger > *:nth-child(2){transition-delay:.08s}.e4 .tz-root .e4-stagger > *:nth-child(3){transition-delay:.16s}.e4 .tz-root .e4-stagger > *:nth-child(4){transition-delay:.24s}.e4 .tz-root .e4-stagger > *:nth-child(5){transition-delay:.32s}.e4 .tz-root .e4-stagger > *:nth-child(6){transition-delay:.4s}
.e4 .tz-root .e4-tilt{transition:transform var(--e4-dur-3) var(--e4-ease)}
.e4 .tz-root .e4-lift{transition:transform var(--e4-dur-2) var(--e4-ease),box-shadow var(--e4-dur-2) var(--e4-ease)}
.e4 .tz-root .e4-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-hover)}
@media (prefers-reduced-motion:reduce){
.e4 .tz-root *{animation:none !important}
.e4 .tz-root .e4-sheet.float,.e4 .tz-root .e4-compose .fl.float{animation:none !important}
:where(html.tz-js) .e4 .tz-root .reveal:not(.in) .e4-3d .bar,:where(html.tz-js) .e4 .tz-root .reveal:not(.in) .e4-svg .grow,:where(html.tz-js) .e4 .tz-root .reveal:not(.in) .e4-svg .pop,:where(html.tz-js) .e4 .tz-root .reveal:not(.in) .e4-bars i,:where(html.tz-js) .e4 .tz-root .reveal:not(.in) .e4-stack .blk,:where(html.tz-js) .e4 .tz-root .reveal:not(.in) .e4-matrix .mc,:where(html.tz-js) .e4 .tz-root .reveal:not(.in) .e4-ledgerflow .lf,:where(html.tz-js) .e4 .tz-root .reveal:not(.in) .e4-stagger > *,:where(html.tz-js) .e4 .tz-root .reveal:not(.in) .e4-compose .chartcard .cv i,:where(html.tz-js) .e4 .tz-root .reveal:not(.in) .e4-flow .fs::before{opacity:1;transform:none;height:var(--h,50%)}
:where(html.tz-js) .e4 .tz-root .reveal:not(.in) .e4-svg .draw{stroke-dashoffset:0}
.e4 .tz-root .e4-timeline::after{transform:scaleX(1);transition:none}
.e4 .tz-root .e4-flip .inner,.e4 .tz-root .e4-sheet,.e4 .tz-root .e4-3d .scene,.e4 .tz-root .e4-stack .pile,.e4 .tz-root .e4-compose .fl{transition:none}
.e4 .tz-root .e4-flip.is-flipped .inner{transform:none}
.e4 .tz-root .e4-flip.is-flipped .front{visibility:hidden}
.e4 .tz-root .e4-flip.is-flipped .back{transform:none}
.e4 .tz-root .e4-svg .edge.flow{animation:none;stroke-dasharray:none}
}
.e4.static-mode .tz-root .e4-timeline::after{transform:scaleX(1)}
.e4.static-mode .tz-root .e4-sheet.float,.e4.static-mode .tz-root .e4-compose .fl.float{animation:none}
/* ---------- 8. RTL (composed, not mirrored) ---------- */
[dir="rtl"] .e4 .tz-root .e4-svg text{font-family:var(--font-body)}
[dir="rtl"] .e4 .tz-root .e4-3d .scene{transform:rotateX(calc(14deg + var(--e4-tilt-x))) rotateY(calc(14deg + var(--e4-tilt-y)))}
[dir="rtl"] .e4 .tz-root .e4-3d .bar::after{right:auto;left:0;transform:rotateY(-90deg);transform-origin:left}
[dir="rtl"] .e4 .tz-root .e4-stack .pile{transform:rotateX(calc(8deg + var(--e4-tilt-x))) rotateY(calc(10deg + var(--e4-tilt-y)))}
[dir="rtl"] .e4 .tz-root .e4-stack .blk::after{right:auto;left:0;transform:rotateY(-90deg);transform-origin:left}
[dir="rtl"] .e4 .tz-root .e4-sheet{transform:rotateX(calc(6deg + var(--e4-tilt-x))) rotateY(calc(8deg + var(--e4-tilt-y))) translateZ(var(--z,0))}
[dir="rtl"] .e4 .tz-root .e4-sheet.is-front{transform:rotateX(calc(2deg + var(--e4-tilt-x))) rotateY(calc(3deg + var(--e4-tilt-y))) translateZ(40px)}
[dir="rtl"] .e4 .tz-root .e4-compose .e4-sheet{transform:rotateX(calc(4deg + var(--e4-tilt-x))) rotateY(calc(6deg + var(--e4-tilt-y))) translateZ(var(--z,0))}
[dir="rtl"] .e4 .tz-root .e4-pull{padding:34px 56px 34px 40px}
[dir="rtl"] .e4 .tz-root .e4-timeline .tn{padding:0 0 0 14px}
[dir="rtl"] .e4 .tz-root .e4-dash .kpi .v,[dir="rtl"] .e4 .tz-root .e4-dash .kpi .d,[dir="rtl"] .e4 .tz-root .e4-sheet .row b,[dir="rtl"] .e4 .tz-root .e4-3d .col .val,[dir="rtl"] .e4 .tz-root .e4-chip b,[dir="rtl"] .e4 .tz-root .e4-compose .slip b span:last-child{direction:ltr;unicode-bidi:isolate;font-family:var(--font-body)}
[dir="rtl"] .e4 .tz-root .e4-dash .kpi .d{display:inline-block}
[dir="rtl"] .e4 .tz-root .e4-label,[dir="rtl"] .e4 .tz-root .e4-tab,[dir="rtl"] .e4 .tz-root .e4-flow .fs .tag,[dir="rtl"] .e4 .tz-root .e4-matrix .mh,[dir="rtl"] .e4 .tz-root .e4-dash .kpi .k,[dir="rtl"] .e4 .tz-root .e4-sheet .sh-k,[dir="rtl"] .e4 .tz-root .e4-still .st-tag,[dir="rtl"] .e4 .tz-root .e4-timeline .tn .tw{letter-spacing:0;text-transform:none}
[dir="rtl"] .e4 .tz-root .method-strip .ms-item::after{background:linear-gradient(270deg,rgba(26,157,173,.45),rgba(26,157,173,0))}
[dir="rtl"] .e4 .tz-root .j-step::before{background:linear-gradient(270deg,rgba(8,56,74,.35),rgba(8,56,74,.08))}
[dir="rtl"] .e4 .tz-root .e4-flow .fs::before{background:linear-gradient(270deg,rgba(26,157,173,.55),rgba(26,157,173,.15))}
/* ---------- 9. Mobile (every RTL layout rule above has its ≤1000/≤680 pair here) ---------- */
@media (max-width:1000px){
.e4 .tz-root .e4-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
.e4 .tz-root .e4-flipgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
.e4 .tz-root .e4-ledgerflow{grid-template-columns:repeat(3,minmax(0,1fr))}
.e4 .tz-root .e4-ledgerflow .lf:nth-child(3n)::after{display:none}
.e4 .tz-root .e4-dash{grid-template-columns:repeat(2,minmax(0,1fr))}
.e4 .tz-root .e4-timeline{grid-template-columns:1fr;padding-top:0;padding-inline-start:46px;gap:22px}
.e4 .tz-root .e4-timeline::before{inset-inline:auto;inset-inline-start:15px;top:0;bottom:0;width:4px;height:auto}
.e4 .tz-root .e4-timeline::after{inset-inline-start:15px;top:0;width:4px;height:100%;transform-origin:top;transform:scaleY(var(--e4-progress,0));background:linear-gradient(180deg,var(--petrol),var(--teal))}
[dir="rtl"] .e4 .tz-root .e4-timeline::after{transform-origin:top;background:linear-gradient(180deg,var(--petrol),var(--teal))}
.e4 .tz-root .e4-timeline .tn{padding:0}
[dir="rtl"] .e4 .tz-root .e4-timeline .tn{padding:0}
.e4 .tz-root .e4-timeline .tn .e4-node{position:absolute;inset-inline-start:-46px;top:0}
.e4 .tz-root .e4-flow{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:1fr}
.e4 .tz-root .e4-flow .fs{padding:14px 0 14px 54px}
[dir="rtl"] .e4 .tz-root .e4-flow .fs{padding:14px 54px 14px 0}
.e4 .tz-root .e4-flow .fs::before{top:0;bottom:0;inset-inline-start:20px;inset-inline-end:auto;width:4px;height:auto;transform-origin:top;transform:scaleY(var(--p,1));background:linear-gradient(180deg,rgba(26,157,173,.55),rgba(26,157,173,.15))}
[dir="rtl"] .e4 .tz-root .e4-flow .fs::before{transform-origin:top;background:linear-gradient(180deg,rgba(26,157,173,.55),rgba(26,157,173,.15))}
:where(html.tz-js) .e4 .tz-root .reveal:not(.in) .e4-flow .fs::before{transform:scaleY(0)}
.e4 .tz-root .e4-flow .fs .e4-mark,.e4 .tz-root .e4-flow .fs .e4-node{position:absolute;inset-inline-start:0;top:14px;margin:0}
.e4 .tz-root .e4-matrix{font-size:12px;--cols:3}
.e4 .tz-root .e4-matrix .mc.hide-m{display:none}
.e4 .tz-root .e4-matrix .mh.hide-m{display:none}
.e4 .tz-root .page-hero.split .hero-figure.e4-fig{max-width:none}
.e4 .tz-root .hero-figure.e4-fig .e4-compose{aspect-ratio:10/6.4;max-width:none}
}
@media (max-width:680px){
.e4 .tz-root .e4-summary,.e4 .tz-root .e4-summary.three{grid-template-columns:1fr 1fr;gap:10px}
.e4 .tz-root .e4-summary > div{padding:12px 12px;gap:10px}
.e4 .tz-root .e4-flipgrid{grid-template-columns:1fr}
.e4 .tz-root .e4-flip{min-height:0}
.e4 .tz-root .e4-flip .inner{min-height:200px}
.e4 .tz-root .e4-ledgerflow{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.e4 .tz-root .e4-ledgerflow .lf::after{display:none}
.e4 .tz-root .e4-dash{grid-template-columns:1fr 1fr;gap:10px}
.e4 .tz-root .e4-dash .kpi{padding:12px}
.e4 .tz-root .e4-dash .kpi .v{font-size:22px}
.e4 .tz-root .e4-3d .scene{height:150px;gap:10px;transform:rotateX(10deg) rotateY(-6deg)}
[dir="rtl"] .e4 .tz-root .e4-3d .scene{transform:rotateX(10deg) rotateY(6deg)}
.e4 .tz-root .e4-3d .col .val{opacity:1;transform:translate(-50%,0);font-size:10.5px;bottom:calc(var(--h,50%) + 22px)}
.e4 .tz-root .e4-3d .col .lbl{font-size:10px}
.e4 .tz-root .e4-fin{padding:16px 14px 14px}
.e4 .tz-root .e4-stack{gap:12px}
.e4 .tz-root .e4-stack .pile{transform:none}
[dir="rtl"] .e4 .tz-root .e4-stack .pile{transform:none}
.e4 .tz-root .e4-stack .blk::after,.e4 .tz-root .e4-stack .blk::before{display:none}
.e4 .tz-root .e4-sheets{height:auto;perspective:none}
.e4 .tz-root .e4-sheet{position:relative;width:100%;inset-inline-start:0 !important;top:0 !important;transform:none !important;margin-bottom:10px;display:none}
.e4 .tz-root .e4-sheet.is-front{display:block}
.e4 .tz-root .e4-sheets .ctl{position:relative;justify-content:flex-end;margin-top:4px}
.e4 .tz-root .e4-compose{aspect-ratio:10/7.2}
.e4 .tz-root .hero-figure.e4-fig .e4-compose{aspect-ratio:10/7.6}
.e4 .tz-root .e4-compose[data-kind="svg"],.e4 .tz-root .hero-figure.e4-fig .e4-compose[data-kind="svg"]{aspect-ratio:auto;padding-bottom:0}
.e4 .tz-root .e4-compose[data-kind="svg"] > .fl.slip{position:relative !important;inset:auto !important;width:62% !important;--w:62%;margin:10px 0 0 auto;transform:none !important}
[dir="rtl"] .e4 .tz-root .e4-compose[data-kind="svg"] > .fl.slip{margin:10px auto 0 0}
.e4 .tz-root .e4-compose.static,.e4 .tz-root .hero-figure.e4-fig .e4-compose.static{aspect-ratio:auto}
.e4 .tz-root .e4-compose .fl{transform:none !important;animation:none}
.e4 .tz-root .e4-compose .e4-sheet{display:block;position:absolute;transform:none !important;margin:0;width:100% !important;max-width:100%;--w:100%}
.e4 .tz-root .e4-compose .fl{max-width:100%}
.e4 .tz-root .e4-svg{--e4-svgs:1.25}
.e4 .tz-root .e4-compose .e4-svg{--e4-svgs:1.08}
.e4 .tz-root .page-hero,.e4 .tz-root .hero,.e4 .tz-root .campaign-hero{overflow-x:clip}
.e4 .tz-root .findus-grid{grid-template-columns:minmax(0,1fr) !important}
.e4 .tz-root .findus-grid > *,.e4 .tz-root .office-card{min-width:0;max-width:100%}
.e4 .tz-root .office-card{grid-template-columns:minmax(0,1fr) !important;gap:10px}
/* the card's own auto+1fr columns (163 + 205 px) overflowed a 280 px card */
/* E03 About find-us grid overflowed 320 px in Arabic (D-429) */
/* floating layers (transformed) must never widen the document on phones */
.e4 .tz-root .e4-cmp-fig{display:none}
.e4 .tz-root .showcase.e4-showcase .sc-card{position:relative;inset:auto;margin:12px 0 0;max-width:none}
.e4 .tz-root .showcase.e4-showcase .e4-compose{aspect-ratio:10/7.4}
.e4 .tz-root .e4-compose .sealcard{display:none}
.e4 .tz-root .e4-pull{padding:24px 22px 24px 30px;margin:34px auto}
[dir="rtl"] .e4 .tz-root .e4-pull{padding:24px 30px 24px 22px}
.e4 .tz-root .e4-pull q{font-size:19px}
.e4 .tz-root .e4-pull .e4-seal{display:none}
.e4 .tz-root .e4-head{gap:4px 14px}
.e4 .tz-root .e4-mark{width:36px;height:36px;border-radius:11px}.e4 .tz-root .e4-mark svg{width:18px;height:18px}
.e4 .tz-root .e4-bars{width:36px;height:36px;padding:7px 6px}
.e4 .tz-root .section-head.chapter{grid-template-columns:auto minmax(0,1fr);gap:4px 14px}
.e4 .tz-root .method-strip .ms-item::after{display:none}
.e4 .tz-root .j-step::before{display:none}
.e4 .tz-root .e4-matrix{--cols:3;gap:4px}
.e4 .tz-root .e4-matrix .mr{padding:8px 8px;font-size:11.5px}
.e4 .tz-root .e4-matrix .mc{min-height:40px}
.e4 .tz-root .e4-matrix .mc .tip{display:none}
.e4 .tz-root .e4-hl{padding:14px 16px;font-size:14.5px;gap:12px}
.e4 .tz-root .hero h1{font-size:clamp(30px,8vw,36px)}
[dir="rtl"] .e4 .tz-root .hero h1{font-size:clamp(28px,7.4vw,34px);line-height:1.36}
.e4 .tz-root .page-hero h1{font-size:clamp(27px,7vw,32px)}
[dir="rtl"] .e4 .tz-root .page-hero h1{font-size:clamp(26px,6.8vw,31px);line-height:1.38}
.e4 .tz-root .section-head h2,.e4 .tz-root .editorial-copy h2{font-size:clamp(23px,6vw,27px)}
[dir="rtl"] .e4 .tz-root .section-head h2,[dir="rtl"] .e4 .tz-root .editorial-copy h2{font-size:clamp(22px,5.8vw,26px)}
.e4 .tz-root .e4-label{font-size:10.5px;padding:5px 10px}
.e4 .tz-root .e4-still .st-sheet{font-size:10px;padding:9px 10px}
.e4 .tz-root .e4-still .st-cap{font-size:11.5px}
}
@media (max-width:430px){
.e4 .tz-root .e4-dash{grid-template-columns:1fr 1fr}
.e4 .tz-root .e4-dash .bars{height:90px}
.e4 .tz-root .e4-ledgerflow{grid-template-columns:1fr 1fr}
.e4 .tz-root .e4-compose .slip{--w:150px;font-size:10.5px}
.e4 .tz-root .e4-compose[data-kind="cards"] .fl.s2{inset-inline-start:26% !important;width:72% !important;top:48% !important}
.e4 .tz-root .e4-compose[data-kind="cards"] .fl.chartcard[style*="inset-inline-start:54%"]{inset-inline-start:56% !important;top:44% !important;--w:44% !important}
.e4 .tz-root .e4-compose[data-kind="cards"] .fl.slip[style*="top:48%"]{top:66% !important;inset-inline-start:46% !important}
.e4 .tz-root .e4-compose .e4-sheet .sh-t{font-size:13px}
.e4 .tz-root .e4-compose .chartcard{--w:200px}
.e4 .tz-root .e4-compose .sealcard{font-size:11px}
.e4 .tz-root .e4-svg{--e4-svgs:1.35}
}
@media (max-width:360px){
.e4 .tz-root .e4-summary,.e4 .tz-root .e4-summary.three{grid-template-columns:1fr}
.e4 .tz-root .e4-3d .scene{gap:7px;height:130px}
.e4 .tz-root .e4-matrix{--cols:2}
.e4 .tz-root .e4-matrix .mc.hide-s,.e4 .tz-root .e4-matrix .mh.hide-s{display:none}
.e4 .tz-root .e4-compose .chartcard{--w:180px}
.e4 .tz-root .e4-compose .slip{--w:136px}
.e4 .tz-root .e4-scen button{padding:6px 10px;font-size:12px}
}
@media (max-width:320px){
.e4 .tz-root .e4-dash{grid-template-columns:1fr}
.e4 .tz-root .e4-ledgerflow{grid-template-columns:1fr}
.e4 .tz-root .e4-compose .sealcard{display:none}
.e4 .tz-root .e4-compose .slip{display:none}
}


/* ===== v3d.css ===== */
/* AL TAMAYUZ — v3d.css · 3D EVOLUTION 01 (additive over e04.css; namespaced under body.v3)
   1 isometric scenes (hero) · 2 floating glass chips · 3 section figures (iso bars / week) · 4 process wheel · 5 orbit (hub + satellites)
   6 embossed numerals + process ribbon · 7 typography rebalance · 8 motion + reduced motion · 9 RTL · 10 phones */
/* ---------- 1. isometric scenes ---------- */
.v3 .tz-root .v3-scene{position:relative;width:100%;max-width:640px;margin-inline:auto;--px:0;--py:0;isolation:isolate}
.v3 .tz-root .v3-scene::before{content:"";position:absolute;inset:8% 4% 6%;border-radius:50%;background:radial-gradient(closest-side,rgba(63,193,208,.22),rgba(63,193,208,0));filter:blur(18px);z-index:-1;pointer-events:none}
.v3 .tz-root .v3-svg{display:block;width:100%;height:auto;overflow:visible}
.v3 .tz-root .v3-l0,.v3 .tz-root .v3-l1,.v3 .tz-root .v3-l2{transition:transform .6s cubic-bezier(.2,.7,.2,1);will-change:transform}
.v3 .tz-root .v3-l0{transform:translate(calc(var(--px,0) * -5px),calc(var(--py,0) * -3px))}
.v3 .tz-root .v3-l1{transform:translate(calc(var(--px,0) * 5px),calc(var(--py,0) * 3px))}
.v3 .tz-root .v3-l2{transform:translate(calc(var(--px,0) * 14px),calc(var(--py,0) * 9px))}
.v3 .tz-root .v3-float{animation:v3float 8s ease-in-out infinite}
.v3 .tz-root .v3-bob{animation:v3bob 6s ease-in-out infinite;animation-delay:var(--d,0ms)}
.v3 .tz-root .v3-grow{transform-box:fill-box;transform-origin:50% 100%;transition:transform .95s cubic-bezier(.2,.8,.2,1) var(--d,0ms),opacity .45s ease var(--d,0ms)}
.v3 .tz-root .v3-pop{transform-box:fill-box;transform-origin:center;transition:transform .7s cubic-bezier(.2,.8,.2,1) var(--d,0ms),opacity .5s ease var(--d,0ms)}
:where(html.tz-js) .v3 .tz-root .reveal:not(.in) .v3-grow{transform:scaleY(.04);opacity:0}
:where(html.tz-js) .v3 .tz-root .reveal:not(.in) .v3-pop{transform:scale(.7);opacity:0}
.v3 .tz-root .v3-hov{cursor:default}
.v3 .tz-root .v3-scene.in .v3-hov:hover,.v3 .tz-root .v3-fig.in .v3-hov:hover{transform:translateY(-6px);transition-delay:0ms;transition-duration:.3s}
.v3 .tz-root .v3-hov:hover .v3-top{filter:brightness(1.1)}
.v3 .tz-root .v3-dash{animation:v3dash 2.6s linear infinite}
.v3 .tz-root .v3-pulse{animation:v3pulse 3.2s ease-in-out infinite;animation-delay:var(--d,0ms)}
.v3 .tz-root .v3-run{offset-rotate:0deg;animation:v3run 5.5s linear infinite;filter:drop-shadow(0 0 5px #fff)}
.v3 .tz-root .v3-draw{stroke-dasharray:var(--len,none)}
.v3 .tz-root .v3-coin polygon,.v3 .tz-root .v3-coin ellipse{shape-rendering:geometricPrecision}
@keyframes v3float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes v3bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes v3dash{to{stroke-dashoffset:-36}}
@keyframes v3pulse{0%,100%{opacity:1}50%{opacity:.45}}
@keyframes v3run{0%{offset-distance:0%;opacity:0}8%{opacity:1}92%{opacity:1}100%{offset-distance:100%;opacity:0}}
/* placement inside the hero figure / home showcase */
.v3 .tz-root .hero-figure.e4-fig .v3-scene{margin-bottom:6px}
.v3 .tz-root .showcase.e4-showcase .showcase-card{background:transparent;box-shadow:none;border:0;overflow:visible}
.v3 .tz-root .showcase.e4-showcase .v3-scene{max-width:660px}
.v3 .tz-root .showcase.e4-showcase .sc-card{position:relative;inset:auto;margin:6px auto 0;max-width:460px}
/* ---------- 2. floating glass chips ---------- */
.v3 .tz-root .v3-chip{position:absolute;inset-inline-start:var(--x,0);top:var(--y,0);display:inline-flex;align-items:center;gap:9px;padding:9px;padding-inline-end:14px;border-radius:14px;max-width:62%;
  background:linear-gradient(145deg,rgba(255,255,255,.16),rgba(255,255,255,.06));border:1px solid rgba(190,238,243,.32);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  box-shadow:0 18px 34px -18px rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.22);color:#fff;font-family:var(--font-body);font-size:13px;line-height:1.25;
  transform:translate(calc(var(--px,0) * var(--k,1) * 9px),calc(var(--py,0) * var(--k,1) * 6px));transition:transform .6s cubic-bezier(.2,.7,.2,1),opacity .6s ease .5s;animation:v3bob 7s ease-in-out infinite;animation-delay:calc(var(--k,1) * -1.7s)}
.v3 .tz-root .v3-chip b{font-weight:600;font-family:var(--font-body)}
.v3 .tz-root .v3-chip .v3-ci{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:10px;flex:none;background:linear-gradient(145deg,#39BDCB,#0F6875);box-shadow:inset 0 1px 0 rgba(255,255,255,.35),inset 0 -2px 3px rgba(0,0,0,.2)}
.v3 .tz-root .v3-chip.gold .v3-ci{background:linear-gradient(145deg,#F3DBA0,#B98F3F);color:#08384A}
.v3 .tz-root .v3-chip .v3-ci svg{width:16px;height:16px}
:where(html.tz-js) .v3 .tz-root .reveal:not(.in) .v3-chip{opacity:0}
/* ---------- 3. section figures (light) ---------- */
.v3 .tz-root .v3-fig{position:relative;background:linear-gradient(180deg,#fff,#F4F8F9);border:1px solid var(--line,#E2EAED);border-radius:20px;padding:20px 22px 18px;box-shadow:0 24px 50px -30px rgba(8,56,74,.35);--px:0;--py:0;max-width:880px;margin-inline:auto}
.v3 .tz-root .v3-fig-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:2px}
.v3 .tz-root .v3-fig-head b{font-family:var(--font-body);font-size:15px;font-weight:700;color:var(--petrol,#08384A)}
.v3 .tz-root .v3-fig-head span{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--slate-700,#33474F)}
.v3 .tz-root .v3-fig .v3-svg{max-width:640px;margin-inline:auto}
.v3 .tz-root .v3-tag text{font-family:var(--font-body);font-size:13px;font-weight:700;fill:#08384A}
.v3 .tz-root .v3-tag rect{filter:drop-shadow(0 6px 8px rgba(8,56,74,.14))}
.v3 .tz-root .v3-legend{display:flex;flex-wrap:wrap;gap:8px 18px;justify-content:center;margin-top:4px;font-size:13px;color:var(--slate-700,#33474F)}
.v3 .tz-root .v3-legend span{display:inline-flex;align-items:center;gap:7px}
.v3 .tz-root .v3-legend b{color:var(--petrol,#08384A);font-weight:700;font-family:var(--font-body)}
.v3 .tz-root .v3-legend i{width:12px;height:12px;border-radius:4px;display:inline-block;background:#1A9DAD}
.v3 .tz-root .v3-legend i.m-petrol{background:#1F596E}.v3 .tz-root .v3-legend i.m-gold{background:#D3AE60}.v3 .tz-root .v3-legend i.m-mist{background:#C3D3D9}.v3 .tz-root .v3-legend i.m-cyan{background:#3FC1D0}
.v3 .tz-root .v3-week .v3-svg{max-width:560px}
/* ---------- 4. process wheel ---------- */
.v3 .tz-root .v3-wheelwrap{display:grid;grid-template-columns:minmax(260px,400px) minmax(0,1fr);gap:28px 48px;align-items:center;margin-top:34px}
.v3 .tz-root .v3-wheel{position:relative;width:100%;max-width:400px;margin-inline:auto}
.v3 .tz-root .v3-wheel-svg{display:block;width:100%;height:auto;overflow:visible}
.v3 .tz-root .v3-seg{transform-box:fill-box;transform-origin:center;transition:transform .4s cubic-bezier(.2,.8,.2,1),opacity .4s;opacity:.86;cursor:pointer}
.v3 .tz-root .v3-seg.on{opacity:1;transform:scale(1.07)}
.v3 .tz-root .v3-wn{font-family:var(--font-body);font-size:19px;font-weight:700}
.v3 .tz-root .v3-wheel-c{position:absolute;inset:31%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4px;pointer-events:none}
.v3 .tz-root .v3-wheel-c small{font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-text,#0F6E7B)}
.v3 .tz-root .v3-wheel-c b{font-family:var(--font-body);font-size:15.5px;line-height:1.25;color:var(--petrol,#08384A);font-weight:700}
.v3 .tz-root .v3-wheelwrap .journey-grid,.v3 .tz-root .v3-wheelwrap .e4-flow{display:grid !important;grid-template-columns:1fr 1fr !important;gap:12px !important;margin:0 !important}
.v3 .tz-root .v3-wheelwrap .j-step,.v3 .tz-root .v3-wheelwrap .fs{position:relative;background:#fff;border:1px solid var(--line,#E2EAED);border-radius:16px;padding:16px 16px 14px !important;padding-inline-start:62px !important;text-align:start;min-height:0;box-shadow:0 14px 30px -24px rgba(8,56,74,.4);transition:transform .3s,box-shadow .3s,border-color .3s;opacity:1 !important;transform:none}
.v3 .tz-root .v3-wheelwrap .j-step::before,.v3 .tz-root .v3-wheelwrap .j-step::after,.v3 .tz-root .v3-wheelwrap .fs::before,.v3 .tz-root .v3-wheelwrap .fs::after{display:none !important}
.v3 .tz-root .v3-wheelwrap .j-step.v3-on,.v3 .tz-root .v3-wheelwrap .fs.v3-on{border-color:rgba(26,157,173,.55);box-shadow:0 20px 36px -22px rgba(8,56,74,.5);transform:translateY(-3px)}
.v3 .tz-root .v3-wheelwrap .j-num,.v3 .tz-root .v3-wheelwrap .fs .e4-node{position:absolute !important;inset-inline-start:14px;top:14px;margin:0 !important}
.v3 .tz-root .v3-wheelwrap .j-step h3,.v3 .tz-root .v3-wheelwrap .fs b{font-size:15.5px;margin:0 0 4px;display:block}
.v3 .tz-root .v3-wheelwrap .j-step p,.v3 .tz-root .v3-wheelwrap .fs > span:not(.e4-node){font-size:13.5px;line-height:1.5;margin:0;display:block}
/* ---------- 5. orbit ---------- */
.v3 .tz-root .v3-orbitwrap{display:grid;grid-template-columns:minmax(300px,1.05fr) minmax(0,1fr);gap:24px 40px;align-items:center}
.v3 .tz-root .v3-orbitwrap .e4-summary{grid-template-columns:1fr 1fr;margin:0}
.v3 .tz-root .v3-orbit-fig{position:relative;max-width:680px;margin-inline:auto}
.v3 .tz-root .v3-orbit-fig svg{display:block;width:100%;height:auto;overflow:visible}
.v3 .tz-root .v3-orb-t{font-family:var(--font-body);font-size:15px;font-weight:700;fill:#08384A}
.v3 .tz-root .v3-sat{transform-box:fill-box;transform-origin:center}
.v3 .tz-root .v3-orbit.in .v3-sat:hover{transform:scale(1.07);transition-delay:0ms;transition-duration:.3s}
.v3 .tz-root .v3-orbit-c{position:absolute;left:50%;top:50%;width:17%;transform:translate(-50%,-50%);text-align:center;display:flex;flex-direction:column;gap:3px;pointer-events:none}
.v3 .tz-root .v3-orbit-c small{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-text,#0F6E7B)}
.v3 .tz-root .v3-orbit-c b{font-family:var(--font-body);font-size:14.5px;line-height:1.25;color:#08384A;font-weight:700}
.v3 .tz-root .v3-orbit-legend{display:none;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:10px}
.v3 .tz-root .v3-orbit-legend span{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;background:var(--e4-fill,#E6F4F6);color:#08384A;font-size:13px;font-weight:600}
.v3 .tz-root .v3-orbit-legend svg{width:15px;height:15px}
/* ---------- 6. embossed numerals + process ribbon ---------- */
.v3 .tz-root .j-num,.v3 .tz-root .method-strip .ms-n,.v3 .tz-root .e4-node,.v3 .tz-root .tl > i,.v3 .tz-root .article ol li::before{background:linear-gradient(145deg,#2FB3C2,#0E5F6C) !important;color:#fff !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.4),inset 0 -3px 4px rgba(0,0,0,.22),0 8px 16px -8px rgba(8,56,74,.6);text-shadow:0 1px 1px rgba(0,0,0,.28);font-family:var(--font-body) !important}
.v3 .tz-root .e4-node.gold,.v3 .tz-root .e4-timeline .tn.is-done.last .e4-node{background:linear-gradient(145deg,#F3DBA0,#B98F3F) !important;color:#08384A !important;text-shadow:none}
.v3 .tz-root .e4-timeline .tn:not(.is-done) .e4-node{background:linear-gradient(145deg,#EEF3F5,#CBD8DD) !important;color:#08384A !important;text-shadow:none}
.v3 .tz-root .method-strip .ms-item{background:#fff;border:1px solid var(--line,#E2EAED);border-radius:18px;padding:22px 18px 16px;box-shadow:0 16px 34px -26px rgba(8,56,74,.45);position:relative;border-top:4px solid #1A9DAD;transition:transform .3s,box-shadow .3s}
.v3 .tz-root .method-strip .ms-item:nth-child(3n/**/+2){border-top-color:#1F596E}.v3 .tz-root .method-strip .ms-item:nth-child(3n){border-top-color:#D3AE60}
.v3 .tz-root .method-strip .ms-item:hover{transform:translateY(-4px);box-shadow:0 24px 40px -24px rgba(8,56,74,.5)}
.v3 .tz-root .method-strip .ms-item::after{display:none}
.v3 .tz-root .method-strip{gap:16px}
/* ---------- 7. typography rebalance (this round) ---------- */
.v3 .tz-root .e4-display,.v3.e4 .tz-root .hero h1.e4-display,.v3.e4 .tz-root .page-hero h1.e4-display{font-weight:500;letter-spacing:0}
.v3 .tz-root q.e4-moment,.v3 .tz-root .e4-pull q{font-size:clamp(19px,1.65vw,23px);line-height:1.5;font-weight:500}
.v3 .tz-root .qmark{font-size:54px !important;opacity:.7}
/* ---------- 8. reduced motion / static ---------- */
@media (prefers-reduced-motion: reduce){
.v3 .tz-root .v3-float,.v3 .tz-root .v3-bob,.v3 .tz-root .v3-dash,.v3 .tz-root .v3-pulse,.v3 .tz-root .v3-chip{animation:none !important}
.v3 .tz-root .v3-run{display:none}
.v3 .tz-root .v3-grow,.v3 .tz-root .v3-pop,.v3 .tz-root .v3-l0,.v3 .tz-root .v3-l1,.v3 .tz-root .v3-l2,.v3 .tz-root .v3-chip,.v3 .tz-root .v3-seg{transition:none !important}
:where(html.tz-js) .v3 .tz-root .reveal:not(.in) .v3-grow,:where(html.tz-js) .v3 .tz-root .reveal:not(.in) .v3-pop{transform:none;opacity:1}
:where(html.tz-js) .v3 .tz-root .reveal:not(.in) .v3-chip{opacity:1}
}
.static-mode .v3 .tz-root .v3-float,.static-mode .v3 .tz-root .v3-bob,.static-mode .v3 .tz-root .v3-dash,.static-mode .v3 .tz-root .v3-pulse,.static-mode .v3 .tz-root .v3-chip,html.static-mode .tz-root .v3-float,html.static-mode .tz-root .v3-bob,html.static-mode .tz-root .v3-dash,html.static-mode .tz-root .v3-pulse,html.static-mode .tz-root .v3-chip{animation:none !important}
html.static-mode .tz-root .v3-run{display:none}
/* ---------- 10. phones ---------- */
@media (max-width:1000px){
.v3 .tz-root .v3-wheelwrap{grid-template-columns:1fr}
.v3 .tz-root .v3-wheel{max-width:320px}
.v3 .tz-root .v3-orbitwrap{grid-template-columns:1fr}
}
@media (max-width:680px){
.v3 .tz-root .v3-scene{max-width:440px}
.v3 .tz-root .v3-chip{font-size:11.5px;padding:7px;padding-inline-end:11px;gap:7px;max-width:70%;animation:none;transform:none}
.v3 .tz-root .v3-chip .v3-ci{width:24px;height:24px;border-radius:8px}.v3 .tz-root .v3-chip .v3-ci svg{width:13px;height:13px}
.v3 .tz-root .v3-l0,.v3 .tz-root .v3-l1,.v3 .tz-root .v3-l2{transform:none}
.v3 .tz-root .v3-fig{padding:16px 12px 14px}
.v3 .tz-root .v3-tag text{font-size:17px}.v3 .tz-root .v3-tag rect{transform-box:fill-box;transform-origin:center;transform:scale(1.25,1.3)}
.v3 .tz-root .v3-legend{font-size:12.5px;gap:6px 12px}
.v3 .tz-root .v3-wheelwrap .journey-grid,.v3 .tz-root .v3-wheelwrap .e4-flow{grid-template-columns:1fr !important}
.v3 .tz-root .v3-wheel{max-width:270px}
.v3 .tz-root .v3-wheel-c b{font-size:13.5px}
.v3 .tz-root .v3-orb-t{display:none}
.v3 .tz-root .v3-orbit-legend{display:flex}
.v3 .tz-root .v3-orbit-fig{max-width:420px}
.v3 .tz-root .v3-orbit-c b{font-size:12px}.v3 .tz-root .v3-orbit-c small{font-size:8.5px}
.v3 .tz-root .v3-orbitwrap .e4-summary{grid-template-columns:1fr 1fr}
.v3 .tz-root .showcase.e4-showcase .sc-card{margin-top:2px}
}
@media (max-width:360px){
.v3 .tz-root .v3-chip{font-size:10.5px;max-width:78%}
.v3 .tz-root .v3-orbitwrap .e4-summary{grid-template-columns:1fr}
}
/* ---------- 11. GLASS revision (Owner: glossy, rounded, saturated, glass — not an infographic) ---------- */
.v3 .tz-root .v3-scene.v3-glass::before{inset:2% -2% 0;background:radial-gradient(closest-side,rgba(34,211,238,.30),rgba(34,211,238,0));filter:blur(22px)}
.v3 .tz-root .v3-col{transition:transform .95s cubic-bezier(.2,.8,.2,1) var(--d,0ms),opacity .45s ease var(--d,0ms),filter .3s}
.v3 .tz-root .v3-scene.in .v3-col.v3-hov:hover,.v3 .tz-root .v3-fig.in .v3-col.v3-hov:hover{filter:brightness(1.12) saturate(1.1)}
.v3 .tz-root .v3-chip{border-radius:16px;background:linear-gradient(145deg,rgba(255,255,255,.28),rgba(124,243,255,.10) 55%,rgba(255,255,255,.09));border:1px solid rgba(200,250,255,.55);
  backdrop-filter:blur(14px) saturate(1.5);-webkit-backdrop-filter:blur(14px) saturate(1.5);box-shadow:0 18px 34px -16px rgba(0,0,0,.55),0 0 24px -6px rgba(34,211,238,.6),inset 0 1px 0 rgba(255,255,255,.55)}
.v3 .tz-root .v3-chip .v3-ci{border-radius:11px;background:linear-gradient(145deg,#8EF1FA,#0B97B0);box-shadow:inset 0 1px 0 rgba(255,255,255,.65),inset 0 -3px 4px rgba(0,60,80,.3),0 0 12px rgba(34,211,238,.6)}
.v3 .tz-root .v3-chip.gold .v3-ci{background:linear-gradient(145deg,#FFE9A6,#EFA826);color:#5A3A06;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),inset 0 -3px 4px rgba(120,70,0,.3),0 0 12px rgba(247,192,74,.6)}
/* light figures: a glass card */
.v3 .tz-root .v3-fig.v3-glass{background:linear-gradient(160deg,#fff 0,#ECF9FB 58%,#FFF8E6 100%);border:1px solid rgba(25,198,222,.28);border-radius:26px;box-shadow:0 30px 60px -34px rgba(8,56,74,.45),inset 0 1px 0 #fff}
.v3 .tz-root .v3-legend i{border-radius:50%;width:13px;height:13px;background:radial-gradient(circle at 32% 28%,#C8FCFF,#12CCEC 45%,#0786A6)}
.v3 .tz-root .v3-legend i.m-petrol{background:radial-gradient(circle at 32% 28%,#8AD0FF,#1479C9 45%,#063A6B)}
.v3 .tz-root .v3-legend i.m-gold{background:radial-gradient(circle at 32% 28%,#FFEDB0,#F6B52E 45%,#A8650F)}
.v3 .tz-root .v3-legend i.m-mist{background:radial-gradient(circle at 32% 28%,#fff,#DDF3F6 45%,#7FA9B4)}
.v3 .tz-root .v3-legend i.m-cyan{background:radial-gradient(circle at 32% 28%,#C8FCFF,#12CCEC 45%,#0786A6)}
/* process wheel: glass ring on a dark glass disc */
.v3 .tz-root .v3-wheel{border-radius:50%;background-color:#073345;background-image:radial-gradient(circle at 32% 24%,#1787A6 0,#0A4860 46%,#052836 100%);box-shadow:0 34px 60px -30px rgba(8,56,74,.75),0 0 0 8px rgba(34,211,238,.08),inset 0 2px 0 rgba(255,255,255,.18)}
.v3 .tz-root .v3-seg{opacity:.9}
.v3 .tz-root .v3-seg.on{opacity:1;transform:scale(1.08);filter:brightness(1.12)}
.v3 .tz-root .v3-wn{font-size:17px}
.v3 .tz-root .v3-wheel-c small{color:#BFF8FF}
.v3 .tz-root .v3-wheel-c b{color:#fff;text-shadow:0 1px 2px rgba(0,30,45,.5)}
.v3 .tz-root .v3-wheelwrap .j-step,.v3 .tz-root .v3-wheelwrap .fs{background:linear-gradient(160deg,#fff,#EEFAFC);border-color:rgba(25,198,222,.22);border-radius:18px}
.v3 .tz-root .v3-wheelwrap .j-step.v3-on,.v3 .tz-root .v3-wheelwrap .fs.v3-on{border-color:#19C6DE;box-shadow:0 0 0 3px rgba(34,211,238,.16),0 22px 38px -22px rgba(8,56,74,.5)}
/* orbit: glossy orbs on a dark glass stage */
.v3 .tz-root .v3-orbit-fig{border-radius:30px;overflow:hidden;background-color:#073345;background-image:radial-gradient(circle at 28% 20%,#15809E 0,#0A4860 44%,#052836 100%);box-shadow:0 34px 60px -32px rgba(8,56,74,.75),inset 0 1px 0 rgba(255,255,255,.2),inset 0 0 0 1px rgba(124,243,255,.25)}
.v3 .tz-root .v3-orb-t{fill:#fff}
.v3 .tz-root .v3-orbit-c small{color:#BFF8FF}
.v3 .tz-root .v3-orbit-c b{color:#fff;text-shadow:0 1px 2px rgba(0,30,45,.5)}
.v3 .tz-root .v3-orbit.in .v3-sat:hover{transform:scale(1.1);filter:brightness(1.1)}
/* glossy numeral beads + glass ribbon cards */
.v3 .tz-root .j-num,.v3 .tz-root .method-strip .ms-n,.v3 .tz-root .e4-node,.v3 .tz-root .tl > i,.v3 .tz-root .article ol li::before{background-color:#0A7A94 !important;background-image:radial-gradient(circle at 30% 22%,#8EF1FA 0,#1AA9C6 24%,#0A7A94 55%,#064A60 100%) !important;
  box-shadow:inset 0 -3px 5px rgba(0,40,60,.35),0 8px 16px -6px rgba(11,151,176,.75),0 0 0 3px rgba(34,211,238,.14)}
.v3 .tz-root .e4-node.gold,.v3 .tz-root .e4-timeline .tn.is-done.last .e4-node{background-color:#F6B52E !important;background-image:radial-gradient(circle at 30% 22%,#FFF3C4 0,#F6B52E 45%,#C9841A 100%) !important;color:#4A2F04 !important}
.v3 .tz-root .e4-timeline .tn:not(.is-done) .e4-node{background-color:#DDE9ED !important;background-image:radial-gradient(circle at 30% 22%,#fff 0,#DDE9ED 50%,#B4C8CF 100%) !important}
.v3 .tz-root .method-strip .ms-item{background:linear-gradient(165deg,#fff,#EEFAFC);border:1px solid rgba(25,198,222,.22);border-top:5px solid #19C6DE;border-radius:20px}
.v3 .tz-root .method-strip .ms-item:nth-child(3n/**/+2){border-top-color:#1479C9}.v3 .tz-root .method-strip .ms-item:nth-child(3n){border-top-color:#F6B52E}
.v3 .tz-root .method-strip .ms-item:hover{box-shadow:0 0 0 3px rgba(34,211,238,.14),0 26px 42px -24px rgba(8,56,74,.5)}
@media (max-width:680px){.v3 .tz-root .v3-orbit-fig{border-radius:22px}.v3 .tz-root .v3-wn{font-size:19px}.v3 .tz-root .v3-orbit-c small{display:none}}
/* ---------- 12. REAL revision: rendered scenes (ray-marched frames: base = holograms off, full = finished frame) ---------- */
@property --v3p{syntax:"<percentage>";inherits:false;initial-value:120%}
.v3 .tz-root .v3-scene.v3-real{max-width:720px;perspective:1200px}
.v3 .tz-root .v3-scene.v3-real::before{display:none}
.v3 .tz-root .v3r-tilt{position:relative;transform:rotateX(calc(var(--py,0) * -2.4deg)) rotateY(calc(var(--px,0) * 3.2deg));transition:transform .8s cubic-bezier(.2,.7,.2,1);transform-style:preserve-3d;will-change:transform}
.v3 .tz-root .v3r-stage{position:relative;aspect-ratio:5/4;
  -webkit-mask-image:linear-gradient(to right,transparent 0,#000 11%,#000 89%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 10%,#000 87%,transparent 100%);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(to right,transparent 0,#000 11%,#000 89%,transparent 100%),linear-gradient(to bottom,transparent 0,#000 10%,#000 87%,transparent 100%);mask-composite:intersect}
.v3 .tz-root .v3r-stage img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;max-width:none;border-radius:0}
.v3 .tz-root .v3r-full{--v3p:120%;-webkit-mask-image:linear-gradient(to top,#000 calc(var(--v3p) - 16%),transparent var(--v3p));mask-image:linear-gradient(to top,#000 calc(var(--v3p) - 16%),transparent var(--v3p));
  transition:--v3p 2.4s cubic-bezier(.45,0,.2,1) .55s,opacity .3s ease .5s}
:where(html.tz-js) .v3 .tz-root .reveal:not(.in) .v3r-full:not(.v3r-only),.v3 .tz-root .v3-wait .v3r-full:not(.v3r-only){--v3p:0%;opacity:0}
.v3 .tz-root .in:not(.v3-wait) > .v3r-tilt .v3r-full:not(.v3r-only),.v3 .tz-root .in:not(.v3-wait) .v3r-card .v3r-full:not(.v3r-only){animation:v3rBreath 6s ease-in-out 2.6s infinite}
@keyframes v3rBreath{0%,100%{opacity:1}50%{opacity:.84}}
.v3 .tz-root .v3-done .v3r-full{-webkit-mask-image:none;mask-image:none}
.v3 .tz-root .v3r-fx{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;transform:translateZ(34px)}
.v3 .tz-root .v3r-run{fill:#FFF4D6;offset-rotate:0deg;opacity:0;filter:drop-shadow(0 0 6px #FFD27A)}
.v3 .tz-root .in:not(.v3-wait) .v3r-run{animation:v3run 4.6s linear 2.4s infinite}
.v3 .tz-root .v3r-spark{fill:#CFF7FF;opacity:0;transform-box:fill-box;filter:drop-shadow(0 0 4px #5FD8FF)}
.v3 .tz-root .in:not(.v3-wait) .v3r-spark{animation:v3rRise 4.2s ease-out infinite;animation-delay:calc(2.2s + var(--d,0ms))}
@keyframes v3rRise{0%{opacity:0;transform:translate(0,0)}14%{opacity:.95}100%{opacity:0;transform:translate(var(--dx,0),-74px)}}
.v3 .tz-root .v3-scene.v3-real .v3-chip{z-index:3}
/* hero placement: the frame melts into the hero, so it is allowed to be larger than its column */
.v3 .tz-root .hero,.v3 .tz-root .page-hero{overflow-x:clip}
.v3 .tz-root .showcase.e4-showcase .showcase-card::after,.v3 .tz-root .hero-figure.e4-fig::after{display:none}
.v3 .tz-root .showcase.e4-showcase .v3-scene.v3-real{width:134%;max-width:none;margin-inline-start:-17%;margin-top:-40px;margin-bottom:-46px}
.v3 .tz-root .hero-figure.e4-fig .v3-scene.v3-real{width:132%;max-width:none;margin-inline-start:-16%;margin-top:-36px;margin-bottom:-34px}
.v3 .tz-root .v3r-wheel{position:relative;width:100%}
.v3 .tz-root .v3-realwheel .v3-seg{pointer-events:none}
/* rendered section figures: a dark stage card in a light section */
.v3 .tz-root .v3-fig.v3-realfig{background:#07303E;background-image:radial-gradient(120% 90% at 30% 0%,#0E4A5E 0,#07303E 55%,#052632 100%);border:1px solid rgba(124,243,255,.22);border-radius:26px;padding:0;overflow:hidden;box-shadow:0 34px 64px -34px rgba(8,56,74,.7),inset 0 1px 0 rgba(255,255,255,.14);max-width:820px}
.v3 .tz-root .v3-realfig .v3-fig-head{position:absolute;inset-inline:22px;top:16px;z-index:3;margin:0}
.v3 .tz-root .v3-realfig .v3-fig-head b{color:#fff;font-size:16px}
.v3 .tz-root .v3-realfig .v3-fig-head span{color:#BFF4FF}
.v3 .tz-root .v3-realfig .v3r-card{position:relative}
.v3 .tz-root .v3-realfig .v3r-stage{-webkit-mask-image:none;mask-image:none}
.v3 .tz-root .v3-realfig .v3r-tilt,.v3 .tz-root .v3-realorbit .v3r-tilt{transform:none}
.v3 .tz-root .v3r-tags{position:absolute;inset:0;pointer-events:none;z-index:2}
.v3 .tz-root .v3r-tag{position:absolute;transform:translate(-50%,-100%);padding:4px 10px;border-radius:999px;font-family:var(--font-body);font-weight:700;font-size:13px;line-height:1.2;color:#fff;white-space:nowrap;
  background:linear-gradient(145deg,rgba(255,255,255,.26),rgba(124,243,255,.10));border:1px solid rgba(200,250,255,.5);backdrop-filter:blur(10px) saturate(1.4);-webkit-backdrop-filter:blur(10px) saturate(1.4);box-shadow:0 10px 22px -10px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.45);
  transition:opacity .6s ease calc(1.2s + var(--d,0ms)),transform .7s cubic-bezier(.2,.8,.2,1) calc(1.2s + var(--d,0ms))}
.v3 .tz-root .v3r-tag.gold{background-color:#F3B846;background-image:linear-gradient(145deg,rgba(255,233,166,.95),rgba(239,168,38,.95));color:#3E2803;border-color:rgba(255,244,214,.9)}
:where(html.tz-js) .v3 .tz-root .reveal:not(.in) .v3r-tag{opacity:0;transform:translate(-50%,-70%)}
.v3 .tz-root .v3-realfig .v3-legend{position:relative;margin:0;padding:12px 18px 16px;color:#DDF3F6;background:linear-gradient(180deg,rgba(5,38,50,0),rgba(5,38,50,.55));margin-top:-34px;z-index:2}
.v3 .tz-root .v3-realfig .v3-legend b{color:#fff}
.v3 .tz-root .v3-realfig .v3-legend i.m-mist{background:radial-gradient(circle at 32% 28%,#fff,#CFE7EC 45%,#7FA9B4)}
/* rendered process wheel and orbit */
.v3 .tz-root .v3-wheel.v3-realwheel{border-radius:28px;background:#07303E;box-shadow:0 34px 60px -32px rgba(8,56,74,.75),inset 0 0 0 1px rgba(124,243,255,.22);overflow:hidden;max-width:480px;aspect-ratio:auto}
.v3 .tz-root .v3-wheelwrap:has(.v3-realwheel){grid-template-columns:minmax(280px,480px) minmax(0,1fr)}
.v3 .tz-root .v3-realwheel img{position:absolute;inset:0;width:100%;height:100%;display:block;max-width:none}
.v3 .tz-root .v3-realwheel .v3-seg{position:absolute;opacity:0;transition:opacity .35s ease;cursor:pointer;transform:none !important;filter:none !important}
.v3 .tz-root .v3-realwheel .v3-seg.on{opacity:1}
.v3 .tz-root .v3-realwheel .v3-seg img{position:absolute;inset:0;width:100%;height:100%}
.v3 .tz-root .v3-realwheel .v3-hit{position:absolute;width:15%;aspect-ratio:1/1;transform:translate(-50%,-50%);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:var(--font-body);font-weight:700;font-size:17px;color:#fff;text-shadow:0 1px 3px rgba(0,20,30,.8);z-index:3}
.v3 .tz-root .v3-realwheel .v3-wheel-c{inset:auto;left:var(--hx,50%);top:var(--hy,50%);width:27%;transform:translate(-50%,-50%);z-index:3}
.v3 .tz-root .v3-orbit-fig.v3-realorbit{aspect-ratio:auto;background:#07303E}
.v3 .tz-root .v3-realorbit img{display:block;width:100%;height:auto;max-width:none}
.v3 .tz-root .v3-realorbit .v3r-stage{-webkit-mask-image:none;mask-image:none}
.v3 .tz-root .v3r-lab{position:absolute;transform:translate(-50%,-50%);font-family:var(--font-body);font-weight:700;font-size:12.5px;line-height:1.2;color:#fff;white-space:nowrap;padding:5px 10px;border-radius:999px;background:linear-gradient(145deg,rgba(255,255,255,.22),rgba(124,243,255,.08));border:1px solid rgba(200,250,255,.45);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 10px 22px -10px rgba(0,0,0,.6);z-index:3}
.v3 .tz-root .v3r-lab.hub{background-color:#F3B846;background-image:linear-gradient(145deg,rgba(255,233,166,.96),rgba(239,168,38,.96));color:#3E2803;border-color:rgba(255,244,214,.9)}
@media (prefers-reduced-motion: reduce){
.v3 .tz-root .v3r-full,.v3 .tz-root .v3r-tag{transition:none !important;animation:none !important}
.v3 .tz-root .v3r-tilt{transform:none !important;transition:none}
.v3 .tz-root .v3r-run,.v3 .tz-root .v3r-spark{display:none}
:where(html.tz-js) .v3 .tz-root .reveal:not(.in) .v3r-full:not(.v3r-only),.v3 .tz-root .v3-wait .v3r-full:not(.v3r-only){--v3p:120%;opacity:1}
:where(html.tz-js) .v3 .tz-root .reveal:not(.in) .v3r-tag{opacity:1;transform:translate(-50%,-100%)}
}
html.static-mode .tz-root .v3r-full,html.static-mode .tz-root .v3r-tag,html.static-mode .tz-root .v3-chip{transition:none !important;animation:none !important}
html.static-mode .tz-root .v3r-run,html.static-mode .tz-root .v3r-spark{display:none}
@media (max-width:1000px){.v3 .tz-root .showcase.e4-showcase .v3-scene.v3-real,.v3 .tz-root .hero-figure.e4-fig .v3-scene.v3-real{width:100%;max-width:720px;margin-inline:auto;margin-top:-6px;margin-bottom:-10px}.v3 .tz-root .v3-wheelwrap:has(.v3-realwheel){grid-template-columns:1fr}}
@media (max-width:680px){
.v3 .tz-root .v3-scene.v3-real{max-width:520px}
.v3 .tz-root .showcase.single.e4-showcase .showcase-card{height:auto !important}
.v3 .tz-root .showcase.e4-showcase .v3-scene.v3-real,.v3 .tz-root .hero-figure.e4-fig .v3-scene.v3-real{margin-top:0;margin-bottom:4px}
.v3 .tz-root .v3-real > .v3-chip:nth-last-child(2){--x:3% !important;--y:0% !important}
.v3 .tz-root .v3-real > .v3-chip:last-child{--x:40% !important;--y:76% !important}
.v3 .tz-root .v3r-tilt{transform:none}
.v3 .tz-root .v3r-fx{transform:none}
.v3 .tz-root .v3r-tag{font-size:11.5px;padding:3px 8px}
.v3 .tz-root .v3-realfig .v3-fig-head{inset-inline:14px;top:12px}
.v3 .tz-root .v3-realfig .v3-fig-head b{font-size:14px}
.v3 .tz-root .v3-realfig .v3-legend{margin-top:-14px;padding:10px 12px 14px}
.v3 .tz-root .v3r-lab{font-size:11px;padding:4px 8px}
.v3 .tz-root .v3-realwheel .v3-hit{font-size:14px}
}
/* ---------- 13. Page sweep (owner review, 2 Oct): layout holes, covered sections, invisible icons ---------- */
/* 13.1 'Start here' sections — two real columns. The baseline put four blocks (copy, review line, form, presence row) straight
   into a two-column grid, which left two empty cells. Column A: copy + illustrated kit (or the presence row); column B: review line + form (+ presence row). */
.v3 .tz-root .v3-start{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:34px;align-items:stretch}
.v3 .tz-root .v3-start > .v3-col{display:flex;flex-direction:column;min-width:0}
.v3 .tz-root .v3-start > .v3-col > *{flex:0 0 auto}
.v3 .tz-root .v3-start > .v3-col-a > .presence-row{margin-top:30px;flex:1 1 auto}
.v3 .tz-root .v3-start > .v3-col-a > .presence-row > *{height:100%}
.v3 .tz-root .v3-start > .v3-col-b{justify-content:space-between}
.v3 .tz-root .v3-start > .v3-col-b > .lead-card{height:auto}
.v3 .tz-root .v3-start > .v3-col-b > .review-line{margin-bottom:22px}
.v3 .tz-root .v3-start .editorial-copy > p{max-width:none}
@media (max-width:1024px){
.v3 .tz-root .v3-start{grid-template-columns:minmax(0,1fr);gap:22px}
.v3 .tz-root .v3-start > .v3-col{display:contents}
.v3 .tz-root .v3-start .editorial-copy{order:1}.v3 .tz-root .v3-start .v3-kit{order:2}.v3 .tz-root .v3-start .review-line{order:3;margin-bottom:0}.v3 .tz-root .v3-start .lead-card{order:4}.v3 .tz-root .v3-start .presence-row{order:5;margin-top:0}
}
/* 13.2 icons on petrol tiles keep their own colour inside components that colour every <span> (the icon was painted in the text colour: dark on dark) */
.e4 .tz-root .e4-ledgerflow .lf span.e4-mark{color:#fff}
/* 13.3 section heads sit centred over their section (they were start-aligned above full-width content, which left half of the row empty).
   Heads that share a row with another block (.doc-light-row) keep their start alignment. */
.v3 .tz-root .container > .section-head.chapter,.v3 .tz-root .container > .section-head.start{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:880px;margin-inline:auto;gap:0}
.v3 .tz-root .container > .section-head.chapter > .e4-mark,.v3 .tz-root .container > .section-head.chapter > .e4-bars,.v3 .tz-root .container > .section-head.chapter > .e4-tab{margin:0 0 14px;align-self:center}
.v3 .tz-root .container > .section-head.chapter .eyebrow,.v3 .tz-root .container > .section-head.start .eyebrow{margin-bottom:10px}
.v3 .tz-root .container > .section-head.chapter .eyebrow::after,.v3 .tz-root .container > .section-head.start .eyebrow::after{content:"";display:block;width:34px;height:2px;background:var(--gold);border-radius:2px}
.v3 .tz-root .container > .section-head.chapter h2,.v3 .tz-root .container > .section-head.start h2{max-width:24em}
.v3 .tz-root .container > .section-head.chapter p,.v3 .tz-root .container > .section-head.start p{max-width:720px}
.v3 .tz-root .container > .section-head.chapter .sh-side{justify-content:center}
/* 13.4 pull quotes: the seal sits centred on the top edge and the statement is centred under it (it hung off the end corner) */
.v3 .tz-root .e4-pull,[dir="rtl"] .v3 .tz-root .e4-pull{text-align:center;padding:46px 48px 34px}
.v3 .tz-root .e4-pull::before{left:50%;right:auto;top:0;bottom:auto;width:150px;height:4px;border-radius:0 0 6px 6px;transform:translateX(-50%);background:linear-gradient(90deg,var(--gold-2),var(--teal))}
.v3 .tz-root .e4-pull .e4-seal{inset-inline:auto;left:50%;top:-27px;transform:translateX(-50%)}
.v3 .tz-root .e4-pull q{max-width:36em;margin-inline:auto}
@media (max-width:680px){.v3 .tz-root .e4-pull,[dir="rtl"] .v3 .tz-root .e4-pull{padding:28px 22px 24px}}
/* 13.6 compact footer (owner: too tall — it was 885px at 1440): the service groups and the site links flow in two sub-columns each, rows are tighter */
@media (min-width:1100px){
.v3 .tz-root .footer.v2 .footer-grid.v4{grid-template-columns:minmax(190px,1fr) auto auto minmax(236px,.92fr);gap:22px 28px;padding-block:40px 20px;align-items:start}
.v3 .tz-root .footer.v2 .footer-grid.v4 > div:nth-child(2){display:grid;grid-auto-flow:column;grid-template-rows:auto auto;gap:14px 26px;align-content:start}
.v3 .tz-root .footer.v2 .footer-grid.v4 > div:nth-child(3){display:grid;grid-auto-flow:column;gap:14px 26px;align-content:start}
}
@media (min-width:1280px){.v3 .tz-root .footer .f-group a,.v3 .tz-root .footer.v2 .f-group h4{white-space:nowrap}}
.v3 .tz-root .footer.v2 .f-group{margin-bottom:0}
/* tablet and phone: brand beside the contact card, then the service groups and the site links, each in two sub-columns (phone: one column of those blocks) */
@media (max-width:1099px){
.v3 .tz-root .footer.v2 .footer-grid.v4{grid-template-columns:1fr 1fr;gap:26px 32px;padding-block:40px 22px;align-items:start}
.v3 .tz-root .footer.v2 .footer-grid.v4 > .f-contact-card{order:2}
.v3 .tz-root .footer.v2 .footer-grid.v4 > div:nth-child(2){order:3}
.v3 .tz-root .footer.v2 .footer-grid.v4 > div:nth-child(3){order:4}
.v3 .tz-root .footer.v2 .footer-grid.v4 > div:nth-child(2),.v3 .tz-root .footer.v2 .footer-grid.v4 > div:nth-child(3){display:grid;grid-template-columns:1fr 1fr;gap:18px 22px;align-content:start}
}
@media (max-width:680px){.v3 .tz-root .footer.v2 .footer-grid.v4{grid-template-columns:1fr;gap:24px}}
.v3 .tz-root .footer.v2 .f-group h4,.v3 .tz-root .footer.v2 .f-contact-card h4{margin-bottom:8px;font-size:12.5px}
[dir="rtl"] .v3 .tz-root .footer.v2 .f-group h4,[dir="rtl"] .v3 .tz-root .footer.v2 .f-contact-card h4{font-size:14px}
.v3 .tz-root .footer.v2 .f-group li{margin-bottom:2px}
.v3 .tz-root .footer a{font-size:14px}
.v3 .tz-root .footer .f-group a{display:inline-block;padding:2px 0;line-height:1.5}
.v3 .tz-root .footer .f-logo img{height:46px;margin-bottom:14px}
.v3 .tz-root .footer .f-about{font-size:14px;line-height:1.6;max-width:none}
.v3 .tz-root .footer .f-taan{margin-top:14px}
.v3 .tz-root .footer.v2 .f-contact-card{padding:16px 18px 14px}
.v3 .tz-root .footer.v2 .f-contact-card .f-contact li{margin-bottom:7px}
.v3 .tz-root .footer.v2 .f-contact-card .f-contact li span{font-size:13.5px}
[dir="rtl"] .v3 .tz-root .footer .f-contact li span{line-height:1.55}
.v3 .tz-root .footer.v2 .f-contact-card .btn{padding:10px 16px;margin-top:4px}
.v3 .tz-root .footer .f-lang{margin-top:12px}
.v3 .tz-root .footer .f-lang a{padding-block:6px}
.v3 .tz-root .footer-bottom{padding-block:14px}
@media (max-width:680px){.v3 .tz-root .footer .f-group a{padding:6px 0}.v3 .tz-root .footer.v2 .f-group{margin-bottom:10px}}
/* 13.5 the kit card: fills the free height of the copy column; the render covers the card, beads and legend carry the same numbers */
.v3 .tz-root .v3-start > .v3-col-a > .v3-kit{flex:1 1 300px}
.v3 .tz-root .v3-kit{position:relative;min-height:300px;margin:30px 0 0;border-radius:22px;overflow:hidden;container-type:size;isolation:isolate;
  background:radial-gradient(120% 90% at 30% 15%,#0E4254 0%,#062A37 58%,#041E28 100%);box-shadow:0 26px 54px -32px rgba(8,56,74,.6),inset 0 0 0 1px rgba(126,226,240,.14)}
.v3 .tz-root .v3-kit-stage{position:absolute;left:50%;top:50%;width:max(100cqw,calc(100cqh * var(--ar,1)));aspect-ratio:var(--ar,1);transform:translate(-50%,-50%)}
.v3 .tz-root .v3-kit-stage img{position:absolute;inset:0;width:100%;height:100%;display:block;max-width:none;border-radius:0;object-fit:cover}
.v3 .tz-root .v3-kit::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to top,rgba(4,26,35,.86) 0,rgba(4,26,35,.35) 30%,rgba(4,26,35,0) 52%),linear-gradient(to bottom,rgba(4,26,35,.55) 0,rgba(4,26,35,0) 26%)}
.v3 .tz-root .v3-kit.plain::after{background:linear-gradient(to top,rgba(4,26,35,.4) 0,rgba(4,26,35,0) 40%)}
.v3 .tz-root .v3-kit-t{position:absolute;z-index:2;inset-inline-start:20px;top:18px;display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#E9C987}
[dir="rtl"] .v3 .tz-root .v3-kit-t{letter-spacing:0;font-size:13.5px}
.v3 .tz-root .v3-kit-t::before{content:"";width:26px;height:2px;border-radius:2px;background:currentColor}
.v3 .tz-root .v3-kit figcaption{position:absolute;z-index:2;inset-inline:18px;bottom:16px;display:flex;flex-wrap:wrap;gap:8px}
.v3 .tz-root .v3-kit figcaption span{display:inline-flex;align-items:center;gap:8px;padding:6px 13px 6px 7px;border-radius:999px;background:rgba(6,40,52,.66);border:1px solid rgba(126,226,240,.3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#EDF7F9;font-size:13px;font-weight:600;line-height:1.25}
[dir="rtl"] .v3 .tz-root .v3-kit figcaption span{padding:6px 7px 6px 13px;font-size:13.5px}
.v3 .tz-root .v3-kit figcaption i,.v3 .tz-root .v3-kit-n{font-style:normal;display:grid;place-items:center;width:21px;height:21px;border-radius:50%;flex:none;background:linear-gradient(150deg,#EBCB85,#B98F3F);color:#0B2A35;font:700 11.5px/1 var(--font-body);box-shadow:0 2px 6px rgba(0,0,0,.35)}
.v3 .tz-root .v3-kit figcaption i.ck{background:rgba(63,193,208,.18);box-shadow:inset 0 0 0 1px rgba(126,226,240,.5)}
.v3 .tz-root .v3-kit figcaption i.ck::before{content:"";width:9px;height:5px;border-left:2px solid #8DE7F2;border-bottom:2px solid #8DE7F2;transform:translateY(-1px) rotate(-45deg)}
.v3 .tz-root .v3-kit-n{position:absolute;z-index:2;width:26px;height:26px;font-size:13px;transform:translate(-50%,-50%);box-shadow:0 0 0 4px rgba(235,203,133,.22),0 6px 14px rgba(0,0,0,.45);transition:opacity .5s ease var(--d,0ms),transform .6s cubic-bezier(.2,.9,.3,1.3) var(--d,0ms)}
:where(html.tz-js) .v3 .tz-root .reveal:not(.in) .v3-kit-n{opacity:0;transform:translate(-50%,-20%)}
@media (max-width:1024px){.v3 .tz-root .v3-kit{min-height:0;aspect-ratio:16/10;margin-top:0}}
@media (max-width:680px){.v3 .tz-root .v3-kit{aspect-ratio:4/3}.v3 .tz-root .v3-kit figcaption span{font-size:12px}}
@media (prefers-reduced-motion:reduce){.v3 .tz-root .v3-kit-n{transition:none}}
/* 13.7 client-centre lanes: both lanes carry the same structure — text, three cards in a row, actions (one was a stretched card with an empty middle, the other kept its routes in a narrow column) */
.v3 .tz-root .cc-lane{gap:12px}
.v3 .tz-root .cc-lane > .reach,.v3 .tz-root .cc-lane > .v3-lane-steps{order:3;align-self:stretch;flex:0 0 auto;margin-top:auto !important;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:8px 0 0;list-style:none}
.v3 .tz-root .cc-lane > .lane-cta{order:4;margin-top:0;padding-top:10px}
.v3 .tz-root .cc-lane .reach a{grid-template-columns:minmax(0,1fr);gap:7px;padding:14px 14px 13px;align-content:start}
.v3 .tz-root .cc-lane .reach .rc-ico{grid-row:auto}
.v3 .tz-root .cc-lane .reach span{white-space:normal;overflow-wrap:anywhere}
.v3 .tz-root .v3-lane-steps li{position:relative;display:grid;gap:7px;align-content:start;padding:14px 14px 13px;border-radius:13px;background:rgba(255,255,255,.055);border:1px solid rgba(126,226,240,.22)}
.v3 .tz-root .v3-lane-steps li i{font-style:normal;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:radial-gradient(circle at 34% 28%,#8BE9F4,#1A9DAD 52%,#0A5563);color:#fff;font:700 15px/1 var(--font-body);box-shadow:0 8px 16px -8px rgba(0,0,0,.7),inset 0 -4px 7px rgba(0,0,0,.28),inset 0 2px 3px rgba(255,255,255,.35)}
.v3 .tz-root .v3-lane-steps li b{color:#fff;font-size:16px;line-height:1.3;font-family:var(--font-body);font-weight:700}
.v3 .tz-root .v3-lane-steps li span{color:var(--slate-200);font-size:13px;line-height:1.45}
.v3 .tz-root .v3-lane-steps li:not(:last-child)::after{content:"";position:absolute;inset-inline-end:-11px;top:32px;width:11px;height:2px;background:rgba(126,226,240,.5)}
@media (max-width:680px){
.v3 .tz-root .cc-lane > .reach,.v3 .tz-root .cc-lane > .v3-lane-steps{grid-template-columns:minmax(0,1fr);gap:8px}
.v3 .tz-root .cc-lane .reach a,.v3 .tz-root .v3-lane-steps li{grid-template-columns:auto minmax(0,1fr);gap:2px 12px;align-items:center;padding:11px 14px}
.v3 .tz-root .cc-lane .reach .rc-ico,.v3 .tz-root .v3-lane-steps li i{grid-row:1/span 2}
.v3 .tz-root .v3-lane-steps li:not(:last-child)::after{display:none}
}
/* 13.8 'find us' office card: a later rule for a different .office-card (the small presence card) turned this one into a two-column grid with
   empty cells. It is a single column again: heading, three contact rows, hours in one row, actions at the bottom. */
.v3 .tz-root .findus-grid .office-card{display:flex;flex-direction:column;gap:0;padding:34px 36px 30px;border:0;border-top:2px solid var(--turquoise);border-radius:var(--radius)}
.v3 .tz-root .findus-grid .office-card > p{margin-bottom:22px}
.v3 .tz-root .findus-grid .office-card .o-rows{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-bottom:22px}
.v3 .tz-root .findus-grid .office-card .o-row b{display:block;font:700 11.5px/1.35 var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--teal-text)}
[dir="rtl"] .v3 .tz-root .findus-grid .office-card .o-row b{letter-spacing:0;font-size:13px}
.v3 .tz-root .findus-grid .office-card .o-row span,.v3 .tz-root .findus-grid .office-card .o-row a{display:block;font-size:15.5px;line-height:1.5;color:var(--petrol);font-weight:500}
.v3 .tz-root .findus-grid .office-card .o-row .oico{display:grid}
.v3 .tz-root .findus-grid .office-card .hours{margin-bottom:24px}
.v3 .tz-root .findus-grid .office-card .hours-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.v3 .tz-root .findus-grid .office-card .hours-pill{flex-direction:column;gap:2px;padding:10px 14px}
.v3 .tz-root .findus-grid .office-card .hours-pill b{display:block;font:600 14.5px/1.35 var(--font-body);color:var(--petrol)}
.v3 .tz-root .findus-grid .office-card .hours-pill span{display:block;font-size:13px;line-height:1.4;color:var(--slate-700)}
.v3 .tz-root .findus-grid .office-card .hours-pill.closed b,.v3 .tz-root .findus-grid .office-card .hours-pill.closed span{color:#8F2F2C}
.v3 .tz-root .findus-grid .office-card .office-ctas{margin-top:auto}
.v3 .tz-root .findus-grid .office-card .office-online{display:block;margin-top:16px}
.v3 .tz-root .findus-grid .office-card .office-online svg{display:inline-block}
@media (max-width:680px){.v3 .tz-root .findus-grid .office-card{padding:26px 22px 24px}.v3 .tz-root .findus-grid .office-card .hours-grid{grid-template-columns:1fr 1fr}}
/* 13.9 the map wears the brand (owner: no red roads, no light blue, no gold lines — a dark blue ground, the line work in white, every
   feature readable, only the pin in gold). See map_duo.py for the three steps; once the visitor takes the map over, the overlay pin steps aside. */
.v3 .tz-root .map-wrap{background:#0A2E3E;border-color:rgba(190,238,243,.3);isolation:isolate}
.v3 .tz-root .map-wrap .v3-map-core{position:absolute;inset:0;isolation:isolate;filter:brightness(2.5) hue-rotate(240deg) grayscale(1) contrast(1.3)}
.v3 .tz-root .map-wrap .v3-map-core iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:none}
.v3 .tz-root .map-wrap .v3-map-diff{position:absolute;inset:0;pointer-events:none;background:#F2EFE9;mix-blend-mode:difference}
.v3 .tz-root .map-wrap .v3-map-tint{position:absolute;inset:0;z-index:1;pointer-events:none;background:#0F6C8F;mix-blend-mode:color}
.v3 .tz-root .map-wrap .v3-map-navy{position:absolute;inset:0;z-index:1;pointer-events:none;background:#0A2F40;mix-blend-mode:lighten}
.v3 .tz-root .map-wrap .map-fallback{background:linear-gradient(160deg,#0C3344 0%,#06222E 100%);color:#CFE3E8}
.v3 .tz-root .map-wrap .map-fallback b{color:#EBCB85}.v3 .tz-root .map-wrap .map-fallback svg{color:#EBCB85}
.v3 .tz-root .map-wrap::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;box-shadow:inset 0 0 80px rgba(4,22,30,.55);border-radius:inherit}
.v3 .tz-root .map-wrap::after{content:"";position:absolute;z-index:3;left:50%;top:50%;width:30px;height:30px;margin:-34px 0 0 -15px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);pointer-events:none;
  background:radial-gradient(circle at 50% 50%,#0B3B4A 0 26%,transparent 28%),linear-gradient(135deg,#F6E7BE,#C9A04E);box-shadow:0 0 0 2px #fff,0 0 0 9px rgba(235,203,133,.22),0 12px 22px -6px rgba(0,0,0,.7)}
.v3 .tz-root .map-wrap.active::after{display:none}
.v3 .tz-root .map-wrap .map-chip,.v3 .tz-root .map-wrap .map-activate{z-index:4;border-color:rgba(190,238,243,.45);background:rgba(5,28,38,.9)}
.v3 .tz-root .map-wrap .map-chip b svg,.v3 .tz-root .map-wrap .map-activate svg{color:#EBCB85}
/* 13.10 client stories: three equal cards on every page, one (gold) play button, sound on hover as soon as the browser allows it.
   (.t-grid.video-proof collided with the old featured .video-proof block and fell into two uneven columns.) */
.v3 .tz-root .t-grid.video-proof,.v3 .tz-root .t-grid.v3-stories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-bottom:0;background:none;border:0;box-shadow:none;border-radius:0;overflow:visible}
.v3 .tz-root .t-grid.v3-stories{margin-bottom:34px}
.v3 .tz-root .v3-stories .t-video,.v3 .tz-root .t-grid.video-proof .t-video{border-radius:20px;background:#06202A;box-shadow:0 22px 44px -26px rgba(8,56,74,.55)}
.v3 .tz-root .v3-stories .t-poster,.v3 .tz-root .t-grid.video-proof .t-poster{aspect-ratio:16/10;cursor:pointer}
.v3 .tz-root .v3-stories .t-poster img,.v3 .tz-root .t-grid.video-proof .t-poster img{opacity:.92}
.v3 .tz-root .v3-stories .t-video-bar{display:none}
.v3 .tz-root .v3-stories .t-play,.v3 .tz-root .t-grid.video-proof .t-play{width:62px;height:62px}
.v3 .tz-root .v3-stories .t-play svg,.v3 .tz-root .t-grid.video-proof .t-play svg{width:21px;height:21px}
.v3 .tz-root .t-video.previewing .t-play{opacity:0;transform:scale(.7)}
.v3 .tz-root .t-video .t-play{transition:transform .3s,opacity .3s}
.v3 .tz-root .v3-stories .t-id,.v3 .tz-root .t-grid.video-proof .t-id{inset-inline-end:18px;bottom:14px}
.v3 .tz-root .v3-stories .t-id .nm{font-size:18px}.v3 .tz-root .v3-stories .t-id .rl{font-size:13px}
.v3 .tz-root .t-video .t-mutehint{display:none}
.v3 .tz-root .t-video.previewing.v3-silent .t-mutehint{display:inline-flex}
.v3 .tz-root .t-video .v3-live{position:absolute;z-index:3;inset-inline-start:14px;top:14px;display:none;align-items:flex-end;gap:3px;height:22px;padding:5px 9px;border-radius:999px;background:rgba(6,32,42,.72);border:1px solid rgba(126,226,240,.35)}
.v3 .tz-root .t-video .v3-live i{width:3px;border-radius:2px;background:#EBCB85;animation:v3eq 0.9s ease-in-out infinite}
.v3 .tz-root .t-video .v3-live i:nth-child(1){height:6px;animation-delay:-.2s}.v3 .tz-root .t-video .v3-live i:nth-child(2){height:12px;animation-delay:-.5s}.v3 .tz-root .t-video .v3-live i:nth-child(3){height:8px;animation-delay:-.1s}.v3 .tz-root .t-video .v3-live i:nth-child(4){height:11px;animation-delay:-.7s}
@keyframes v3eq{0%,100%{transform:scaleY(.45)}50%{transform:scaleY(1.15)}}
.v3 .tz-root .t-video .v3-live i{transform-origin:50% 100%}
.v3 .tz-root .t-video.previewing:not(.v3-silent) .v3-live{display:inline-flex}
@media (max-width:980px){.v3 .tz-root .t-grid.video-proof,.v3 .tz-root .t-grid.v3-stories{grid-template-columns:minmax(0,1fr);max-width:560px;margin-inline:auto;gap:18px}}
@media (prefers-reduced-motion:reduce){.v3 .tz-root .t-video .v3-live i{animation:none}}
.v3 .tz-root .t-quote{max-width:860px;margin-inline:auto;justify-content:center;text-align:center;flex-direction:column;align-items:center;gap:6px}
.v3 .tz-root .t-quote .qmark{line-height:.6}
/* 13.11 more one-sided heads centred over their block (owner: "the centring problem repeats across the site"): the 'looking ahead' panel,
   the client-centre panel head, the sector heads of the industries page with their lead sentence */
.v3 .tz-root .future-panel .fp-head{flex-direction:column-reverse;align-items:center;justify-content:center;gap:14px;text-align:center}
.v3 .tz-root .future-panel .fp-head .eyebrow,.v3 .tz-root .cc-head .eyebrow,.v3 .tz-root .ind-block .ib-head .eyebrow{justify-content:center}
.v3 .tz-root .future-panel .fp-head .eyebrow::after,.v3 .tz-root .cc-head .eyebrow::after,.v3 .tz-root .ind-block .ib-head .eyebrow::after{content:"";display:block;width:34px;height:2px;border-radius:2px;background:var(--gold)}
.v3 .tz-root .future-panel h2{max-width:22em;margin-inline:auto;text-align:center}
.v3 .tz-root .future-panel > p{max-width:780px;margin-inline:auto;text-align:center}
.v3 .tz-root .future-panel .fp-link{display:flex;width:fit-content;margin-inline:auto}
.v3 .tz-root .cc-head{display:block;text-align:center}
.v3 .tz-root .cc-head h2{max-width:24em;margin-inline:auto}
.v3 .tz-root .cc-head p{max-width:760px;margin-inline:auto}
.v3 .tz-root .ind-block .ib-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;margin-bottom:12px}
.v3 .tz-root .ind-block .ib-head h2{text-align:center}
.v3 .tz-root .ind-block .sector-real{position:relative;border-inline-start:0;padding:18px 0 0;margin:0 auto 32px;max-width:46em;text-align:center}
.v3 .tz-root .ind-block .sector-real::before{content:"";position:absolute;top:0;left:50%;width:64px;height:3px;margin-left:-32px;border-radius:3px;background:linear-gradient(90deg,var(--gold-2),var(--teal))}
/* 13.12 services index rows: a hidden first cell pushed one row out of its columns (text squeezed into 40px) — columns are explicit now;
   on wide screens "when you need it" takes the empty middle of the row */
.v3 .tz-root .svc-index li a > .si-body{grid-column:2}
.v3 .tz-root .svc-index li a > .si-open{grid-column:3;align-self:center}
@media (min-width:900px){
.v3 .tz-root .svc-index .si-body{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:4px 44px;align-items:start}
.v3 .tz-root .svc-index .si-body > b,.v3 .tz-root .svc-index .si-body > span:not(.si-when){grid-column:1}
.v3 .tz-root .svc-index .si-body > .si-when{grid-column:2;grid-row:1 / span 2;align-self:center;margin-top:0;flex-direction:column;gap:2px}
}
@media (max-width:680px){.v3 .tz-root .svc-index li a > .si-open{grid-column:2;justify-self:start}}
/* 13.13 nothing keeps the visitor waiting (owner: staged figures took too long; a visitor may scroll past before a figure has finished):
   blocks start their reveal as they near the viewport (fix.js) and every staged part is in place within about a second. */
:where(html.tz-js) .v3 .tz-root .reveal{transition:opacity .42s ease,transform .42s ease}
.v3{--e4-dur-3:380ms;--e4-dur-4:620ms}
.v3 .tz-root .v3r-full{transition:--v3p .95s cubic-bezier(.3,.1,.2,1) .04s,opacity .18s ease .02s}
.v3 .tz-root .in:not(.v3-wait) > .v3r-tilt .v3r-full:not(.v3r-only),.v3 .tz-root .in:not(.v3-wait) .v3r-card .v3r-full:not(.v3r-only){animation-delay:1.15s}
.v3 .tz-root .in:not(.v3-wait) .v3r-run{animation-delay:.95s}
.v3 .tz-root .in:not(.v3-wait) .v3r-spark{animation-delay:calc(.85s + var(--d,0ms) * .5)}
.v3 .tz-root .v3r-tag{transition:opacity .35s ease calc(.4s + var(--d,0ms) * .35),transform .45s cubic-bezier(.2,.8,.2,1) calc(.4s + var(--d,0ms) * .35)}
.v3 .tz-root .v3-chip{transition:transform .6s cubic-bezier(.2,.7,.2,1),opacity .35s ease .12s}
.v3 .tz-root .v3-kit-n{transition:opacity .35s ease calc(var(--d,0ms) * .4),transform .45s cubic-bezier(.2,.9,.3,1.3) calc(var(--d,0ms) * .4)}
.e4.v3 .tz-root .e4-stagger > *:nth-child(2){transition-delay:.04s}.e4.v3 .tz-root .e4-stagger > *:nth-child(3){transition-delay:.08s}.e4.v3 .tz-root .e4-stagger > *:nth-child(4){transition-delay:.12s}.e4.v3 .tz-root .e4-stagger > *:nth-child(5){transition-delay:.16s}.e4.v3 .tz-root .e4-stagger > *:nth-child(6){transition-delay:.2s}
.e4.v3 .tz-root .e4-ledgerflow .lf:nth-child(n){transition-delay:calc((var(--i,1) - 1) * 40ms)}
.e4.v3 .tz-root .e4-svg .d1{transition-delay:.05s}.e4.v3 .tz-root .e4-svg .d2{transition-delay:.1s}.e4.v3 .tz-root .e4-svg .d3{transition-delay:.15s}.e4.v3 .tz-root .e4-svg .d4{transition-delay:.2s}.e4.v3 .tz-root .e4-svg .d5{transition-delay:.25s}.e4.v3 .tz-root .e4-svg .d6{transition-delay:.3s}
/* 13.14 the agent mark: a shield instead of initials (owner: the agent is not named on the site) */
.v3 .tz-root .e4-initials.v3-agent-mark{display:grid;place-items:center;align-content:center;gap:6px}
.v3 .tz-root .e4-initials.v3-agent-mark svg{width:38%;height:auto;color:#EBCB85;display:block}
.v3 .tz-root .e4-initials.v3-agent-mark small{font-size:11px;letter-spacing:.06em;opacity:.9}
[dir="rtl"] .v3 .tz-root .e4-initials.v3-agent-mark small{letter-spacing:0;font-size:12px}
/* 13.15 the contact routes in the dark client-centre lane are glass like the steps beside them (owner: the white cards did not fit) */
.v3 .tz-root .cc-lane .reach a{background:rgba(255,255,255,.055);border:1px solid rgba(126,226,240,.22);border-top:1px solid rgba(126,226,240,.22);box-shadow:none;color:var(--slate-200)}
.v3 .tz-root .cc-lane .reach a.best{border-top:1px solid rgba(235,203,133,.55);background:linear-gradient(160deg,rgba(235,203,133,.12),rgba(255,255,255,.04))}
.v3 .tz-root .cc-lane .reach a:hover{background:rgba(63,193,208,.14);border-color:rgba(126,226,240,.55);transform:translateY(-3px)}
.v3 .tz-root .cc-lane .reach b{color:#fff}
.v3 .tz-root .cc-lane .reach span{color:var(--slate-200)}
.v3 .tz-root .cc-lane .reach .rc-ico{background:rgba(63,193,208,.16);border-color:rgba(126,226,240,.4)}
.v3 .tz-root .cc-lane .reach .rc-ico svg{color:#8DE7F2}
.v3 .tz-root .cc-lane .reach a.best .rc-ico{background:linear-gradient(150deg,#EBCB85,#B98F3F);border-color:transparent}
.v3 .tz-root .cc-lane .reach a.best .rc-ico svg{color:#0B2A35}
/* 13.16 form cards: the title, the line under it, the two-step indicator and the first question with its chips sit centred */
.v3 .tz-root .lead-card > h3,.v3 .tz-root .lead-card > .lc-sub{text-align:center}
.v3 .tz-root .lead-card .ik-steps{justify-content:center}
.v3 .tz-root .lead-card .ik-step .lead-grid > .field.wide:first-child > label{display:block;text-align:center}
.v3 .tz-root .lead-card .intent-chips{justify-content:center}
.v3 .tz-root .lead-card .ik-summary{justify-content:center}
/* 13.17 English pages: the main headings are set in El Messiri again (owner: restore the heading face of the English pages; Arabic pages unchanged) */
html:not([dir="rtl"]) body.v3 .tz-root h1,html:not([dir="rtl"]) body.v3 .tz-root h2,html:not([dir="rtl"]) body.v3 .tz-root .e4-display{font-family:"El Messiri",var(--font-body);font-weight:600;letter-spacing:0}
/* 13.18 contact page: the real map (brand-toned) instead of the drawn stand-in; the Google Maps link rides on it */
.v3 .tz-root .map-wrap.v3-map-wide{min-height:520px;margin-bottom:26px}
.v3 .tz-root .map-wrap .v3-map-open{position:absolute;z-index:4;inset-inline-end:16px;top:16px;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:999px;background:linear-gradient(135deg,#EBCB85,#B98F3F);color:#0B2A35;font-size:13.5px;font-weight:700;box-shadow:0 10px 24px -10px rgba(0,0,0,.6);min-height:44px}
.v3 .tz-root .map-wrap .v3-map-open svg{width:15px;height:15px}
@media (max-width:680px){.v3 .tz-root .map-wrap.v3-map-wide{min-height:420px}}
.v3 .tz-root .offices.v3-one{grid-template-columns:minmax(0,1fr);max-width:640px;margin-inline:auto}
/* 13.19 the guide: a drawn character stands at the edge of the screen — a slim young man in a black glossy suit, one hand in the pocket, the other
   free for his gestures (owner: this character, as a cartoon; in the spirit of the old desktop assistant). Every movement is a rendered clip of true
   3D motion (sprite sheets played on a canvas by fix.js): he greets, opens his hand towards the page, points up at his line, gives a thumbs-up, shrugs,
   nods, blinks and brightens under the pointer. His line "Need a guide?" is a speech balloon ABOVE him. He is always there, also at the end of the
   page: the footer keeps his corner free wherever the page gutter is narrower than he is.
   --gw is the width of his BODY (the click target). The frame the clips are drawn in is wider (--mf body widths) so that his arm can reach out;
   it lies over the page without taking clicks. Wide gutters show him whole, shoes included; elsewhere he shows as a bust. */
.v3{--gw:92px}
@media (max-width:1699px){.v3{--gw:84px}}
@media (max-width:1499px){.v3{--gw:72px}}
@media (max-width:1399px){.v3{--gw:64px}}
@media (max-width:1099px){.v3{--gw:56px}}
@media (max-width:680px){.v3{--gw:48px}}
.v3 .tz-root .v3-guide{display:block;width:var(--gw);inset-inline-start:calc(var(--gw)*.52);bottom:0;gap:0;pointer-events:none;animation:v3manIn .8s cubic-bezier(.2,1.1,.35,1) .5s backwards}
@media (min-width:681px){.v3 .tz-root .footer.v2 > .container{padding-inline-start:max(32px,calc(var(--gw)*1.52 + 12px - max(0px,(100vw - 1240px)/2)))}}
@media (max-width:680px){.v3 .tz-root .footer.v2 .footer-bottom{padding-inline-start:calc(var(--gw)*1.52 - 10px);min-height:calc(var(--gw)*1.5);justify-content:center}}
.v3 .tz-root .v3-guide .gf-btn{display:block;position:relative;width:100%;height:calc(var(--gw)*var(--mh,2.7));padding:0;border:0;border-radius:0;background:none;box-shadow:none;overflow:visible;cursor:pointer;color:inherit;pointer-events:auto;-webkit-tap-highlight-color:transparent}
.v3 .tz-root .v3-guide .gf-btn:hover{transform:none;box-shadow:none}
.v3 .tz-root .v3-guide .gf-btn:focus-visible{outline:2px solid #3FC1D0;outline-offset:-2px;border-radius:14px}
.tz-root .v3-man{position:absolute;bottom:0;left:50%;display:block;width:calc(var(--gw)*var(--mf,2.5));translate:calc(-100%*var(--mc,.5)) 0;pointer-events:none;
  filter:drop-shadow(0 0 1px rgba(255,255,255,.9)) drop-shadow(0 0 7px rgba(110,226,245,.42));transform-origin:50% 100%;animation:v3manBreath 4.8s ease-in-out infinite}
[dir="rtl"] .tz-root .v3-man{scale:-1 1;translate:calc(-100%*(1 - var(--mc,.5))) 0}
.tz-root .v3-man img,.tz-root .v3-man canvas{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;user-select:none;-webkit-user-drag:none;pointer-events:none}
.tz-root .v3-man canvas{opacity:0}
.tz-root .v3-man.is-live canvas{opacity:1}.tz-root .v3-man.is-live img{opacity:0}
/* his line: a balloon centred above his head, its tail towards him */
.v3 .tz-root .v3-guide .gf-hint{display:block;position:absolute;inset-inline-start:auto;left:50%;transform:translateX(-50%);bottom:calc(100% - var(--gw)*var(--mh,2.7)*var(--mt,.08) + 9px);overflow:visible;cursor:pointer;pointer-events:auto;
  padding:7px 13px;font-size:13px;color:#06303F;border:1px solid rgba(255,255,255,.85);
  background:linear-gradient(108deg,transparent 32%,rgba(255,255,255,.9) 47%,rgba(190,240,250,.5) 53%,transparent 68%) no-repeat,linear-gradient(135deg,#D9F8FD 0%,#A3E6F3 58%,#C6EDF9 100%);
  background-size:260% 100%,100% 100%;background-position:160% 0,0 0;box-shadow:0 10px 26px -10px rgba(6,26,35,.5),0 0 18px rgba(63,193,208,.45);
  animation:v3holo 3.4s ease-in-out infinite,v3sheen2 3.4s ease-in-out infinite;transition:opacity .3s ease,visibility .3s}
.v3 .tz-root .v3-guide .gf-hint::after{content:"";position:absolute;inset:auto;left:50%;margin-left:-6px;bottom:-6px;width:12px;height:12px;transform:rotate(45deg);background:#A9E8F4;
  border:1px solid rgba(255,255,255,.85);border-top:0;border-left:0;border-radius:0 0 3px 0;animation:none}
.v3 .tz-root .v3-guide .gf-hint.is-boop{animation:v3holo 3.4s ease-in-out infinite,v3sheen2 3.4s ease-in-out infinite,v3agBoop 1.1s ease-in-out}
.v3.guide-open .tz-root .v3-guide .gf-hint{display:none}
[dir="rtl"] .v3 .tz-root .v3-guide .gf-hint,[dir="rtl"] .v3 .tz-root .v3-guide .gf-hint{animation-direction:normal,reverse,normal}
/* where the page gutter cannot hold the whole figure he shows as a bust above the edge of the screen (on phones: above the action bar),
   and his line shows while he says it (greeting, pointing), not all the time */
@media (max-width:1399px){
.v3 .tz-root .v3-guide .gf-btn{height:calc(var(--gw)*var(--mh,2.7)*.42)}
.tz-root .v3-man{bottom:auto;top:0;clip-path:inset(-20% -40% 58% -40%)}
.v3 .tz-root .v3-guide .gf-hint{opacity:0;visibility:hidden}
.v3 .tz-root .v3-guide .gf-hint.is-boop,.v3 .tz-root .v3-guide .gf-hint.is-hello,.v3 .tz-root .v3-guide .gf-hint.is-say{opacity:1;visibility:visible}}
@keyframes v3manIn{0%{opacity:0;transform:translateY(40%)}50%{opacity:1}100%{opacity:1;transform:none}}
@keyframes v3manBreath{0%,100%{transform:scale(1)}50%{transform:scale(1.004,1.011)}}
@keyframes v3agBoop{0%,100%{translate:0 0;scale:1}25%{translate:0 -5px;scale:1.06}50%{translate:0 0;scale:1}75%{translate:0 -4px;scale:1.05}}
@keyframes v3holo{0%,100%{box-shadow:0 10px 26px -10px rgba(6,26,35,.5),0 0 14px rgba(63,193,208,.35)}50%{box-shadow:0 10px 26px -10px rgba(6,26,35,.5),0 0 30px rgba(110,226,245,.8)}}
@keyframes v3sheen2{0%,50%{background-position:160% 0,0 0}82%,100%{background-position:-60% 0,0 0}}
/* the open panel stands beside him, he presents it; in the panel's head his portrait is the avatar */
@media (min-width:681px){.v3.guide-open .tz-root .guide-panel{inset-inline-start:calc(var(--gw)*1.52 + 14px);bottom:20px}}
@media (max-width:680px){
body.has-actbar.v3 .tz-root .v3-guide{bottom:74px}
.v3 .tz-root .v3-guide .gf-hint{font-size:12.5px;padding:6px 12px;left:auto;inset-inline-start:calc(var(--gw)*-.42);transform:none}
.v3 .tz-root .v3-guide .gf-hint::after{left:auto;margin-left:0;inset-inline-start:calc(var(--gw)*.92 - 6px)}
.v3.guide-open .tz-root .guide-panel{bottom:calc(var(--gw)*1.7 + 10px)}body.has-actbar.v3.guide-open .tz-root .guide-panel{bottom:calc(var(--gw)*1.7 + 84px)}.v3 .tz-root .gp-body{max-height:min(46vh,calc(100dvh - var(--gw)*1.7 - 300px))}}
.v3 .tz-root .gp-avatar .v3-ag-face{position:absolute;inset:0;display:block;border-radius:inherit;overflow:hidden;background:linear-gradient(160deg,#DDF6FA,#9FE0EC)}
.v3 .tz-root .gp-avatar .v3-man-face img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover}
@media (prefers-reduced-motion:reduce){.v3 .tz-root .v3-guide,.v3 .tz-root .v3-guide *{animation:none!important}}
/* 13.20 cash-flow figure: month names stand on the platform in front of their columns; the legend names the three layers and the total line */
.v3 .tz-root .v3-cash .v3r-card{container-type:inline-size}
.v3 .tz-root .v3r-foot{position:absolute;transform:translate(-50%,-50%);font:600 clamp(9px,2.5cqw,13.5px)/1.2 var(--font-body);color:#BFEFF7;white-space:nowrap;text-shadow:0 1px 6px rgba(0,0,0,.7);transition:opacity .35s ease calc(.3s + var(--d,0ms))}
:where(html.tz-js) .v3 .tz-root .reveal:not(.in) .v3r-foot{opacity:0}
.v3 .tz-root .v3-legend i.m-line{width:22px;height:4px;border-radius:3px;background:linear-gradient(90deg,#FFE3A0,#F6B52E)}
/* 13.21 figure cards share one size in a row, and their columns rise one after another (owner): the finished frame is unmasked strip by strip */
.v3 .tz-root .v3-fig.v3-realfig{width:100%}
.v3 .tz-root .grid-2 > .v3-fig.v3-realfig{align-self:stretch;display:flex;flex-direction:column}
.v3 .tz-root .grid-2 > .v3-fig.v3-realfig > .v3r-card{flex:1 1 auto}
@property --c1{syntax:"<percentage>";inherits:false;initial-value:120%}
@property --c2{syntax:"<percentage>";inherits:false;initial-value:120%}
@property --c3{syntax:"<percentage>";inherits:false;initial-value:120%}
@property --c4{syntax:"<percentage>";inherits:false;initial-value:120%}
@property --c5{syntax:"<percentage>";inherits:false;initial-value:120%}
@property --c6{syntax:"<percentage>";inherits:false;initial-value:120%}
@property --c7{syntax:"<percentage>";inherits:false;initial-value:120%}
@property --c8{syntax:"<percentage>";inherits:false;initial-value:120%}
@property --c9{syntax:"<percentage>";inherits:false;initial-value:120%}
:where(html.tz-js) .v3 .tz-root .reveal:not(.in) .v3r-full.v3r-seq,.v3 .tz-root .v3-wait .v3r-full.v3r-seq{--c1:0%;--c2:0%;--c3:0%;--c4:0%;--c5:0%;--c6:0%;--c7:0%;--c8:0%;--c9:0%;opacity:0}
.v3 .tz-root .v3r-tag{transition-delay:calc(.75s + var(--d,0ms) * .85)}
/* 13.22 rendered close-ups in the page: editorial stills, the picture column beside a long text, the centred button under such a section */
.v3 .tz-root .ph:has(> .v3-still){background:#062B39;overflow:hidden;position:relative}
.v3 .tz-root .ph:has(> .v3-still)::before{display:none}
.v3 .tz-root .ph > img.v3-still{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;display:block;border-radius:0}
.v3 .tz-root .moment .moment-ph{border-radius:22px;box-shadow:0 26px 54px -32px rgba(8,56,74,.6)}
.v3 .tz-root .cc-team .ct-ph .ph{aspect-ratio:1/1;border-radius:16px}
.v3 .tz-root .adv-grid{align-items:stretch}
.v3 .tz-root .adv-figure.v3-vstack{display:flex;flex-direction:column;gap:20px;padding:0;min-width:0;max-width:none;width:100%}
.v3 .tz-root .v3-shot{position:relative;flex:1 1 0;min-height:280px;margin:0;border-radius:22px;overflow:hidden;background:#062B39;box-shadow:0 26px 54px -32px rgba(8,56,74,.6),inset 0 0 0 1px rgba(126,226,240,.14);isolation:isolate}
.v3 .tz-root .v3-shot > img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;display:block;border-radius:0;transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.v3 .tz-root .v3-shot:hover > img{transform:scale(1.04)}
.v3 .tz-root .v3-shot::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to top,rgba(4,26,35,.88) 0,rgba(4,26,35,.3) 38%,rgba(4,26,35,0) 60%)}
.v3 .tz-root .v3-shot figcaption{position:absolute;z-index:2;inset-inline:22px;bottom:20px;color:#DDF3F6;font-size:14px;line-height:1.55;display:block}
.v3 .tz-root .v3-shot figcaption .eyebrow{color:#EBCB85;margin-bottom:6px;font-size:12.5px}
.v3 .tz-root .v3-shot figcaption .eyebrow::before{background:#EBCB85;width:26px}
.v3 .tz-root .v3-shot figcaption b{display:block;color:#fff;font-family:var(--font-body);font-size:21px;font-weight:700;line-height:1.3}
.v3 .tz-root .v3-shot figcaption span{display:block;margin-top:4px;color:#CFE3E8;max-width:44ch}
.v3 .tz-root .adv-grid > .v3-adv-cta{grid-column:1 / -1;display:flex;justify-content:center;margin-top:-34px}
@media (max-width:1024px){.v3 .tz-root .adv-figure.v3-vstack{flex-direction:row;max-width:none}.v3 .tz-root .v3-shot{min-height:260px}.v3 .tz-root .adv-grid > .v3-adv-cta{margin-top:0}}
@media (max-width:680px){.v3 .tz-root .adv-figure.v3-vstack{flex-direction:column}.v3 .tz-root .v3-shot{min-height:230px;flex:0 0 auto;aspect-ratio:16/11}}
/* 13.23 no blue outside the brand palette (owner): the second accent of step cards and legends is deep teal */
.v3 .tz-root .method-strip .ms-item:nth-child(3n/**/+2){border-top-color:#0F5F6B}
.v3 .tz-root .v3-legend i.m-petrol,.v3 .tz-root .v3-legend i.m-deep{background:radial-gradient(circle at 32% 28%,#7FD8E2,#0F6E7B 45%,#06303F)}
/* 13.24 flip cards: a card turns when the pointer is on it (or on tap / keyboard focus) and turns back when the pointer leaves — no buttons.
   The front is the original card; the back shows a rendered picture of the same subject with its title and link. */
.v3 .tz-root .v3-flip{position:relative;display:grid;perspective:1500px;background:none;border:0;padding:0;box-shadow:none;cursor:pointer;outline:0;min-width:0}
.v3 .tz-root .v3-flip-in{display:grid;height:100%;transform-style:preserve-3d;transition:transform .75s cubic-bezier(.3,.9,.3,1)}
.v3 .tz-root .v3-face{grid-area:1 / 1;min-width:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.v3 .tz-root .v3-flip .v3-front{height:100%;transform:none !important}
.v3 .tz-root .v3-back{position:relative;transform:rotateY(180deg);display:flex;flex-direction:column;justify-content:flex-end;border-radius:22px;overflow:hidden;isolation:isolate;background:#062B39;color:#fff;box-shadow:0 26px 54px -30px rgba(8,56,74,.65),inset 0 0 0 1px rgba(126,226,240,.18)}
.v3 .tz-root .v3-back > img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 26%;display:block;border-radius:0}
.v3 .tz-root .v3-back::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(to top,rgba(4,26,35,.92) 0,rgba(4,26,35,.45) 42%,rgba(4,26,35,0) 68%)}
.v3 .tz-root .v3-back-body{position:relative;z-index:2;display:grid;gap:6px;padding:20px 22px 22px;text-align:start}
.v3 .tz-root .v3-back-body b{font-family:var(--font-body);font-size:20px;font-weight:700;line-height:1.3;color:#fff}
.v3 .tz-root .v3-back-body span{font-size:14px;line-height:1.55;color:#CFE3E8}
.v3 .tz-root .v3-back-link{display:inline-flex;align-items:center;gap:8px;width:fit-content;margin-top:8px;padding:10px 18px;border-radius:999px;background:linear-gradient(135deg,#EBCB85,#B98F3F);color:#0B2A35;font-size:14px;font-weight:700}
.v3 .tz-root .v3-back-link svg{width:15px;height:15px}
[dir="rtl"] .v3 .tz-root .v3-back-link svg{transform:scaleX(-1)}
.v3 .tz-root .v3-flip.is-flipped .v3-flip-in{transform:rotateY(180deg)}
@media (hover:hover) and (pointer:fine){.v3 .tz-root .v3-flip:hover .v3-flip-in,.v3 .tz-root .v3-flip:focus-visible .v3-flip-in{transform:rotateY(180deg)}}
.v3 .tz-root .v3-flip:focus-visible{outline:3px solid var(--gold-2);outline-offset:4px;border-radius:24px}
.v3 .tz-root .v3-flip-ind .v3-back-body b{font-size:18px}.v3 .tz-root .v3-flip-ind .v3-back-body span{font-size:12.5px}.v3 .tz-root .v3-flip-ind .v3-back-link{padding:8px 14px;font-size:13px}
.v3 .tz-root .e4-flip{cursor:pointer}
.v3 .tz-root .e4-flip .e4-flip-btn{display:none}
.v3 .tz-root .e4-flip .face{padding-bottom:22px}
@media (prefers-reduced-motion:reduce){.v3 .tz-root .v3-flip-in{transition:none}}
/* 13.25 the two-picture composition of the live site in the 'trusted consultants' section: as tall as the text beside it */
.v3 .tz-root .adv-figure.v3-duo{align-self:stretch;display:block;position:relative;padding-block-end:120px;padding-inline-end:76px;min-height:560px}
.v3 .tz-root .adv-figure.v3-duo .main{position:absolute;inset-block:0 120px;inset-inline:0 76px;width:calc(100% - 76px);height:calc(100% - 120px);aspect-ratio:auto;object-fit:cover;object-position:50% 50%}
.v3 .tz-root .adv-figure.v3-duo .overlap{width:60%;height:auto;aspect-ratio:10/9.4;object-position:50% 62%}
.v3 .tz-root .adv-figure.v3-duo .adv-chip{bottom:150px}
.v3 .tz-root .moment .moment-ph{aspect-ratio:16/9}
@media (max-width:1024px){.v3 .tz-root .adv-figure.v3-duo{min-height:0;padding-block-end:96px}.v3 .tz-root .adv-figure.v3-duo .main{position:static;width:100%;height:auto;aspect-ratio:10/9}.v3 .tz-root .moment .moment-ph{aspect-ratio:16/8}}
/* 13.26 numbers inside the verification text stay in the line (a rule for the text block also turned the nested number spans into blocks) */
.v3 .tz-root .verify-stamp .vs-body span span,.v3 .tz-root .verify-stamp .vs-ids span span{display:inline}
/* 13.27 'three statements, one story' (financial reporting): the rendered figure, then one card per statement in story order, joined by two short sentences */
.v3 .tz-root .v3-fig.v3-stmtfig{max-width:1100px;margin-bottom:26px}
.v3 .tz-root .v3-stmts{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);gap:0 14px;align-items:stretch;max-width:1100px;margin-inline:auto}
.v3 .tz-root .v3-stmt{position:relative;background:#fff;border:1px solid var(--line);border-top:4px solid #1A9DAD;border-radius:18px;padding:22px 22px 18px;box-shadow:0 18px 38px -28px rgba(8,56,74,.45);transition:transform .3s ease,box-shadow .3s ease}
.v3 .tz-root .v3-stmt:nth-of-type(2){border-top-color:#C9A04E}.v3 .tz-root .v3-stmt:nth-of-type(3){border-top-color:#0F5F6B}
.v3 .tz-root .v3-stmt:hover{transform:translateY(-6px);box-shadow:0 26px 46px -26px rgba(8,56,74,.55)}
.v3 .tz-root .v3-stmt-n{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;margin-bottom:12px;color:#fff;font:700 15px/1 var(--font-body);background:radial-gradient(circle at 34% 28%,#8BE9F4,#1A9DAD 52%,#0A5563);box-shadow:0 8px 16px -8px rgba(8,56,74,.6),inset 0 -4px 7px rgba(0,0,0,.25),inset 0 2px 3px rgba(255,255,255,.35)}
.v3 .tz-root .v3-stmt h3{font-size:19px;line-height:1.3;margin:0 0 4px;color:var(--petrol)}
.v3 .tz-root .v3-stmt p{font-size:14.5px;line-height:1.55;color:var(--slate-700);margin:0 0 12px}
.v3 .tz-root .v3-stmt .row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line);font-size:14px;color:var(--slate-700)}
.v3 .tz-root .v3-stmt .row b{color:var(--petrol);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.v3 .tz-root .v3-stmt .row.total{border-top:2px solid var(--petrol);color:var(--petrol);font-weight:700}
.v3 .tz-root .v3-stmt .row.total b{color:#9A7A2E}
.v3 .tz-root .v3-stmt-link{display:grid;place-items:center;align-content:center;gap:8px;width:108px;text-align:center;font-size:12.5px;line-height:1.4;font-weight:600;color:var(--teal-text)}
.v3 .tz-root .v3-stmt-link::before{content:"";width:100%;height:2px;border-radius:2px;background:linear-gradient(90deg,rgba(201,160,78,.2),#C9A04E);position:relative}
.v3 .tz-root .v3-stmt-link::after{content:"";width:9px;height:9px;border-top:2px solid #C9A04E;border-right:2px solid #C9A04E;transform:rotate(45deg);margin-top:-17px;justify-self:end}
[dir="rtl"] .v3 .tz-root .v3-stmt-link::before,[dir="rtl"] .v3 .tz-root .v3-stmt-link::before{background:linear-gradient(270deg,rgba(201,160,78,.2),#C9A04E)}
[dir="rtl"] .v3 .tz-root .v3-stmt-link::after{transform:rotate(-135deg);justify-self:start}
@media (max-width:900px){.v3 .tz-root .v3-stmts{grid-template-columns:minmax(0,1fr);gap:10px}.v3 .tz-root .v3-stmt-link{width:auto;grid-auto-flow:column;justify-content:center;padding:2px 0}.v3 .tz-root .v3-stmt-link::before,.v3 .tz-root .v3-stmt-link::after{display:none}}
/* 13.28 e-invoicing (owner, 2 Oct): the five-corner model — names on the rendered corners, invoices that travel the route, tax data running to the
   centre —, the five roles as step cards, and the timeline of the legislation in force (dates live in _lab/einv.py only) */
.v3 .tz-root .v3e-model{position:relative}
.tz-root .v3e-fx{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.tz-root .v3e-pk,.tz-root .v3e-tx,.tz-root .v3e-tail{offset-rotate:0deg;offset-distance:0%;opacity:0}
.tz-root .v3-scene.in .v3e-pk,.tz-root .v3-scene.in .v3e-tx,.tz-root .v3-scene.in .v3e-tail{animation:v3eLeg 2.6s linear infinite}
.tz-root .v3e-tail{fill:#FFD98C;filter:drop-shadow(0 0 6px rgba(255,190,90,.9))}
.tz-root .v3e-pk rect{fill:#FFF1CC;stroke:#F2B84B;stroke-width:1.8;filter:drop-shadow(0 0 8px rgba(255,190,90,1))}
.tz-root .v3e-pk path{fill:none;stroke:#8A5A12;stroke-width:1.7;stroke-linecap:round}
.tz-root .v3e-tx{fill:#B8F8FF;filter:drop-shadow(0 0 8px rgba(63,220,240,1))}
.tz-root .v3e-ah{fill:none;stroke:#FFD38A;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px rgba(255,190,90,.8));opacity:0;transition:opacity .5s ease .5s}
.tz-root .v3-scene.in .v3e-ah{opacity:.95}
.tz-root .v3e-ah.c{stroke:#8FF3FF;filter:drop-shadow(0 0 5px rgba(63,220,240,.8))}
@keyframes v3eLeg{0%{offset-distance:0%;opacity:0}9%{opacity:1}86%{opacity:1}100%{offset-distance:100%;opacity:0}}
.tz-root .v3e-lab{position:absolute;z-index:3;display:flex;flex-direction:column;align-items:center;gap:2px;padding:5px 11px 6px;border-radius:12px;white-space:nowrap;line-height:1.2;
  background:rgba(6,34,46,.82);border:1px solid rgba(63,193,208,.55);color:#EAFBFD;box-shadow:0 10px 22px -10px rgba(0,0,0,.65),0 0 14px rgba(63,193,208,.18);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transform:translate(-50%,-90%);opacity:0;transition:opacity .45s ease var(--d,0ms),transform .45s cubic-bezier(.2,.8,.2,1) var(--d,0ms)}
.tz-root .v3-scene.in .v3e-lab{opacity:1;transform:translate(-50%,-100%)}
.tz-root .v3e-lab b{font:700 11px/1 "Jost",sans-serif;letter-spacing:.1em;color:#F2C879}
.tz-root .v3e-lab i{font-style:normal;font-weight:600;font-size:12.5px}
.tz-root .v3e-lab.c5{border-color:rgba(242,200,121,.75);box-shadow:0 10px 22px -10px rgba(0,0,0,.65),0 0 16px rgba(242,200,121,.28)}
.tz-root .v3e-lab::after{content:"";position:absolute;left:50%;bottom:-5px;width:8px;height:8px;margin-left:-4px;transform:rotate(45deg);background:inherit;border:inherit;border-top:0;border-left:0}
.tz-root .v3e-legend{position:relative;z-index:2;display:flex;justify-content:center;gap:22px;flex-wrap:wrap;margin:10px 0 20px;font-size:13px;color:rgba(234,251,253,.86)}
.tz-root .v3e-legend span{display:inline-flex;align-items:center;gap:8px}
.tz-root .v3e-legend span::before{content:"";width:26px;height:0;border-top:3px solid #F2B84B;border-radius:2px;box-shadow:0 0 8px rgba(255,190,90,.7)}
.tz-root .v3e-legend span.c::before{border-top:3px dashed #5FE3F2;box-shadow:0 0 8px rgba(63,220,240,.6)}
@media (max-width:680px){.tz-root .v3e-lab{padding:4px 8px 5px}.tz-root .v3e-lab i{font-size:11px}.tz-root .v3e-lab b{font-size:10px}.tz-root .v3e-legend{font-size:12px;gap:14px}}
/* the five roles */
.v3 .tz-root .v3e-sub{max-width:760px;margin:0 auto 26px;text-align:center;color:var(--slate-700,#33464D)}
.v3 .tz-root .v3e-steps{list-style:none;margin:0 0 30px;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:16px;counter-reset:none}
.v3 .tz-root .v3e-step{position:relative;display:flex;flex-direction:column;gap:8px;padding:20px 18px 18px;border-radius:18px;background:#fff;border:1px solid var(--line,#D9E1E4);border-top:3px solid #1A9DAD;
  box-shadow:0 14px 30px -18px rgba(8,56,74,.35);transition:transform .3s ease,box-shadow .3s ease}
.v3 .tz-root .v3e-step:hover{transform:translateY(-4px);box-shadow:0 22px 38px -18px rgba(8,56,74,.45)}
.v3 .tz-root .v3e-step.c2,.v3 .tz-root .v3e-step.c3{border-top-color:#0F6C8F}
.v3 .tz-root .v3e-step.c5{border-top-color:#C9A24D;background:linear-gradient(180deg,#FFFBF1 0%,#fff 60%)}
.v3 .tz-root .v3e-n{align-self:flex-start;font:700 12px/1 "Jost",sans-serif;letter-spacing:.1em;color:#F2C879;background:#0A2F40;border-radius:999px;padding:6px 10px}
.v3 .tz-root .v3e-step b{font-size:16px;line-height:1.3;color:var(--petrol,#0A2F40)}
.v3 .tz-root .v3e-step > span:last-child{font-size:14.5px;line-height:1.55;color:var(--slate-700,#33464D)}
.v3 .tz-root .v3e-step:not(.c4):not(.c5)::after{content:"";position:absolute;inset-inline-end:-13px;top:34px;width:10px;height:10px;border-top:2.5px solid #C9A24D;border-inline-end:2.5px solid #C9A24D;transform:rotate(45deg);z-index:2}
[dir="rtl"] .v3 .tz-root .v3e-step:not(.c4):not(.c5)::after,[dir="rtl"] .v3 .tz-root .v3e-step:not(.c4):not(.c5)::after{transform:rotate(-135deg)}
@media (max-width:1099px){.v3 .tz-root .v3e-steps{grid-template-columns:repeat(2,1fr)}.v3 .tz-root .v3e-step.c5{grid-column:1/-1}.v3 .tz-root .v3e-step::after{display:none}}
@media (max-width:680px){.v3 .tz-root .v3e-steps{grid-template-columns:1fr}}
/* the timeline */
.v3 .tz-root .v3e-tl{position:relative}
.v3 .tz-root .v3e-rail{list-style:none;margin:0;padding:34px 0 0;display:grid;grid-template-columns:repeat(6,1fr);gap:14px;position:relative}
.v3 .tz-root .v3e-rail::before{content:"";position:absolute;inset-inline:0;top:13px;height:6px;border-radius:6px;background:linear-gradient(90deg,rgba(26,157,173,.25),rgba(201,162,77,.3));box-shadow:inset 0 1px 2px rgba(8,56,74,.25)}
.v3 .tz-root .v3e-rail::after{content:"";position:absolute;inset-inline-start:0;top:13px;height:6px;border-radius:6px;width:var(--now,0%);background:linear-gradient(90deg,#1A9DAD,#3FC1D0);box-shadow:0 0 12px rgba(63,193,208,.7);transition:width 1.1s cubic-bezier(.2,.8,.2,1) .3s}
[dir="rtl"] .v3 .tz-root .v3e-rail::after,[dir="rtl"] .v3 .tz-root .v3e-rail::after{background:linear-gradient(270deg,#1A9DAD,#3FC1D0)}
.v3 .tz-root .v3e-ms{position:relative;display:flex;flex-direction:column;gap:6px;padding:16px 14px 16px;border-radius:16px;background:#fff;border:1px solid var(--line,#D9E1E4);box-shadow:0 14px 28px -18px rgba(8,56,74,.35);transition:transform .3s ease,box-shadow .3s ease}
.v3 .tz-root .v3e-ms:hover{transform:translateY(-4px);box-shadow:0 22px 36px -18px rgba(8,56,74,.45)}
.v3 .tz-root .v3e-dot{position:absolute;top:-30px;inset-inline-start:18px;width:20px;height:20px;border-radius:50%;background:#fff;border:4px solid #1A9DAD;box-shadow:0 0 0 4px rgba(26,157,173,.16)}
.v3 .tz-root .v3e-ms.appoint .v3e-dot{border-color:#0F6C8F;box-shadow:0 0 0 4px rgba(15,108,143,.16)}
.v3 .tz-root .v3e-ms.live .v3e-dot{border-color:#C9A24D;box-shadow:0 0 0 4px rgba(201,162,77,.2)}
.v3 .tz-root .v3e-kind{font:700 10.5px/1.2 "Jost",sans-serif;letter-spacing:.09em;text-transform:uppercase;color:#1A9DAD}
[dir="rtl"] .v3 .tz-root .v3e-kind,[dir="rtl"] .v3 .tz-root .v3e-kind{font-family:inherit;letter-spacing:0;font-size:12px}
.v3 .tz-root .v3e-ms.appoint .v3e-kind{color:#0F6C8F}.v3 .tz-root .v3e-ms.live .v3e-kind{color:#9A7421}
.v3 .tz-root .v3e-ms time{font-weight:700;font-size:17px;color:var(--petrol,#0A2F40);line-height:1.25}
.v3 .tz-root .v3e-ms b{font-size:14.5px;line-height:1.3;color:var(--petrol,#0A2F40)}
.v3 .tz-root .v3e-ms > span:not(.v3e-dot):not(.v3e-kind){font-size:13.5px;line-height:1.5;color:var(--slate-700,#33464D)}
.v3 .tz-root .v3e-ms em{font-style:normal;font-size:12.5px;line-height:1.45;color:#7A5A16;background:rgba(201,162,77,.14);border-radius:8px;padding:5px 8px;margin-top:2px}
.v3 .tz-root .v3e-ms.is-past{opacity:.72}.v3 .tz-root .v3e-ms.is-past .v3e-dot{background:#1A9DAD;border-color:#1A9DAD}
.v3 .tz-root .v3e-ms.is-next{border-color:#C9A24D;box-shadow:0 0 0 2px rgba(201,162,77,.35),0 18px 34px -18px rgba(8,56,74,.45)}
.v3 .tz-root .v3e-ms.is-next::before{content:attr(data-tag);position:absolute;top:-13px;inset-inline-end:12px;font-size:11.5px;font-weight:700;line-height:1;color:#0A2F40;background:linear-gradient(135deg,#E9C877,#C9A24D);border-radius:999px;padding:6px 10px;box-shadow:0 6px 14px -6px rgba(201,162,77,.8)}
.v3 .tz-root .v3e-ms.is-next .v3e-dot{animation:v3ePulse 1.8s ease-out infinite}
@keyframes v3ePulse{0%{box-shadow:0 0 0 0 rgba(201,162,77,.55)}100%{box-shadow:0 0 0 14px rgba(201,162,77,0)}}
.v3 .tz-root .v3e-foot{margin:22px auto 0;max-width:880px;text-align:center;font-size:14.5px;color:var(--slate-700,#33464D)}
.v3 .tz-root .v3e-src{margin:10px auto 0;max-width:880px;text-align:center;font-size:13px;line-height:1.6;color:var(--muted,#5E7178)}
.v3 .tz-root .v3e-cta{display:flex;justify-content:center;margin-top:22px}
@media (max-width:1099px){.v3 .tz-root .v3e-rail{grid-template-columns:repeat(3,1fr);row-gap:44px}.v3 .tz-root .v3e-rail::before,.v3 .tz-root .v3e-rail::after{display:none}.v3 .tz-root .v3e-dot{top:-12px}}
@media (max-width:680px){.v3 .tz-root .v3e-rail{grid-template-columns:1fr;row-gap:22px;padding-top:12px}}
@media (prefers-reduced-motion:reduce){.tz-root .v3-scene.in .v3e-pk,.tz-root .v3-scene.in .v3e-tx,.tz-root .v3-scene.in .v3e-tail,.v3 .tz-root .v3e-ms.is-next .v3e-dot{animation:none}}
/* 13.29 main menu: the e-invoicing entry pulses softly in gold — a slow glow, never a flash (owner: it must show its importance) */
.v3 .tz-root .v3-hot .v3-hot-t{position:relative;color:#F2C879;animation:v3hot 1.9s ease-in-out infinite}
.v3 .tz-root .nav-link.v3-hot .v3-hot-t::after{content:"";position:absolute;inset-inline-end:-10px;top:-2px;width:7px;height:7px;border-radius:50%;background:#F2C879;animation:v3hotDot 1.9s ease-out infinite}
@keyframes v3hot{0%,100%{text-shadow:0 0 0 rgba(242,200,121,0);filter:brightness(1)}50%{text-shadow:0 0 16px rgba(242,200,121,.95),0 0 5px rgba(255,236,190,.7);filter:brightness(1.25)}}
@keyframes v3hotDot{0%{box-shadow:0 0 0 0 rgba(242,200,121,.8)}100%{box-shadow:0 0 0 10px rgba(242,200,121,0)}}
@media (prefers-reduced-motion:reduce){.v3 .tz-root .v3-hot .v3-hot-t,.v3 .tz-root .nav-link.v3-hot .v3-hot-t::after{animation:none}}
/* 13.30 the small bar charts beside highlight lines and section heads (owner: 3D, alive under the pointer, and the columns rise from zero one after
   another when the block scrolls in): each column is a little block with a lit top and a shaded side */
.v3 .tz-root .e4-bars{gap:6px;padding:9px 10px 8px 7px;overflow:visible}
.v3 .tz-root .e4-hl .e4-bars{width:58px;height:58px;padding:11px 13px 10px 9px;gap:7px;border-radius:15px;box-shadow:inset 0 0 0 1px rgba(26,157,173,.16),0 10px 22px -14px rgba(8,56,74,.5)}
.v3 .tz-root .e4-bars i{position:relative;border-radius:0;transform-origin:50% 100%;transition:transform .75s cubic-bezier(.2,.9,.25,1.12);background:linear-gradient(180deg,#27A9B8,#0F6C8F)}
.v3 .tz-root .e4-bars i::before{content:"";position:absolute;left:0;right:0;bottom:100%;height:4px;background:#7FE0EA;transform:skewX(-45deg);transform-origin:0 100%}
.v3 .tz-root .e4-bars i::after{content:"";position:absolute;left:100%;top:0;bottom:0;width:4px;background:#0A4F66;transform:skewY(-45deg);transform-origin:0 0}
.v3 .tz-root .e4-bars i:nth-child(2){background:linear-gradient(180deg,#5FD3DE,#1A9DAD);transition-delay:.16s}
.v3 .tz-root .e4-bars i:nth-child(2)::before{background:#B4F1F5}.v3 .tz-root .e4-bars i:nth-child(2)::after{background:#127886}
.v3 .tz-root .e4-bars i:nth-child(3){background:linear-gradient(180deg,#F0CF82,#C9A24D);transition-delay:.32s}
.v3 .tz-root .e4-bars i:nth-child(3)::before{background:#FBE7B5}.v3 .tz-root .e4-bars i:nth-child(3)::after{background:#9A7421}
:where(html.tz-js) .v3 .tz-root .reveal:not(.in) .e4-bars i,.v3 .tz-root .e4-bars.e4-wait i{transform:scaleY(0)}
.v3 .tz-root .e4-hl:hover .e4-bars i,.v3 .tz-root .section-head:hover > .e4-bars i,.v3 .tz-root .e4-bars:hover i{animation:v3barUp .9s cubic-bezier(.3,.8,.3,1.1)}
.v3 .tz-root .e4-hl:hover .e4-bars i:nth-child(2),.v3 .tz-root .section-head:hover > .e4-bars i:nth-child(2),.v3 .tz-root .e4-bars:hover i:nth-child(2){animation-delay:.12s}
.v3 .tz-root .e4-hl:hover .e4-bars i:nth-child(3),.v3 .tz-root .section-head:hover > .e4-bars i:nth-child(3),.v3 .tz-root .e4-bars:hover i:nth-child(3){animation-delay:.24s}
@keyframes v3barUp{0%{transform:scaleY(1)}35%{transform:scaleY(.25)}100%{transform:scaleY(1)}}
@media (max-width:680px){.v3 .tz-root .e4-hl .e4-bars{width:48px;height:48px;padding:9px 11px 8px 8px;gap:6px}}
@media (prefers-reduced-motion:reduce){.v3 .tz-root .e4-bars i{transition:none;animation:none!important}:where(html.tz-js) .v3 .tz-root .reveal:not(.in) .e4-bars i{transform:none}}
/* 13.31 the kit card, version 6 (owner, 2 Oct: "the pictures in 'What to prepare' need a redesign from the root"): a dedicated still life — one real
   object for every item of the list — numbered on the stage; the legend carries the same numbers. Nothing sits on top of the objects any more.
   A tall card shows the whole strip and the legend as a checklist; a low one lets the strip fill the width and keeps the legend as chips. */
.v3 .tz-root .v3-kit.v3-kit6{display:flex;flex-direction:column;min-height:330px;padding:16px 16px 14px;background:linear-gradient(180deg,#04303F 0%,#053646 55%,#06303E 100%);
  box-shadow:0 26px 54px -32px rgba(8,56,74,.6),inset 0 0 0 1px rgba(126,226,240,.16)}
.v3 .tz-root .v3-kit.v3-kit6::after{display:none}
.v3 .tz-root .v3-kit6 .v3-kit-t{position:relative;inset:auto;top:auto;margin:2px 4px 8px;flex:none}
.v3 .tz-root .v3-kit6 .v3-kit-pic{position:relative;flex:none;width:100%;aspect-ratio:var(--ar,2.36);overflow:hidden;border-radius:14px;container-type:size}
.v3 .tz-root .v3-kit6 .v3-kit-stage{position:absolute;left:50%;top:50%;width:max(100cqw,calc(100cqh * var(--ar,2.36)));aspect-ratio:var(--ar,2.36);transform:translate(-50%,-50%);
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%)}
.v3 .tz-root .v3-kit6 .v3-kit-n{width:24px;height:24px;font-size:12.5px;box-shadow:0 0 0 3px rgba(235,203,133,.25),0 5px 12px rgba(0,0,0,.5)}
.v3 .tz-root .v3-kit6 figcaption{position:relative;inset:auto;bottom:auto;flex:1 1 auto;display:grid;grid-template-columns:1fr;align-content:space-evenly;gap:0;margin:8px 4px 0}
.v3 .tz-root .v3-kit6 figcaption span{display:flex;align-items:center;gap:12px;padding:9px 4px;border-radius:0;background:none;border:0;border-top:1px solid rgba(126,226,240,.16);-webkit-backdrop-filter:none;backdrop-filter:none;
  color:#EAF6F8;font-size:15px;font-weight:600;line-height:1.3}
[dir="rtl"] .v3 .tz-root .v3-kit6 figcaption span{padding:9px 4px;font-size:15.5px}
.v3 .tz-root .v3-kit6 figcaption span:first-child{border-top:0}
.v3 .tz-root .v3-kit6 figcaption i{width:24px;height:24px;font-size:12.5px}
.v3 .tz-root .v3-kit6 .v3-kit-pic{-webkit-mask-image:linear-gradient(180deg,#000 0,#000 84%,transparent 100%);mask-image:linear-gradient(180deg,#000 0,#000 84%,transparent 100%)}
.v3 .tz-root .v3-kit6 .v3-kit-tiles{display:none}
@container (max-height: 419px){
.v3 .tz-root .v3-kit6 .v3-kit-pic{flex:1 1 auto;min-height:130px;aspect-ratio:auto}
.v3 .tz-root .v3-kit6 figcaption{flex:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.v3 .tz-root .v3-kit6 figcaption span,[dir="rtl"] .v3 .tz-root .v3-kit6 figcaption span{display:inline-flex;gap:8px;padding:6px 13px;padding-inline-start:7px;border-radius:999px;background:rgba(6,40,52,.66);border:1px solid rgba(126,226,240,.3);font-size:13.5px}
.v3 .tz-root .v3-kit6 figcaption span:first-child{border-top:1px solid rgba(126,226,240,.3)}
.v3 .tz-root .v3-kit6 figcaption i{width:21px;height:21px;font-size:11.5px}
}
@container (min-height: 690px){
.v3 .tz-root .v3-kit6:not(.plain) .v3-kit-pic{display:none}
.v3 .tz-root .v3-kit6:not(.plain) figcaption{position:absolute;width:1px;height:1px;margin:0;overflow:hidden;clip-path:inset(50%)}
.v3 .tz-root .v3-kit6 .v3-kit-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;flex:1 1 auto;align-content:space-evenly;margin-top:4px}
.v3 .tz-root .v3-kit-tile{display:flex;flex-direction:column;border-radius:16px;overflow:hidden;background:linear-gradient(180deg,rgba(12,70,88,.5),rgba(6,44,58,.5));box-shadow:inset 0 0 0 1px rgba(126,226,240,.16);transition:transform .35s ease,box-shadow .35s ease}
.v3 .tz-root .v3-kit-tile:hover{transform:translateY(-3px);box-shadow:inset 0 0 0 1px rgba(233,201,135,.5),0 14px 26px -16px rgba(0,0,0,.6)}
.v3 .tz-root .v3-kit-tile .pic{display:block;width:100%;aspect-ratio:1;background-repeat:no-repeat;background-size:calc(100% / var(--sw,.23)) auto}
.v3 .tz-root .v3-kit-tile b{display:flex;align-items:center;gap:10px;padding:10px 12px 12px;color:#EAF6F8;font-size:14.5px;font-weight:600;line-height:1.3}
.v3 .tz-root .v3-kit-tile b i{font-style:normal;display:grid;place-items:center;width:23px;height:23px;border-radius:50%;flex:none;background:linear-gradient(150deg,#EBCB85,#B98F3F);color:#0B2A35;font:700 12px/1 var(--font-body);box-shadow:0 2px 6px rgba(0,0,0,.35)}
.v3 .tz-root .v3-kit-tile:last-child:nth-child(odd){grid-column:1/-1;flex-direction:row;align-items:center}
.v3 .tz-root .v3-kit-tile:last-child:nth-child(odd) .pic{width:50%}
}
/* pages without a list: the still life fills the card */
.v3 .tz-root .v3-kit.v3-kit6.plain{padding:0}
.v3 .tz-root .v3-kit6.plain .v3-kit-pic{flex:1 1 auto;aspect-ratio:auto;min-height:240px;border-radius:0;-webkit-mask-image:none;mask-image:none}
.v3 .tz-root .v3-kit6.plain .v3-kit-stage{-webkit-mask-image:none;mask-image:none}
@media (max-width:1024px){.v3 .tz-root .v3-kit.v3-kit6{aspect-ratio:auto;min-height:0;container-type:inline-size;margin-top:0}.v3 .tz-root .v3-kit6.plain .v3-kit-pic{aspect-ratio:16/10}}
@media (max-width:680px){.v3 .tz-root .v3-kit6 figcaption span,[dir="rtl"] .v3 .tz-root .v3-kit6 figcaption span{font-size:14.5px;padding:8px 2px}}
/* 13.32 animated figures (version 6): the rendered rise plays on a canvas once the figure is in view; then the finished frame stays.
   The sector chart: a column lights up under the pointer / the focus and names its sector; names stand on the stage, a legend replaces them on phones. */
.v3 .tz-root .v3-seq{position:relative;width:100%;overflow:hidden}
.v3 .tz-root .v3-seq > img.v3-seq-base,.v3 .tz-root .v3-seq > img.v3-seq-full,.v3 .tz-root .v3-seq > canvas{position:absolute;inset:0;width:100%;height:100%;display:block;max-width:none;border-radius:0}
.v3 .tz-root .v3-seq > img.v3-seq-full,.v3 .tz-root .v3-seq > canvas{opacity:0}
.v3 .tz-root .v3-seq.is-play > canvas{opacity:1}
.v3 .tz-root .v3-seq.is-done > img.v3-seq-full{opacity:1}
.v3 .tz-root .v3-seq.is-done > canvas{opacity:0;transition:opacity .3s ease .12s}
.v3 .tz-root .v3-secfig .v3-fig-head{position:relative;inset:auto;top:auto;padding:16px 22px 0;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline;justify-content:space-between}
.v3 .tz-root .v3-sec-lit{position:absolute;display:block;max-width:none;opacity:0;transition:opacity .25s ease;pointer-events:none;z-index:1}
.v3 .tz-root .v3-sec-lit.on{opacity:1}
.v3 .tz-root .v3-sec-hit{position:absolute;display:block;z-index:3;border-radius:14px;outline:0}
.v3 .tz-root .v3-sec-hit:focus-visible{box-shadow:0 0 0 2px #EBCB85}
.v3 .tz-root .v3-sec-tip{position:absolute;left:50%;bottom:calc(100% + 2px);transform:translate(-50%,8px);padding:6px 12px;border-radius:999px;white-space:nowrap;font-size:13px;font-weight:700;line-height:1.2;color:#0B2A35;
  background:linear-gradient(135deg,#F2D795,#C99B45);box-shadow:0 10px 20px -8px rgba(0,0,0,.6);opacity:0;transition:opacity .2s ease,transform .25s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.v3 .tz-root .v3-sec-hit.on .v3-sec-tip,.v3 .tz-root .v3-sec-hit:hover .v3-sec-tip,.v3 .tz-root .v3-sec-hit:focus-visible .v3-sec-tip{opacity:1;transform:translate(-50%,0)}
.v3 .tz-root .v3-sec-foot{position:absolute;z-index:2;transform:translate(-50%,8px);white-space:nowrap;padding:4px 10px;border-radius:999px;font-size:12.5px;font-weight:600;line-height:1.2;color:#EAF8FA;background:rgba(4,30,40,.78);box-shadow:inset 0 0 0 1px rgba(126,226,240,.28),0 6px 14px -8px rgba(0,0,0,.7);pointer-events:none;opacity:0;transition:opacity .4s ease .5s}
.v3 .tz-root .v3-sec-foot.lo{transform:translate(-50%,36px)}
.v3 .tz-root .v3-seq.is-done ~ .v3-sec-foot,.v3 .tz-root .v3-seq.is-done .v3-sec-foot{opacity:1}
.v3 .tz-root .v3-realfig .v3-legend.v3-sec-legend{display:none}
.v3 .tz-root .v3-sec-legend a{display:inline-flex;align-items:center;gap:8px;color:#DDF3F6;font-size:13.5px;font-weight:600;text-decoration:none}
.v3 .tz-root .v3-sec-legend a:hover{color:#fff}
@media (max-width:820px){.v3 .tz-root .v3-sec-foot{display:none}.v3 .tz-root .v3-realfig .v3-legend.v3-sec-legend{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:0;padding:4px 16px 16px;background:none}.v3 .tz-root .v3-sec-tip{font-size:12px;padding:5px 10px}}
@media (prefers-reduced-motion:reduce){.v3 .tz-root .v3-seq > canvas{display:none}.v3 .tz-root .v3-seq > img.v3-seq-full{opacity:1}.v3 .tz-root .v3-sec-foot{opacity:1;transition:none}}
html.static-mode .v3 .tz-root .v3-seq > img.v3-seq-full{opacity:1}html.static-mode .v3 .tz-root .v3-sec-foot{opacity:1}
/* 13.33 version 6 figures: values appear when the rise is complete; balance towers carry their names on the blocks */
.v3 .tz-root .v3r-tilt:has(.v3-seq:not(.is-done)) ~ .v3r-tags .v3r-tag{opacity:0 !important}
.v3 .tz-root .v3r-tilt > .v3-seq{border-radius:inherit}
.v3 .tz-root .v3-bal-tag{position:absolute;z-index:2;transform:translate(-50%,-50%);display:flex;flex-direction:row;align-items:baseline;gap:8px;white-space:nowrap;pointer-events:none;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.75);opacity:0;transition:opacity .35s ease var(--d,0ms)}
.v3 .tz-root .v3-bal-tag b{font-size:14px;font-weight:700;line-height:1.15}
.v3 .tz-root .v3-bal-tag i{font-style:normal;font-family:var(--font-body);font-size:13.5px;font-weight:700;line-height:1.1;color:#FFE3A6}
.v3 .tz-root .v3-seq.is-done .v3-bal-tag,.v3 .tz-root .v3-seq.is-done .v3-bal-foot,.v3 .tz-root .v3-seq.is-done .v3-bal-eq{opacity:1}
.v3 .tz-root .v3-bal-foot{position:absolute;z-index:2;transform:translate(-50%,10px);padding:5px 12px;border-radius:999px;white-space:nowrap;font-size:13.5px;font-weight:700;color:#EAF8FA;background:rgba(4,30,40,.78);box-shadow:inset 0 0 0 1px rgba(126,226,240,.28);pointer-events:none;opacity:0;transition:opacity .4s ease .5s}
.v3 .tz-root .v3-bal-eq{position:absolute;z-index:2;transform:translate(-50%,-135%);font:700 26px/1 var(--font-body);color:#F2D795;text-shadow:0 0 14px rgba(255,200,110,.7);pointer-events:none;opacity:0;transition:opacity .4s ease .6s}
.v3 .tz-root .v3-bal-note{margin:0;padding:12px 22px 16px;color:#CFE6EB;font-size:14px;line-height:1.6;text-align:center}
@media (max-width:680px){.v3 .tz-root .v3-bal-tag{gap:4px}.v3 .tz-root .v3-bal-tag b{font-size:9.5px}.v3 .tz-root .v3-bal-tag i{font-size:9.5px}.v3 .tz-root .v3-bal-foot{font-size:11.5px;padding:4px 9px}.v3 .tz-root .v3-bal-eq{font-size:18px}.v3 .tz-root .v3-bal-note{font-size:13px;padding:10px 14px 14px}}
@media (prefers-reduced-motion:reduce){.v3 .tz-root .v3-bal-tag,.v3 .tz-root .v3-bal-foot,.v3 .tz-root .v3-bal-eq{opacity:1;transition:none}}
html.static-mode .v3 .tz-root .v3-bal-tag,html.static-mode .v3 .tz-root .v3-bal-foot,html.static-mode .v3 .tz-root .v3-bal-eq{opacity:1}
/* 13.34 the About family (Vision & Mission · Owner's Message · Al Tamayuz Media) and the film system (brief FINAL-DESIGN-AND-PRODUCTION-DEPLOY-01).
   Films: a curved cinematic frame — poster first, a silent teaser while the frame is on screen, a click opens the large player with sound.
   Supporting loops on service pages use the same teaser rules (one playing at a time; never any sound without a click). */
.v3 .tz-root .v3-fam{background:#06303E;border-block:1px solid rgba(126,226,240,.14)}
.v3 .tz-root .v3-fam-in{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-block:10px}
.v3 .tz-root .v3-fam-in::-webkit-scrollbar{display:none}
.v3 .tz-root .v3-fam a{flex:none;padding:9px 16px;border-radius:999px;color:#CFE6EB;font-weight:600;font-size:14.5px;white-space:nowrap;transition:background .25s ease,color .25s ease}
.v3 .tz-root .v3-fam a:hover,.v3 .tz-root .v3-fam a:focus-visible{background:rgba(126,226,240,.12);color:#fff}
.v3 .tz-root .v3-fam a.is-current{background:linear-gradient(135deg,#EBCB85,#B98F3F);color:#0B2A35}
.v3 .tz-root .v3-fam-hero .ph-grid{align-items:center}
/* film frame: a linked poster, an optional silent teaser, a caption; the shade and the play button are drawn here */
.v3 .tz-root .v3-film{position:relative;aspect-ratio:16/9;border-radius:26px;overflow:hidden;background:#041E28;isolation:isolate;
  box-shadow:0 44px 72px -40px rgba(4,30,40,.9),0 0 0 1px rgba(126,226,240,.24);transition:transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .4s ease}
.v3 .tz-root .v3-film.portrait{aspect-ratio:9/16;max-width:340px;margin-inline:auto}
.v3 .tz-root .v3-film-link{position:absolute;inset:0;z-index:1;display:block;outline:0;cursor:pointer}
.v3 .tz-root .v3-film-link img,.v3 .tz-root .v3-film-loop{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;max-width:none;border-radius:0}
.v3 .tz-root .v3-film::before{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(to top,rgba(4,22,30,.9) 0,rgba(4,22,30,.34) 36%,rgba(4,22,30,0) 60%),linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,0) 20%)}
.v3 .tz-root .v3-film-loop{z-index:2;opacity:0;transition:opacity .6s ease;pointer-events:none}
.v3 .tz-root .v3-film.is-live .v3-film-loop{opacity:1}
.v3 .tz-root .v3-film::after{content:"";position:absolute;z-index:4;left:50%;top:45%;width:84px;height:84px;margin:-42px 0 0 -42px;border-radius:50%;pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%230B2A35' d='M8 5.5v13a1 1 0 0 0 1.5.86l11-6.5a1 1 0 0 0 0-1.72l-11-6.5A1 1 0 0 0 8 5.5z'/%3E%3C/svg%3E") 56% 50%/34px 34px no-repeat,linear-gradient(135deg,#F2D795,#C99B45);
  box-shadow:0 0 0 10px rgba(235,203,133,.18),0 18px 34px -12px rgba(0,0,0,.7);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease}
.v3 .tz-root .v3-film.portrait::after{width:68px;height:68px;margin:-34px 0 0 -34px;background-size:28px 28px,auto}
.v3 .tz-root .v3-film:hover,.v3 .tz-root .v3-film:focus-within{transform:translateY(-4px);box-shadow:0 54px 80px -40px rgba(4,30,40,.95),0 0 0 1px rgba(233,201,135,.6)}
.v3 .tz-root .v3-film:hover::after,.v3 .tz-root .v3-film:focus-within::after{transform:scale(1.08);box-shadow:0 0 0 16px rgba(235,203,133,.16),0 22px 40px -12px rgba(0,0,0,.75)}
.v3 .tz-root .v3-film:has(.v3-film-link:focus-visible){outline:3px solid #EBCB85;outline-offset:4px}
.v3 .tz-root .v3-film-cap{position:absolute;z-index:4;inset-inline:22px;bottom:18px;display:grid;gap:3px;text-align:start;color:#fff;pointer-events:none}
.v3 .tz-root .v3-film-cap .k{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#E9C987}
[dir="rtl"] .v3 .tz-root .v3-film-cap .k{letter-spacing:0;font-size:13px}
.v3 .tz-root .v3-film-cap b{font-family:var(--font-body);font-size:clamp(17px,1.6vw,23px);font-weight:700;line-height:1.3}
.v3 .tz-root .v3-film-cap .m{font-size:13.5px;color:#CFE3E8}
.v3 .tz-root .v3-film.portrait .v3-film-cap{inset-inline:16px;bottom:14px}.v3 .tz-root .v3-film.portrait .v3-film-cap b{font-size:16.5px}
.v3 .tz-root .page-hero .v3-film.is-hero{max-width:640px;margin-inline:auto}
/* large player: the existing modal, also for the official YouTube upload */
.v3 .tz-root .video-modal .vm-box iframe{display:block;width:100%;aspect-ratio:16/9;max-height:74vh;border:0;background:#000}
.v3 .tz-root .video-modal.is-yt .vm-box video{display:none}
.v3 .tz-root .video-modal.is-portrait .vm-box{max-width:min(420px,92vw)}
.v3 .tz-root .video-modal.is-portrait .vm-box video{max-height:78vh}
/* two-column editorial splits */
.v3 .tz-root .v3-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4.4vw,68px);align-items:center}
.v3 .tz-root .v3-split.wide{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
.v3 .tz-root .v3-split.narrow{grid-template-columns:minmax(0,1.2fr) minmax(0,.7fr)}
.v3 .tz-root .v3-split .editorial-copy .btn{margin-top:10px}
.v3 .tz-root .v3-facts{display:flex;flex-wrap:wrap;gap:12px 30px;margin:18px 0 6px;padding:16px 0 0;border-top:1px solid var(--slate-200,#D9E1E4)}
.v3 .tz-root .v3-facts div{display:grid;gap:2px}
.v3 .tz-root .v3-facts dt{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#1A9DAD}
[dir="rtl"] .v3 .tz-root .v3-facts dt{letter-spacing:0;font-size:13px}
.v3 .tz-root .v3-facts dd{margin:0;font-weight:700;color:var(--petrol,#08384A)}
.v3 .tz-root .v3-chapters{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.v3 .tz-root .v3-chapter{display:inline-flex;align-items:center;gap:9px;text-decoration:none;padding:8px 15px 8px 9px;border-radius:999px;border:1px solid rgba(26,157,173,.35);background:#fff;color:var(--petrol,#08384A);font:600 14px/1.2 var(--font-body);cursor:pointer;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
[dir="rtl"] .v3 .tz-root .v3-chapter{padding:8px 9px 8px 15px}
.v3 .tz-root .v3-chapter .t{padding:4px 8px;border-radius:999px;background:#08384A;color:#F2D795;font-size:12px;font-weight:700}
.v3 .tz-root .v3-chapter:hover,.v3 .tz-root .v3-chapter:focus-visible{transform:translateY(-2px);border-color:#C9A24D;box-shadow:0 10px 20px -12px rgba(8,56,74,.5)}
/* Vision & Mission */
.v3 .tz-root .v3-statement{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(28px,5vw,76px);align-items:center}
.v3 .tz-root .v3-statement.flip{grid-template-columns:minmax(0,1.18fr) minmax(0,.82fr)}.v3 .tz-root .v3-statement.flip .v3-statement-fig{order:2}
.v3 .tz-root .v3-statement-fig{margin:0;border-radius:30px;overflow:hidden;aspect-ratio:4/4.3;background:#062B39;box-shadow:0 40px 70px -40px rgba(8,56,74,.75),0 0 0 1px rgba(126,226,240,.2)}
.v3 .tz-root .v3-statement-fig img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 34%;border-radius:0;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.v3 .tz-root .v3-statement:hover .v3-statement-fig img{transform:scale(1.04)}
.v3 .tz-root .v3-statement-body h2{margin:6px 0 0}
.v3 .tz-root .v3-statement-q{margin:16px 0 20px;border:0;font-size:clamp(19px,1.9vw,26px);line-height:1.6;color:var(--petrol,#08384A)}
html:not([dir="rtl"]) .v3 .tz-root .v3-statement-q{padding:0 0 0 22px;border-left:4px solid #C9A24D}[dir="rtl"] .v3 .tz-root .v3-statement-q{padding:0 22px 0 0;border-right:4px solid #C9A24D}
.v3 .tz-root .v3-statement-chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0}
.v3 .tz-root .v3-statement-chips li{padding:7px 15px;border-radius:999px;background:rgba(26,157,173,.1);color:#0F5F6B;font-weight:600;font-size:14.5px;box-shadow:inset 0 0 0 1px rgba(26,157,173,.26)}
.v3 .tz-root .v3-values{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.v3 .tz-root .v3-value{display:flex;flex-direction:column;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 18px 36px -24px rgba(8,56,74,.45),0 0 0 1px var(--slate-200,#D9E1E4);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease}
.v3 .tz-root .v3-value:hover{transform:translateY(-6px);box-shadow:0 28px 46px -24px rgba(8,56,74,.55),0 0 0 1px rgba(201,162,77,.6)}
.v3 .tz-root .v3-value figure{margin:0;aspect-ratio:1/1.02;overflow:hidden;background:#062B39}
.v3 .tz-root .v3-value figure img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 30%;border-radius:0;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.v3 .tz-root .v3-value:hover figure img{transform:scale(1.07)}
.v3 .tz-root .v3-value-b{padding:16px 16px 18px;display:grid;gap:6px}
.v3 .tz-root .v3-value-b h3{margin:0;font-size:18px}
.v3 .tz-root .v3-value-b p{margin:0;font-size:14.5px;line-height:1.6;color:var(--slate-700,#33474F)}
.v3 .tz-root .why-cards.v3-why3{grid-template-columns:repeat(3,minmax(0,1fr))}
.v3 .tz-root .v3-next{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px}
/* Owner's Message */
/* the founder stands on the hero itself: no card, no white (owner note N60). The picture is a cut-out with its own alpha;
   the two frame crops of the photograph (bottom, and the arm on the right) fade out inside the file */
.v3 .tz-root .v3-portrait{position:relative;margin:0 auto;max-width:430px;border-radius:0;overflow:visible;background:none;box-shadow:none;isolation:isolate}
.v3 .tz-root .v3-portrait::before{content:"";position:absolute;z-index:-1;inset-inline:-10%;top:3%;aspect-ratio:1;border-radius:50%;pointer-events:none;background:radial-gradient(closest-side,rgba(126,214,223,.36),rgba(126,214,223,.15) 52%,rgba(126,214,223,0) 76%)}
.v3 .tz-root .v3-portrait::after{content:"";position:absolute;z-index:-1;inset-inline:0;top:10%;aspect-ratio:1;border-radius:50%;pointer-events:none;border:1.5px solid rgba(233,201,135,.6);-webkit-mask:linear-gradient(180deg,#000 0,#000 40%,transparent 74%);mask:linear-gradient(180deg,#000 0,#000 40%,transparent 74%)}
.v3 .tz-root .v3-portrait img{display:block;width:100%;height:auto;max-width:none;aspect-ratio:669/1090;object-fit:contain;mix-blend-mode:normal;border-radius:0;filter:drop-shadow(0 24px 30px rgba(2,22,30,.45))}
.v3 .tz-root .v3-portrait figcaption{position:absolute;inset-inline:9%;bottom:2%;padding:12px 16px;border-radius:16px;border:1px solid rgba(233,201,135,.38);box-shadow:0 18px 30px -18px rgba(2,22,30,.8);background:rgba(9,52,67,.82);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;display:grid;gap:2px;text-align:start}
.v3 .tz-root .v3-portrait figcaption .eyebrow{color:#E9C987;margin:0}
.v3 .tz-root .v3-portrait figcaption b{font-size:17px;font-weight:700}
.v3 .tz-root .v3-letter-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.72fr);gap:clamp(28px,5vw,76px);align-items:start}
.v3 .tz-root .v3-letter{max-width:68ch}
.v3 .tz-root .v3-letter-q{margin:12px 0 26px;border:0;font-size:clamp(22px,2.3vw,32px);line-height:1.45;color:var(--petrol,#08384A)}
html:not([dir="rtl"]) .v3 .tz-root .v3-letter-q{padding:0 0 0 22px;border-left:4px solid #C9A24D}[dir="rtl"] .v3 .tz-root .v3-letter-q{padding:0 22px 0 0;border-right:4px solid #C9A24D}
.v3 .tz-root .v3-letter p{font-size:17.5px;line-height:1.9;color:var(--slate-700,#33474F);margin:0 0 18px}
.v3 .tz-root .v3-sign{display:flex;align-items:center;gap:14px;margin-top:28px;padding-top:22px;border-top:1px solid var(--slate-200,#D9E1E4)}
.v3 .tz-root .v3-sign-mark{flex:none;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#EBCB85,#B98F3F);box-shadow:0 0 0 6px rgba(235,203,133,.2);position:relative}
.v3 .tz-root .v3-sign-mark::after{content:"";position:absolute;left:50%;top:46%;width:18px;height:9px;border-left:3px solid #0B2A35;border-bottom:3px solid #0B2A35;transform:translate(-50%,-50%) rotate(-45deg)}
.v3 .tz-root .v3-sign b{display:block;font-size:17px;color:var(--petrol,#08384A)}
.v3 .tz-root .v3-sign span{font-size:14.5px;color:var(--slate-700,#33474F)}
.v3 .tz-root .v3-letter-aside{position:sticky;top:110px;display:grid;gap:14px}
.v3 .tz-root .v3-transcript{border-radius:16px;background:#F4F7F8;box-shadow:inset 0 0 0 1px var(--slate-200,#D9E1E4);padding:2px 16px}
.v3 .tz-root .v3-transcript summary{cursor:pointer;padding:12px 0;font-weight:700;color:var(--petrol,#08384A)}
.v3 .tz-root .v3-transcript p{font-size:15px;line-height:1.75;margin:0 0 12px;color:var(--slate-700,#33474F)}
.v3 .tz-root .v3-transcript p.note{font-size:13px;color:#5E7178}
.v3 .tz-root .v3-vchips{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.v3 .tz-root .v3-vchip{position:relative;display:block;border-radius:20px;overflow:hidden;aspect-ratio:1/1.05;background:#062B39;box-shadow:0 18px 34px -22px rgba(8,56,74,.6);transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.v3 .tz-root .v3-vchip:hover,.v3 .tz-root .v3-vchip:focus-visible{transform:translateY(-5px)}
.v3 .tz-root .v3-vchip img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 28%;border-radius:0}
.v3 .tz-root .v3-vchip span{position:absolute;inset-inline:0;bottom:0;padding:26px 12px 12px;background:linear-gradient(to top,rgba(4,26,35,.92),rgba(4,26,35,0));color:#fff;font-weight:700;font-size:15px;text-align:center}
/* supporting loops on service pages: the still of a working moment becomes a silent film of it */
.v3 .tz-root .v3-loop{position:relative;border-radius:inherit;overflow:hidden;background:#041E28;isolation:isolate}
.v3 .tz-root .v3-loop video,.v3 .tz-root .v3-loop img{display:block;width:100%;height:100%;object-fit:cover;max-width:none;border-radius:0}
.v3 .tz-root .v3-loop video{position:absolute;inset:0;opacity:0;transition:opacity .6s ease}
.v3 .tz-root .v3-loop.is-live video{opacity:1}
.v3 .tz-root .v3-loop-tag{position:absolute;z-index:2;inset-inline-start:14px;top:14px;display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:rgba(6,40,52,.72);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#EAF8FA;font-size:12.5px;font-weight:600}
.v3 .tz-root .v3-loop-tag::before{content:"";width:7px;height:7px;border-radius:50%;background:#3FC1D0;box-shadow:0 0 0 0 rgba(63,193,208,.6)}
.v3 .tz-root .v3-loop.is-live .v3-loop-tag::before{animation:v3LoopDot 1.8s ease-out infinite}
@keyframes v3LoopDot{0%{box-shadow:0 0 0 0 rgba(63,193,208,.6)}100%{box-shadow:0 0 0 9px rgba(63,193,208,0)}}
@media (max-width:1100px){.v3 .tz-root .v3-values{grid-template-columns:repeat(3,minmax(0,1fr))}.v3 .tz-root .v3-vchips{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.v3 .tz-root .v3-vchip span{font-size:13px}}
@media (max-width:900px){.v3 .tz-root .v3-split,.v3 .tz-root .v3-split.wide,.v3 .tz-root .v3-split.narrow,.v3 .tz-root .v3-statement,.v3 .tz-root .v3-letter-grid{grid-template-columns:1fr}.v3 .tz-root .v3-statement.flip .v3-statement-fig{order:0}
.v3 .tz-root .v3-statement-fig{aspect-ratio:16/11;max-width:560px}.v3 .tz-root .v3-letter-aside{position:static}.v3 .tz-root .why-cards.v3-why3{grid-template-columns:1fr}.v3 .tz-root .v3-split.flip > :first-child{order:0}}
@media (max-width:680px){.v3 .tz-root .v3-values{grid-template-columns:repeat(2,minmax(0,1fr))}.v3 .tz-root .v3-value:last-child{grid-column:1/-1;flex-direction:row}.v3 .tz-root .v3-value:last-child figure{flex:0 0 44%}
.v3 .tz-root .v3-vchips{grid-template-columns:repeat(3,minmax(0,1fr))}.v3 .tz-root .v3-film::after{width:64px;height:64px;margin:-32px 0 0 -32px;background-size:26px 26px,auto}
.v3 .tz-root .v3-film-cap{inset-inline:14px;bottom:12px}.v3 .tz-root .v3-film{border-radius:20px}.v3 .tz-root .v3-letter p{font-size:16.5px}.v3 .tz-root .v3-portrait{max-width:300px}}
@media (prefers-reduced-motion:reduce){.v3 .tz-root .v3-film,.v3 .tz-root .v3-film::after,.v3 .tz-root .v3-value,.v3 .tz-root .v3-value figure img,.v3 .tz-root .v3-statement-fig img,.v3 .tz-root .v3-vchip{transition:none}.v3 .tz-root .v3-loop.is-live .v3-loop-tag::before{animation:none}}
/* 13.35 the six-card homepage hero: a curved cinematic deck (brief FINAL-DESIGN-AND-PRODUCTION-DEPLOY-01).
   The active card faces the visitor; its neighbours turn away on a curve and dim. --o = signed place of a card relative to the active one,
   --a = its distance (both set by fix.js). Without JavaScript the first card simply shows. */
.v3 .tz-root .hero .hero-inner:has(.v3-deck-wrap){grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);align-items:center}
.v3 .tz-root .v3-deck-wrap{min-width:0}
.v3 .tz-root .v3-deck{position:relative;width:100%;max-width:620px;margin-inline:auto;--dx:1;--iv:5500ms}
[dir="rtl"] .v3 .tz-root .v3-deck{--dx:-1}
.v3 .tz-root .v3-deck-stage{position:relative;aspect-ratio:1/1.02;perspective:1500px;perspective-origin:50% 44%;touch-action:pan-y}
.v3 .tz-root .v3-deck-card{position:absolute;top:0;bottom:0;left:14%;width:72%;margin:0;border-radius:28px;overflow:hidden;background:#062B39;isolation:isolate;cursor:pointer;
  box-shadow:0 44px 70px -36px rgba(2,20,28,.95),0 0 0 1px rgba(126,226,240,.2);
  transform:translate3d(calc(var(--o,0) * var(--dx) * 46%),0,calc(var(--a,0) * -200px)) rotateY(calc(var(--o,0) * var(--dx) * -25deg)) scale(calc(1 - var(--a,0) * .1));
  opacity:calc(1 - var(--a,0) * .28);z-index:calc(10 - var(--a,0));transition:transform .85s cubic-bezier(.2,.8,.2,1),opacity .6s ease,box-shadow .5s ease;will-change:transform}
.v3 .tz-root .v3-deck:not(.is-ready) .v3-deck-card:not(:first-child){opacity:0;visibility:hidden}
.v3 .tz-root .v3-deck-card.is-far{opacity:0;visibility:hidden;pointer-events:none}
.v3 .tz-root .v3-deck-card.is-active{cursor:default;box-shadow:0 50px 80px -36px rgba(2,20,28,1),0 0 0 1px rgba(233,201,135,.55),0 0 60px -20px rgba(63,193,208,.5)}
.v3 .tz-root .v3-deck-media{position:absolute;inset:0;background:#041E28}
.v3 .tz-root .v3-deck-stage{-webkit-user-select:none;user-select:none}.v3 .tz-root .v3-deck-stage img,.v3 .tz-root .v3-deck-stage a{-webkit-user-drag:none}
.v3 .tz-root .v3-deck-media img,.v3 .tz-root .v3-deck-media video{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;display:block;border-radius:0}
.v3 .tz-root .v3-deck-media video{opacity:0;transition:opacity .6s ease}
.v3 .tz-root .v3-deck-card.is-playing .v3-deck-media video{opacity:1}
.v3 .tz-root .v3-deck-card::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:rgba(3,20,28,calc(var(--a,0) * .46));transition:background .6s ease}
.v3 .tz-root .v3-deck-body{position:absolute;z-index:2;inset-inline:0;bottom:0;padding:84px 24px 22px;display:grid;gap:8px;text-align:start;color:#fff;
  background:linear-gradient(to top,rgba(4,22,30,.97) 0,rgba(4,22,30,.84) 42%,rgba(4,22,30,0) 100%)}
.v3 .tz-root .v3-deck-tag{justify-self:start;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#0B2A35;background:linear-gradient(135deg,#F2D795,#C99B45)}
[dir="rtl"] .v3 .tz-root .v3-deck-tag{letter-spacing:0;font-size:13px}
.v3 .tz-root .v3-deck-body h3{margin:0;color:#fff;font-size:clamp(20px,1.9vw,26px);line-height:1.25}
.v3 .tz-root .v3-deck-body p{margin:0;font-size:15.5px;line-height:1.6;color:#D5E6EA;max-width:38ch}
.v3 .tz-root .v3-deck-link{justify-self:start;display:inline-flex;align-items:center;gap:8px;margin-top:6px;padding:9px 16px;border-radius:999px;font-size:14px;font-weight:700;color:#EAF8FA;background:rgba(126,226,240,.14);box-shadow:inset 0 0 0 1px rgba(126,226,240,.4);transition:background .25s ease,color .25s ease}
.v3 .tz-root .v3-deck-link:hover,.v3 .tz-root .v3-deck-link:focus-visible{background:linear-gradient(135deg,#F2D795,#C99B45);color:#0B2A35;box-shadow:none}
.v3 .tz-root .v3-deck-link svg{width:15px;height:15px}
[dir="rtl"] .v3 .tz-root .v3-deck-link svg,[dir="rtl"] .v3 .tz-root .v3-deck-link svg{transform:scaleX(-1)}
.v3 .tz-root .v3-deck-card:not(.is-active) .v3-deck-body{opacity:0;pointer-events:none}
.v3 .tz-root .v3-deck-body{transition:opacity .45s ease .2s}
[dir="rtl"] .v3 .tz-root .hero .fta-badge{font-size:13.5px}.v3 .tz-root .hero .fta-badge .loc{white-space:nowrap}
/* controls */
.v3 .tz-root .v3-deck-ctl{display:flex;align-items:center;gap:10px;margin-top:18px}
.v3 .tz-root .v3-deck-nav,.v3 .tz-root .v3-deck-pause{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid rgba(126,226,240,.35);background:rgba(6,40,52,.55);color:#EAF8FA;cursor:pointer;transition:background .25s ease,border-color .25s ease,transform .25s ease}
.v3 .tz-root .v3-deck-nav:hover,.v3 .tz-root .v3-deck-pause:hover,.v3 .tz-root .v3-deck-nav:focus-visible,.v3 .tz-root .v3-deck-pause:focus-visible{background:rgba(126,226,240,.2);border-color:#EBCB85;transform:translateY(-1px)}
.v3 .tz-root .v3-deck-nav svg{width:18px;height:18px}.v3 .tz-root .v3-deck-pause svg{width:16px;height:16px}
[dir="rtl"] .v3 .tz-root .v3-deck-nav svg{transform:scaleX(-1)}
.v3 .tz-root .v3-deck-pause .i-play{display:none}.v3 .tz-root .v3-deck-pause[aria-pressed="true"] .i-play{display:block}.v3 .tz-root .v3-deck-pause[aria-pressed="true"] .i-pause{display:none}
.v3 .tz-root .v3-deck-tabs{flex:1 1 auto;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;min-width:0}
.v3 .tz-root .v3-deck-tab{display:grid;gap:7px;padding:6px 0 0;border:0;background:none;color:#9FC3CC;font:600 12.5px/1.2 var(--font-body);cursor:pointer;text-align:center;min-width:0;transition:color .25s ease}
.v3 .tz-root .v3-deck-tab span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v3 .tz-root .v3-deck-tab i{display:block;height:4px;border-radius:4px;background:rgba(126,226,240,.22);overflow:hidden;position:relative}
.v3 .tz-root .v3-deck-tab i::after{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:0;border-radius:4px;background:linear-gradient(90deg,#3FC1D0,#EBCB85)}
[dir="rtl"] .v3 .tz-root .v3-deck-tab i::after{background:linear-gradient(270deg,#3FC1D0,#EBCB85)}
.v3 .tz-root .v3-deck-tab:hover,.v3 .tz-root .v3-deck-tab:focus-visible,.v3 .tz-root .v3-deck-tab.is-active{color:#fff}
.v3 .tz-root .v3-deck-tab.is-active i::after{width:100%}
.v3 .tz-root .v3-deck.is-auto .v3-deck-tab.is-active i::after{animation:v3DeckFill var(--iv) linear both}
.v3 .tz-root .v3-deck.is-auto.is-held .v3-deck-tab.is-active i::after{animation-play-state:paused}
@keyframes v3DeckFill{from{width:0}to{width:100%}}
.v3 .tz-root .v3-deck-nav:focus-visible,.v3 .tz-root .v3-deck-pause:focus-visible,.v3 .tz-root .v3-deck-tab:focus-visible,.v3 .tz-root .v3-deck-link:focus-visible{outline:2px solid #EBCB85;outline-offset:3px}
@media (max-width:1100px){.v3 .tz-root .hero .hero-inner:has(.v3-deck-wrap){grid-template-columns:1fr}.v3 .tz-root .v3-deck{max-width:560px;margin-top:10px}}
@media (max-width:680px){.v3 .tz-root .v3-deck-stage{aspect-ratio:1/1.22}.v3 .tz-root .v3-deck-card{left:8%;width:84%;border-radius:22px}.v3 .tz-root .v3-deck-body{padding:70px 18px 18px}.v3 .tz-root .v3-deck-body p{font-size:14.5px}
.v3 .tz-root .v3-deck-tab span{display:none}.v3 .tz-root .v3-deck-tab{padding:14px 0}.v3 .tz-root .v3-deck-ctl{gap:8px}.v3 .tz-root .v3-deck-nav,.v3 .tz-root .v3-deck-pause{width:44px;height:44px}}
@media (prefers-reduced-motion:reduce){.v3 .tz-root .v3-deck-card{transition:opacity .2s ease}.v3 .tz-root .v3-deck.is-auto .v3-deck-tab.is-active i::after{animation:none;width:100%}}
html.static-mode .v3 .tz-root .v3-deck-card{transition:none}
/* 13.36 silent loops inside the "working moment" pictures (same rules as the film teasers: on screen only, one at a time, never any sound) */
.v3 .tz-root .ph > video.v3-still-loop,.v3 .tz-root .v3-shot > video.v3-still-loop{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;display:block;border-radius:0;opacity:0;transition:opacity .6s ease}
.v3 .tz-root .ph.is-live > video.v3-still-loop,.v3 .tz-root .v3-shot.is-live > video.v3-still-loop{opacity:1}
.v3 .tz-root .v3-shot{position:relative}
.v3 .tz-root .v3-statement-q{font-family:var(--font-body);font-weight:500}
/* 13.37 node diagrams as rendered figures: names on the stage (they may wrap), an ordered list instead on small screens */
.v3 .tz-root .v3-mapfig .v3-sec-foot{white-space:normal;max-width:9.5em;text-align:center;line-height:1.25;padding:4px 9px;border-radius:12px}
.v3 .tz-root .v3-mapfig .v3-fig-head b{font-size:15px;line-height:1.4;font-weight:600}
.v3 .tz-root .v3-mapfig .v3-sec-foot.up{transform:translate(-50%,-100%)}
.v3 .tz-root .v3-mapfig.few{max-width:600px;margin-top:22px}
.v3 .tz-root .v3-mapfig.few .v3-fig-head{padding:12px 16px 0}
.v3 .tz-root .v3-map-legend{display:none;list-style:none;counter-reset:m;margin:0;padding:4px 16px 16px;flex-wrap:wrap;gap:8px 10px}
.v3 .tz-root .v3-map-legend li{counter-increment:m;display:inline-flex;align-items:center;gap:7px;padding:5px 12px;padding-inline-start:6px;border-radius:999px;background:rgba(4,30,40,.6);box-shadow:inset 0 0 0 1px rgba(126,226,240,.26);color:#EAF8FA;font-size:13px;font-weight:600}
.v3 .tz-root .v3-map-legend li::before{content:counter(m);display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:linear-gradient(150deg,#EBCB85,#B98F3F);color:#0B2A35;font:700 11px/1 var(--font-body)}
@media (max-width:700px){.v3 .tz-root .v3-mapfig:not(.few) .v3-sec-foot{display:none}.v3 .tz-root .v3-mapfig:not(.few) .v3-map-legend{display:flex}.v3 .tz-root .v3-mapfig.few .v3-sec-foot{font-size:10.5px;padding:3px 7px;max-width:7.5em}}
/* 13.38 phone-width fixes from the final gate: the "open in Google Maps" button sat on the office card; value pills of the bar figures ran into the
   figure's title and into each other (the legend under the figure carries the same values) */
@media (max-width:680px){
.v3 .tz-root .map-wrap .v3-map-open{top:auto;bottom:64px;inset-inline:auto;right:14px;left:auto;padding:9px 14px;font-size:13px}
.v3 .tz-root .v3-realfig .v3-fig-head{position:relative;inset:auto;top:auto;padding:12px 14px 0;display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;justify-content:space-between}
.v3 .tz-root .v3-realfig:not(.v3-secfig) .v3r-tag{display:none}
}
/* ---------- PHONE-WIDTH LEGIBILITY (final review, clip probe at 320 / 360 / 390 / 430) ----------
   The page-level overflow gate passed while single components were cut by a parent or squeezed: one-column grids written as `1fr`
   cannot shrink below their widest child, later desktop rules overrode the phone sizes, and one inline value beat its media query. */
@media (max-width:1024px){
.v3 .tz-root .cc-lanes,.v3 .tz-root .k-featured,.v3 .tz-root .masthead,.v3 .tz-root .ind-editorial{grid-template-columns:minmax(0,1fr)}
.v3 .tz-root .cc-lane,.v3 .tz-root .k-featured > *,.v3 .tz-root .masthead > *,.v3 .tz-root .ind-editorial > *{min-width:0}
}
@media (max-width:900px){
/* the mirrored statement (mission) kept its two columns: the picture stood beside a column a few characters wide */
.v3 .tz-root .v3-statement.flip{grid-template-columns:minmax(0,1fr)}
.v3 .tz-root .page-hero .ph-grid,.v3 .tz-root .campaign-hero .ph-grid,.v3 .tz-root .hero .hero-inner{grid-template-columns:minmax(0,1fr)}
.v3 .tz-root .ph-inner,.v3 .tz-root .hero-copy,.v3 .tz-root .cmp-hero-form{min-width:0}
}
@media (max-width:480px){
/* credential chip: the registered-agency wording is longer than the screen is wide */
.v3 .tz-root .fta-wrap{max-width:100%}
.v3 .tz-root .fta-wrap > .fta-badge{white-space:normal;max-width:100%;text-align:start;line-height:1.35}
/* eight sector marks (home) */
.v3 .tz-root .sector-marks{grid-template-columns:repeat(4,minmax(0,1fr));padding:20px 12px;gap:16px 6px}
.v3 .tz-root .sector-marks a{min-width:0;font-size:11.5px}
.v3 .tz-root .sector-marks a i{width:52px;height:52px}
.v3 .tz-root .sector-marks a i svg{width:22px;height:22px}
.v3 .tz-root .sector-marks a span{overflow-wrap:anywhere}
.v3 .tz-root .sector-marks .sm-foot{letter-spacing:.08em;font-size:11px}
/* cards with desktop padding */
.v3 .tz-root .masthead .mh-main{padding:24px 20px}
.v3 .tz-root .k-featured .kf-main{padding:26px 20px}
.v3 .tz-root .kf-meta{padding:22px 20px}
.v3 .tz-root .cc-lane{padding:20px 18px}
.v3 .tz-root .cc-lane > *{max-width:100%}
.v3 .tz-root .masthead .mh-kicker,.v3 .tz-root .masthead .mh-meta,.v3 .tz-root .k-featured .kf-tags{flex-wrap:wrap}
.v3 .tz-root .masthead .mh-list a{grid-template-columns:auto minmax(0,1fr) auto}
/* scenario switch of the finance panels */
.e4 .tz-root .e4-fin-head{flex-wrap:wrap}
/* control matrix: column names read upwards instead of breaking inside the word */
html:not([dir="rtl"]) .e4 .tz-root .e4-matrix .mh:not(:first-child){writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;overflow-wrap:normal;padding:6px 0;justify-self:center;align-self:end;line-height:1}
[dir="rtl"] .e4 .tz-root .e4-matrix .mh{overflow-wrap:normal;padding-inline:2px;font-size:10px;text-align:center}
.e4 .tz-root .e4-matrix{grid-template-columns:minmax(104px,1.15fr) repeat(4,minmax(0,1fr))}
}
@media (max-width:360px){
/* two columns are folded away at this width: the grid must follow (the inline --cols:4 used to win) */
.e4 .tz-root .e4-matrix{grid-template-columns:minmax(104px,1.15fr) repeat(2,minmax(0,1fr))}
.v3 .tz-root .sector-marks a{font-size:10.5px}
.v3 .tz-root .sector-marks a i{width:46px;height:46px}
}
/* FOUNDER FILM on the owner's message page: inside the grid of the letter aside the card shrank to nothing at every width
   (auto margins + only absolutely placed children), so the film could not be seen or played there */
.v3 .tz-root .v3-film.portrait{width:100%}
.v3 .tz-root .v3-letter-aside{justify-items:center}
.v3 .tz-root .v3-letter-aside > *{width:100%}
.v3 .tz-root .v3-letter-aside > .v3-film.portrait{max-width:340px}
@media (max-width:380px){
.v3 .tz-root .v3-vchips{grid-template-columns:repeat(2,minmax(0,1fr))}
.v3 .tz-root .v3-vchip span{font-size:12.5px;padding-inline:8px;overflow-wrap:anywhere}
.v3 .tz-root .cc-panel .chip-status{white-space:normal;text-align:center;line-height:1.35}
}
@media (max-width:340px){
/* two-up cards leave under 100 px for a sentence: one per row on the narrowest phones */
.v3 .tz-root .ind-grid{grid-template-columns:minmax(0,1fr) !important}
.v3 .tz-root .v3-values{grid-template-columns:minmax(0,1fr)}
.v3 .tz-root .v3-value:last-child{flex-direction:column}
.v3 .tz-root .v3-value:last-child figure{flex:none}
}
/* ARTICLE HERO on phones: the layered cards covered each other and the caption under them - one sheet, in the flow */
@media (max-width:560px){
.e4 .tz-root .e4-compose[data-kind="cards"]{aspect-ratio:auto !important;height:auto !important;min-height:0 !important}
.e4 .tz-root .e4-compose[data-kind="cards"] > .glow,.e4 .tz-root .e4-compose[data-kind="cards"] > .fl.slip{display:none}
.e4 .tz-root .e4-compose[data-kind="cards"] > .fl{position:relative !important;inset:auto !important;width:100% !important;transform:none !important}
.e4 .tz-root .e4-compose[data-kind="cards"] .e4-sheet{position:relative !important;width:100% !important;max-width:none}
}
/* FTA LOGO at the head of the credential card (owner, N62) */
.tz-root .fta-card .fta-logo{display:flex;align-items:center;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid var(--line,#D9E1E4)}
.tz-root .fta-card .fta-logo img{display:block;height:34px;width:auto;max-width:100%;border-radius:0;box-shadow:none}
/* ================= FILM UNDER THE POINTER (owner note N59) =================
   The film itself plays in its card while the pointer is over it, with sound, like the client stories; it loops.
   The script adds the <video class="v3-film-full">, the sound badge (.v3-live) and the silent-preview hint (.v3-film-hint). */
.v3 .tz-root .v3-film-full{position:absolute;inset:0;z-index:2;width:100%;height:100%;object-fit:cover;display:block;max-width:none;border-radius:0;opacity:0;transition:opacity .35s ease;pointer-events:none;background:#041E28}
.v3 .tz-root .v3-film.is-hover .v3-film-full{opacity:1}
.v3 .tz-root .v3-film::after{transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,opacity .3s ease}
.v3 .tz-root .v3-film.is-hover::after,.v3 .tz-root .v3-film.is-hover:hover::after{opacity:0;transform:scale(.7)}
.v3 .tz-root .v3-film::before{transition:opacity .35s ease}
.v3 .tz-root .v3-film.is-hover::before{opacity:0}
.v3 .tz-root .v3-film-cap{transition:opacity .3s ease}
.v3 .tz-root .v3-film.is-hover .v3-film-cap{opacity:0}
/* the film carries its own subtitles: the caption steps aside while it plays */
.v3 .tz-root .v3-film .v3-live,.v3 .tz-root .v3-film-hint{position:absolute;z-index:5;inset-inline-start:16px;top:16px;display:none;pointer-events:none;border-radius:999px;background:rgba(6,32,42,.74);border:1px solid rgba(126,226,240,.35)}
.v3 .tz-root .v3-film .v3-live{align-items:flex-end;gap:3px;height:22px;padding:5px 9px}
.v3 .tz-root .v3-film .v3-live i{width:3px;border-radius:2px;background:#EBCB85;transform-origin:50% 100%;animation:v3eq .9s ease-in-out infinite}
.v3 .tz-root .v3-film .v3-live i:nth-child(1){height:6px;animation-delay:-.2s}.v3 .tz-root .v3-film .v3-live i:nth-child(2){height:12px;animation-delay:-.5s}.v3 .tz-root .v3-film .v3-live i:nth-child(3){height:8px;animation-delay:-.1s}.v3 .tz-root .v3-film .v3-live i:nth-child(4){height:11px;animation-delay:-.7s}
.v3 .tz-root .v3-film.is-hover:not(.v3-silent) .v3-live{display:inline-flex}
.v3 .tz-root .v3-film-hint{align-items:center;padding:6px 12px;color:#EAF6F8;font-size:12.5px;font-weight:600;line-height:1.3}
.v3 .tz-root .v3-film.is-hover.v3-silent .v3-film-hint{display:inline-flex}
@media (prefers-reduced-motion:reduce){.v3 .tz-root .v3-film .v3-live i{animation:none}.v3 .tz-root .v3-film-full,.v3 .tz-root .v3-film::before{transition:none}}
/* ================= SYNCHRONISED HERO (owner note N61) =================
   The text column turns with the cards: six panels share one grid cell (the tallest sets the height, so nothing jumps);
   the gold button stays, the second button belongs to the slide. */
.v3 .tz-root .v3-sync{display:grid;min-width:0}
.v3 .tz-root .v3-sync-panel{grid-area:1/1;min-width:0;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .4s ease,transform .4s ease,visibility 0s linear .4s}
.v3 .tz-root .v3-sync-panel.is-active{opacity:1;visibility:visible;transform:none;transition:opacity .55s ease .14s,transform .55s cubic-bezier(.2,.8,.2,1) .14s,visibility 0s}
/* the headline of slides 2-6 is an h2 that reads exactly like the page's h1 (checked by _lab/h_parity.js at seven widths) */
.v3 .tz-root .hero .v3-sync-h{margin:0 0 24px;color:#fff;font-size:clamp(34px,3.7vw,50px);line-height:1.16;max-width:15ch}
[dir="rtl"] .v3 .tz-root .hero .v3-sync-h{font-size:clamp(32px,3.6vw,48px);line-height:1.34;max-width:16ch}
@media (max-width:680px){.v3 .tz-root .hero .v3-sync-h{font-size:clamp(30px,8vw,36px)}[dir="rtl"] .v3 .tz-root .hero .v3-sync-h{font-size:clamp(28px,7.4vw,34px);line-height:1.36}}
.v3 .tz-root .hero-ctas .v3-sync-cta{display:none}
.v3 .tz-root .hero-ctas .v3-sync-cta.is-active{display:inline-flex}
@media (prefers-reduced-motion:reduce){.v3 .tz-root .v3-sync-panel,.v3 .tz-root .v3-sync-panel.is-active{transform:none;transition:opacity .2s ease,visibility 0s}}
html.static-mode .v3 .tz-root .v3-sync-panel{transition:none}
/* the cards: a picture made for the card (two frames of one render: at rest, and with its screens and holograms on), a tag, a short title */
.v3 .tz-root .v3-deck-media img.f{opacity:0;transition:opacity 1s ease .25s}
.v3 .tz-root .v3-deck-card.is-active .v3-deck-media img.f{opacity:1}
.v3 .tz-root .v3-deck-card.is-active .v3-deck-media img{animation:v3DeckDrift var(--iv,7000ms) ease-out both}
@keyframes v3DeckDrift{from{transform:scale(1.001)}to{transform:scale(1.055)}}
.v3 .tz-root .v3-deck-body{padding:96px 24px 24px;gap:10px}
.v3 .tz-root .v3-deck-body h3{font-size:clamp(21px,2vw,27px)}
@media (prefers-reduced-motion:reduce){.v3 .tz-root .v3-deck-card.is-active .v3-deck-media img{animation:none}.v3 .tz-root .v3-deck-media img.f{transition:none}}
html.static-mode .v3 .tz-root .v3-deck-card.is-active .v3-deck-media img{animation:none}html.static-mode .v3 .tz-root .v3-deck-media img.f{transition:none}
/* ================= PHONE ACTION BAR (finding P-05 of the legibility probe) =================
   Three buttons share the bar. The booking label differs per page ("Discuss my accounting system" is the longest) and was cut or touched the
   edges of its button from 430 px down. Now the two contact buttons take only the room they need — WhatsApp becomes icon-only under 440 px,
   Call under 360 px (the words stay in the markup as the accessible name) — and the booking label may wrap onto a second line. */
@media (max-width:680px){
.v3 .tz-root .m-actbar{grid-template-columns:auto auto minmax(0,1fr)}
.v3 .tz-root .m-actbar a{padding-inline:12px}
.v3 .tz-root .m-actbar a.primary{white-space:normal;text-align:center;line-height:1.2;padding-block:4px;text-wrap:balance}
}
@media (max-width:440px){.v3 .tz-root .m-actbar a:nth-child(2){font-size:0;gap:0;padding-inline:0;width:48px}.v3 .tz-root .m-actbar a.primary svg{display:none}}
@media (max-width:360px){
.v3 .tz-root .m-actbar a:first-child{font-size:0;gap:0;padding-inline:0;width:48px}
.v3 .tz-root .m-actbar a.primary{font-size:13.5px;padding-inline:8px}
}
/* ================= REDRAWN ADVERT (owner note N58) — Media page =================
   The firm's magazine advert of January 2023 in the site's identity: the founder's photograph, the "about us" paragraph, four round service
   badges and the gold Corporate Tax line, on one dark card. */
.v3 .tz-root .v3-advert{position:relative;display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);border-radius:30px;overflow:hidden;isolation:isolate;color:#fff;
  background:radial-gradient(120% 90% at 100% 0,rgba(63,193,208,.22),rgba(63,193,208,0) 60%),linear-gradient(140deg,#08384A 0,#062B39 55%,#041E28 100%);
  box-shadow:0 50px 80px -44px rgba(4,30,40,.9),0 0 0 1px rgba(233,201,135,.45)}
.v3 .tz-root .v3-advert::after{content:"";position:absolute;z-index:-1;inset-inline-end:-12%;bottom:-46%;width:70%;aspect-ratio:1;border-radius:50%;border:1.5px solid rgba(126,226,240,.22);box-shadow:0 0 0 46px rgba(126,226,240,.05),0 0 0 110px rgba(126,226,240,.03)}
.v3 .tz-root .v3-advert-fig{position:relative;margin:0;min-height:100%}
.v3 .tz-root .v3-advert-fig img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:58% 22%;border-radius:0}
.v3 .tz-root .v3-advert-fig{-webkit-mask-image:linear-gradient(90deg,#000 58%,transparent 100%);mask-image:linear-gradient(90deg,#000 58%,transparent 100%)}
/* the photograph dissolves into the card */
[dir="rtl"] .v3 .tz-root .v3-advert-fig{-webkit-mask-image:linear-gradient(270deg,#000 58%,transparent 100%);mask-image:linear-gradient(270deg,#000 58%,transparent 100%)}
.v3 .tz-root .v3-advert-fig::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(4,30,40,.5),rgba(4,30,40,0) 34%)}
.v3 .tz-root .v3-advert-body{display:grid;align-content:center;gap:16px;padding:clamp(26px,4vw,56px);text-align:start}
.v3 .tz-root .v3-advert-body .eyebrow{color:#E9C987;margin:0}
.v3 .tz-root .v3-advert-body h3{margin:0;color:#fff;font-size:clamp(22px,2.3vw,31px);line-height:1.3;max-width:24ch}
.v3 .tz-root .v3-advert-body p{margin:0;color:#D5E6EA;font-size:16.5px;line-height:1.75;max-width:58ch}
.v3 .tz-root .v3-badges{list-style:none;margin:8px 0 2px;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.6vw,22px)}
.v3 .tz-root .v3-badges li{margin:0;padding:0;min-width:0}
.v3 .tz-root .v3-badge{display:grid;place-content:center;justify-items:center;gap:5px;aspect-ratio:1;border-radius:50%;padding:12%;text-align:center;text-decoration:none;color:#fff;
  background:radial-gradient(circle at 32% 26%,#2B93A6 0,#135D6F 44%,#0C4152 100%);
  box-shadow:inset 0 0 0 2px rgba(110,182,209,.75),inset 0 -14px 26px -12px rgba(2,22,30,.75),inset 0 12px 20px -14px rgba(255,255,255,.5),0 18px 30px -18px rgba(0,0,0,.8);
  transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease}
.v3 .tz-root .v3-badge b{font-family:var(--font-body);font-size:clamp(14px,1.35vw,18px);font-weight:700;line-height:1.2}
.v3 .tz-root .v3-badge span{font-size:clamp(10.5px,.95vw,12.5px);line-height:1.35;color:#CFE9EE}
.v3 .tz-root .v3-badge:hover,.v3 .tz-root .v3-badge:focus-visible{transform:translateY(-4px);box-shadow:inset 0 0 0 2px #EBCB85,inset 0 -14px 26px -12px rgba(2,22,30,.75),inset 0 12px 20px -14px rgba(255,255,255,.5),0 24px 34px -18px rgba(0,0,0,.85)}
.v3 .tz-root .v3-badge:focus-visible{outline:2px solid #EBCB85;outline-offset:4px}
.v3 .tz-root .v3-advert-cta{justify-self:start;display:inline-flex;align-items:center;gap:10px;margin-top:4px;color:#EBCB85;font-family:var(--font-display,inherit);font-size:clamp(19px,1.9vw,25px);font-weight:600;text-decoration:none;border-bottom:1px solid rgba(235,203,133,.5);padding-bottom:4px;transition:color .25s ease,border-color .25s ease,gap .25s ease}
.v3 .tz-root .v3-advert-cta:hover,.v3 .tz-root .v3-advert-cta:focus-visible{color:#fff;border-color:#fff;gap:14px}
.v3 .tz-root .v3-advert-cta svg{width:20px;height:20px}
[dir="rtl"] .v3 .tz-root .v3-advert-cta svg{transform:scaleX(-1)}
@media (max-width:900px){
.v3 .tz-root .v3-advert{grid-template-columns:minmax(0,1fr)}
.v3 .tz-root .v3-advert-fig{aspect-ratio:4/3.4}
.v3 .tz-root .v3-advert-fig,[dir="rtl"] .v3 .tz-root .v3-advert-fig{-webkit-mask-image:linear-gradient(180deg,#000 60%,transparent 100%);mask-image:linear-gradient(180deg,#000 60%,transparent 100%)}
.v3 .tz-root .v3-advert-fig::after{display:none}
.v3 .tz-root .v3-advert-body{padding-top:6px}
}
@media (max-width:560px){
.v3 .tz-root .v3-badges{grid-template-columns:repeat(2,minmax(0,1fr));max-width:340px;margin-inline:auto;gap:14px}
.v3 .tz-root .v3-badge b{font-size:16px}.v3 .tz-root .v3-badge span{font-size:12px}
.v3 .tz-root .v3-advert-body{justify-items:center;text-align:center}.v3 .tz-root .v3-advert-cta{justify-self:center}
.v3 .tz-root .v3-advert{border-radius:22px}
}
@media (prefers-reduced-motion:reduce){.v3 .tz-root .v3-badge,.v3 .tz-root .v3-advert-cta{transition:none}}
/* ================= READING-ORDER CARD of the Knowledge page (owner, 3 October: "why is this space empty?") =================
   The dark side card is as tall as the featured summary beside it; its middle was empty. A picture made for the card takes that room and
   grows with it (flex), its edges dissolve into the card. One column (phones): a fixed band. Guarded by _lab/void_probe.js. */
.v3 .tz-root .masthead .mh-side .mh-fig{position:relative;flex:1 1 auto;min-height:240px;margin:4px -14px}
.v3 .tz-root .masthead .mh-side .mh-fig img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:contain;border-radius:0;
  -webkit-mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 66%,transparent 100%);mask-image:radial-gradient(ellipse 50% 50% at 50% 50%,#000 66%,transparent 100%)}
@media (max-width:900px){.v3 .tz-root .masthead .mh-side .mh-fig{min-height:0;aspect-ratio:1.5/1}}
/* Industries (Construction, Manufacturing): the "how we help" card is as tall as the three questions beside it and was empty under its list.
   The sector's emblem takes that room as a framed picture and grows with it. Guarded by _lab/void_probe.js. */
.v3 .tz-root .ps-col.solution.has-fig{display:flex;flex-direction:column}
.v3 .tz-root .ps-col.solution .ps-fig{position:relative;flex:1 1 auto;min-height:220px;margin:22px 0 0;border-radius:18px;overflow:hidden;background:#062B39;box-shadow:inset 0 0 0 1px rgba(126,226,240,.22)}
.v3 .tz-root .ps-col.solution .ps-fig img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 38%;border-radius:0}
/* Home, "scope of engagement" sample: on one column (1024 px and below) the document kept its 10:7 shape at the full width of the page and was
   mostly empty paper. It now takes the height of its own lines and a document's width. Guarded by _lab/void_probe.js. */
@media (max-width:1024px){
.v3 .tz-root .scope-row .hero-figure.doc{aspect-ratio:auto;width:100%;max-width:620px;margin-inline:auto}
.v3 .tz-root .scope-row .hero-figure.doc .sheet{padding-bottom:16px}
}
/* E-invoicing timeline: the six date cards were stretched to the tallest one (the "next date" card with its note) and the short ones were half
   empty. Each card now hangs from the rail at the height of its own lines. Guarded by _lab/void_probe.js. */
.v3 .tz-root .v3e-tl .v3e-ms{align-self:start}
/* ================= SIX THINGS WORTH KNOWING (owner note N58) — Knowledge page =================
   Short lines from the firm's own posts as numbered cards. */
.v3 .tz-root .v3-tips{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.v3 .tz-root .v3-tip{position:relative;margin:0;display:grid;align-content:start;gap:10px;padding:22px 22px 20px;border-radius:20px;background:#fff;border:1px solid var(--line,#D9E1E4);box-shadow:0 18px 34px -24px rgba(8,56,74,.4);text-align:start;transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,border-color .35s ease}
.v3 .tz-root .v3-tip:hover{transform:translateY(-4px);border-color:rgba(201,155,69,.7);box-shadow:0 26px 40px -24px rgba(8,56,74,.5)}
.v3 .tz-root .v3-tip-n{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;font-family:var(--font-display,inherit);font-size:18px;font-weight:700;color:#0B2A35;background:linear-gradient(135deg,#F2D795,#C99B45)}
.v3 .tz-root .v3-tip-tag{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-text,#0E7C8A)}
[dir="rtl"] .v3 .tz-root .v3-tip-tag{letter-spacing:0;font-size:13.5px}
.v3 .tz-root .v3-tip p{margin:0;font-size:17px;line-height:1.6;font-weight:600;color:var(--petrol,#08384A)}
.v3 .tz-root .v3-tip a{justify-self:start;display:inline-flex;align-items:center;gap:8px;margin-top:2px;font-size:14.5px;font-weight:700;color:var(--teal-text,#0E7C8A);text-decoration:none}
.v3 .tz-root .v3-tip a:hover,.v3 .tz-root .v3-tip a:focus-visible{color:var(--petrol,#08384A);text-decoration:underline}
.v3 .tz-root .v3-tip a svg{width:15px;height:15px}[dir="rtl"] .v3 .tz-root .v3-tip a svg{transform:scaleX(-1)}
.v3 .tz-root .v3-tips-src{margin:18px 0 0;text-align:center;font-size:13.5px;color:var(--muted,#5B6E76)}
@media (max-width:980px){.v3 .tz-root .v3-tips{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.v3 .tz-root .v3-tips{grid-template-columns:minmax(0,1fr)}.v3 .tz-root .v3-tip p{font-size:16.5px}}
@media (prefers-reduced-motion:reduce){.v3 .tz-root .v3-tip{transition:none}}
/* ================= THE FIVE STEPS BESIDE THE WHEEL (owner note N66, 3 October: "the cards should look wider, not one word per line") =================
   The steps inherited "flow in columns" from the plain flow strip, so the five cards stood in one row of narrow columns beside the wheel.
   They are now five wide rows: number, title, sentence — each on its own line of text. */
.v3 .tz-root .v3-wheelwrap .e4-flow{grid-auto-flow:row !important;grid-template-columns:minmax(0,1fr) !important;grid-auto-columns:auto !important;gap:10px !important;align-content:center}
.v3 .tz-root .v3-wheelwrap .e4-flow .fs{display:block;padding:14px 18px 13px !important;padding-inline-start:64px !important}
.v3 .tz-root .v3-wheelwrap .e4-flow .fs b{font-size:16.5px;margin:0 0 2px}
.v3 .tz-root .v3-wheelwrap .e4-flow .fs > span:not(.e4-node){font-size:14.5px;line-height:1.55}
.v3 .tz-root .v3-wheelwrap .e4-flow .fs .e4-node{top:50% !important;transform:translateY(-50%)}
/* ================= TALK TO US (addendum A, 3 October) — closing band of the Contact page =================
   The office-telephone clip sits where calling is the subject: clip on one side; eyebrow, headline, sentence, the two buttons and the ways to
   reach the office on the other. Poster first, silent loop only while on screen (fix.js 5.4), poster only under reduced motion. */
.v3 .tz-root .cta-band.v3-talk .v3-talk-in{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:clamp(26px,4.4vw,64px);align-items:center;text-align:start}
.v3 .tz-root .v3-talk-ph{position:relative;margin:0;aspect-ratio:16/9;min-height:0;border-radius:26px;overflow:hidden;background:#041E28;isolation:isolate;box-shadow:0 44px 70px -40px rgba(2,20,28,.95),0 0 0 1px rgba(233,201,135,.5)}
.v3 .tz-root .v3-talk-ph img,.v3 .tz-root .v3-talk-ph video{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;display:block;border-radius:0}
.v3 .tz-root .v3-talk-ph video{opacity:0;transition:opacity .6s ease}
.v3 .tz-root .v3-talk-ph.is-live video{opacity:1}
.v3 .tz-root .v3-talk-ph::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(200deg,rgba(8,56,74,0) 40%,rgba(8,56,74,.55) 100%)}
.v3 .tz-root .cta-band.v3-talk .v3-talk-body .eyebrow{color:#E9C987;margin:0 0 10px}
.v3 .tz-root .cta-band.v3-talk h2{margin-bottom:12px}
.v3 .tz-root .cta-band.v3-talk p{margin:0 0 26px;max-width:52ch}
.v3 .tz-root .cta-band.v3-talk .cta-actions{justify-content:flex-start}
.v3 .tz-root .v3-talk-ch{list-style:none;margin:26px 0 0;padding:20px 0 0;border-top:1px solid rgba(255,255,255,.2);display:grid;gap:10px}
.v3 .tz-root .v3-talk-ch li{margin:0;display:grid;grid-template-columns:132px minmax(0,1fr);gap:12px;align-items:baseline;font-size:15px;line-height:1.55;color:#E7F4F6}
.v3 .tz-root .v3-talk-ch b{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#9FE6EF}
[dir="rtl"] .v3 .tz-root .v3-talk-ch b{letter-spacing:0;font-size:13.5px}
.v3 .tz-root .v3-talk-ch a{color:#fff;text-decoration:underline;text-decoration-color:rgba(255,255,255,.4);text-underline-offset:3px}
.v3 .tz-root .v3-talk-ch a:hover,.v3 .tz-root .v3-talk-ch a:focus-visible{text-decoration-color:#E9C987}
@media (max-width:900px){
.v3 .tz-root .cta-band.v3-talk .v3-talk-in{grid-template-columns:minmax(0,1fr);text-align:center}
.v3 .tz-root .v3-talk-ph{max-width:560px;width:100%;margin-inline:auto;border-radius:20px}
.v3 .tz-root .cta-band.v3-talk p{margin-inline:auto}
.v3 .tz-root .cta-band.v3-talk .cta-actions{justify-content:center}
.v3 .tz-root .v3-talk-ch{text-align:start;max-width:520px;margin-inline:auto}
}
@media (max-width:480px){.v3 .tz-root .v3-talk-ch li{grid-template-columns:minmax(0,1fr);gap:2px}}
@media (prefers-reduced-motion:reduce){.v3 .tz-root .v3-talk-ph video{transition:none}}
/* ================= SOCIAL MEDIA (owner addenda of 3 October 2026) =================
   One card for both places (homepage wall, page "Our Social Media"). The whole card is one link to the exact original post (the title is the
   link, stretched over the card; new tab). Two faces of the same card:
     picture post  — the post's own artwork, whole and square, on top; under it the channel mark, the title, the post's first sentence, the date
     film          — the poster fills the card; the words lie over a dark foot; a gold play mark
   The frame is AL TAMAYUZ: petrol, turquoise hairline, gold on hover; the channels appear only as small one-colour marks. */
.v3 .tz-root .v3-post{position:relative;margin:0;min-width:0;display:flex;flex-direction:column;border-radius:24px;overflow:hidden;isolation:isolate;background:linear-gradient(160deg,#0A4152,#062B39 70%);color:#fff;
  box-shadow:0 30px 50px -34px rgba(4,30,40,.9),0 0 0 1px rgba(126,226,240,.2);transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease}
.v3 .tz-root .v3-post-m{position:relative;z-index:-1;flex:none;margin:0;aspect-ratio:1/1;overflow:hidden;background:#041E28}
.v3 .tz-root .v3-post-m img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;display:block;border-radius:0;transition:transform .9s cubic-bezier(.2,.8,.2,1)}
.v3 .tz-root .v3-post-b{flex:1 1 auto;min-height:0;overflow:hidden;padding:14px 16px 14px;display:grid;align-content:start;gap:5px;text-align:start}
/* not positioned: the link's stretched area must reach the card */
.v3 .tz-root .v3-post-p{margin:0;justify-self:start;display:inline-flex;align-items:center;gap:7px;padding:5px 11px;padding-inline-start:8px;border-radius:999px;background:rgba(4,30,40,.6);
  box-shadow:inset 0 0 0 1px rgba(126,226,240,.35);font-size:12px;font-weight:700;letter-spacing:.04em;line-height:1.2;color:#EAF8FA}
[dir="rtl"] .v3 .tz-root .v3-post-p{letter-spacing:0;font-size:13px}
.v3 .tz-root .v3-post-p svg{width:15px;height:15px;flex:none;color:#E9C987}
.v3 .tz-root .v3-post h3{margin:3px 0 0;font-family:var(--font-body);font-size:16.5px;line-height:1.3;font-weight:700;color:#fff;max-width:none}
.v3 .tz-root .v3-post-link{color:inherit;text-decoration:none}
.v3 .tz-root .v3-post-link::after{content:"";position:absolute;inset:0;z-index:3}
.v3 .tz-root .v3-post-link:focus-visible{outline:0}
.v3 .tz-root .v3-post-c{margin:0;font-size:13.5px;line-height:1.5;color:#D5E6EA;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.v3 .tz-root .v3-post-d{margin:0;font-size:12px;line-height:1.3;color:#9FC3CC}
.v3 .tz-root .v3-post-play{position:absolute;z-index:2;top:14px;inset-inline-end:14px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#0B2A35;background:linear-gradient(135deg,#F2D795,#C99B45);box-shadow:0 10px 20px -8px rgba(0,0,0,.7)}
.v3 .tz-root .v3-post-play svg{width:16px;height:16px;margin-inline-start:2px}
.v3 .tz-root .v3-post:hover,.v3 .tz-root .v3-post:focus-within{transform:translateY(-5px);box-shadow:0 40px 60px -34px rgba(4,30,40,.95),0 0 0 1px rgba(233,201,135,.75)}
.v3 .tz-root .v3-post:hover .v3-post-m img,.v3 .tz-root .v3-post:focus-within .v3-post-m img{transform:scale(1.04)}
.v3 .tz-root .v3-post:has(.v3-post-link:focus-visible){outline:3px solid #EBCB85;outline-offset:3px}
/* film: the poster fills the card */
.v3 .tz-root .v3-post.is-video{justify-content:flex-end}
.v3 .tz-root .v3-post.is-video .v3-post-m{position:absolute;inset:0;aspect-ratio:auto}
.v3 .tz-root .v3-post.is-video .v3-post-m img{object-position:50% 16%}
.v3 .tz-root .v3-post.is-video::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(to top,rgba(3,24,32,.95) 0,rgba(3,24,32,.6) 32%,rgba(3,24,32,0) 62%)}
.v3 .tz-root .v3-post.is-video .v3-post-b{flex:none}
.v3 .tz-root .v3-post.is-video .v3-post-p{background:rgba(6,40,52,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
/* ---- the homepage wall: seven cards in a mosaic of three sizes (large, wide, small); the rest of the pool waits behind ---- */
.v3 .tz-root .v3-social > .container{container-type:inline-size}
.v3 .tz-root .v3-wall{--g:18px;--foot:96px;--w:calc((100cqw - 5 * var(--g)) / 6);position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(2,calc(var(--w) + var(--foot)));gap:var(--g);grid-template-areas:"a a b c e e" "a a d d f g"}
.v3 .tz-root .v3-wall:not(.is-ready) > .v3-post:nth-child(1),.v3 .tz-root .v3-wall > .v3-post[data-area="a"]{grid-area:a}.v3 .tz-root .v3-wall:not(.is-ready) > .v3-post:nth-child(2),.v3 .tz-root .v3-wall > .v3-post[data-area="b"]{grid-area:b}
.v3 .tz-root .v3-wall:not(.is-ready) > .v3-post:nth-child(3),.v3 .tz-root .v3-wall > .v3-post[data-area="c"]{grid-area:c}.v3 .tz-root .v3-wall:not(.is-ready) > .v3-post:nth-child(4),.v3 .tz-root .v3-wall > .v3-post[data-area="d"]{grid-area:d}
.v3 .tz-root .v3-wall:not(.is-ready) > .v3-post:nth-child(5),.v3 .tz-root .v3-wall > .v3-post[data-area="e"]{grid-area:e}.v3 .tz-root .v3-wall:not(.is-ready) > .v3-post:nth-child(6),.v3 .tz-root .v3-wall > .v3-post[data-area="f"]{grid-area:f}
.v3 .tz-root .v3-wall:not(.is-ready) > .v3-post:nth-child(7),.v3 .tz-root .v3-wall > .v3-post[data-area="g"]{grid-area:g}
.v3 .tz-root .v3-wall:not(.is-ready) > .v3-post:nth-child(n/**/+8){display:none}
.v3 .tz-root .v3-wall.is-ready > .v3-post{display:none}
.v3 .tz-root .v3-wall.is-ready > .v3-post[data-area]{display:flex}
/* the rows take their height from the small cards (a square picture and three lines); every card of a row is that tall, so nothing jumps when a card changes */
.v3 .tz-root .v3-wall > .v3-post{min-height:0;height:100%}
.v3 .tz-root .v3-wall > .v3-post[data-area="a"] h3,.v3 .tz-root .v3-wall:not(.is-ready) > .v3-post:nth-child(1) h3{font-size:clamp(19px,1.6vw,23px)}
.v3 .tz-root .v3-wall > .v3-post[data-area="a"] .v3-post-c,.v3 .tz-root .v3-wall:not(.is-ready) > .v3-post:nth-child(1) .v3-post-c{font-size:15px;-webkit-line-clamp:3}
.v3 .tz-root .v3-wall > .v3-post[data-area="a"] .v3-post-b,.v3 .tz-root .v3-wall:not(.is-ready) > .v3-post:nth-child(1) .v3-post-b{padding:20px 22px 20px;align-content:center}
.v3 .tz-root .v3-wall > .v3-post[data-area="b"] :is(.v3-post-c,.v3-post-d),.v3 .tz-root .v3-wall > .v3-post[data-area="c"] :is(.v3-post-c,.v3-post-d),.v3 .tz-root .v3-wall > .v3-post[data-area="f"] :is(.v3-post-c,.v3-post-d),.v3 .tz-root .v3-wall > .v3-post[data-area="g"] :is(.v3-post-c,.v3-post-d),.v3 .tz-root .v3-wall:not(.is-ready) > .v3-post:nth-child(2) :is(.v3-post-c,.v3-post-d),.v3 .tz-root .v3-wall:not(.is-ready) > .v3-post:nth-child(3) :is(.v3-post-c,.v3-post-d),.v3 .tz-root .v3-wall:not(.is-ready) > .v3-post:nth-child(6) :is(.v3-post-c,.v3-post-d),.v3 .tz-root .v3-wall:not(.is-ready) > .v3-post:nth-child(7) :is(.v3-post-c,.v3-post-d){display:none}
.v3 .tz-root .v3-wall > .v3-post[data-area="b"] h3,.v3 .tz-root .v3-wall > .v3-post[data-area="c"] h3,.v3 .tz-root .v3-wall > .v3-post[data-area="f"] h3,.v3 .tz-root .v3-wall > .v3-post[data-area="g"] h3,.v3 .tz-root .v3-wall:not(.is-ready) > .v3-post:nth-child(2) h3,.v3 .tz-root .v3-wall:not(.is-ready) > .v3-post:nth-child(3) h3,.v3 .tz-root .v3-wall:not(.is-ready) > .v3-post:nth-child(6) h3,.v3 .tz-root .v3-wall:not(.is-ready) > .v3-post:nth-child(7) h3{font-size:14.5px}
/* a picture post in a wide place: artwork on one side, words on the other */
.v3 .tz-root .v3-wall > .v3-post:not(.is-video)[data-area="d"],.v3 .tz-root .v3-wall > .v3-post:not(.is-video)[data-area="e"]{flex-direction:row}
.v3 .tz-root .v3-wall > .v3-post:not(.is-video)[data-area="d"] .v3-post-m,.v3 .tz-root .v3-wall > .v3-post:not(.is-video)[data-area="e"] .v3-post-m{height:100%;aspect-ratio:1/1;max-width:62%}
.v3 .tz-root .v3-wall > .v3-post:not(.is-video)[data-area="d"] .v3-post-b,.v3 .tz-root .v3-wall > .v3-post:not(.is-video)[data-area="e"] .v3-post-b{align-content:center}
.v3 .tz-root .v3-wall > .v3-post.is-in{animation:v3WallIn .95s cubic-bezier(.2,.8,.2,1) both;z-index:2}
.v3 .tz-root .v3-wall > .v3-post.is-out{animation:v3WallOut .7s ease both;z-index:1;pointer-events:none}
@keyframes v3WallIn{from{opacity:0;transform:translateY(16px) scale(.965)}to{opacity:1;transform:none}}
@keyframes v3WallOut{from{opacity:1;transform:none}to{opacity:0;transform:translateY(-10px) scale(.985)}}
.v3 .tz-root .v3-wall-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 24px;margin-top:26px}
.v3 .tz-root .v3-wall-ctl{display:inline-flex;align-items:center;gap:10px}
.v3 .tz-root .v3-wall-btn{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--line,#D9E1E4);background:#fff;color:var(--petrol,#08384A);cursor:pointer;transition:border-color .25s ease,transform .25s ease,background .25s ease}
.v3 .tz-root .v3-wall-btn:hover,.v3 .tz-root .v3-wall-btn:focus-visible{border-color:#C99B45;transform:translateY(-1px)}
.v3 .tz-root .v3-wall-btn:focus-visible{outline:2px solid #C99B45;outline-offset:3px}
.v3 .tz-root .v3-wall-btn svg{width:17px;height:17px}
.v3 .tz-root .v3-wall-btn .i-play{display:none}.v3 .tz-root .v3-wall-btn[aria-pressed="true"] .i-play{display:block}.v3 .tz-root .v3-wall-btn[aria-pressed="true"] .i-pause{display:none}
.v3 .tz-root .v3-wall-ch{display:flex;flex-wrap:wrap;gap:8px}
.v3 .tz-root .v3-wall-ch a{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:8px 13px;border-radius:999px;border:1px solid var(--line,#D9E1E4);background:#fff;color:var(--petrol,#08384A);font-size:13.5px;font-weight:600;text-decoration:none;transition:border-color .25s ease,color .25s ease,transform .25s ease}
.v3 .tz-root .v3-wall-ch a svg{width:16px;height:16px;color:var(--teal,#1A9DAD)}
.v3 .tz-root .v3-wall-ch a:hover,.v3 .tz-root .v3-wall-ch a:focus-visible{border-color:#C99B45;transform:translateY(-1px)}
.v3 .tz-root .v3-wall-note{margin:14px 0 0;font-size:13px;color:var(--muted,#5B6E76);text-align:start}
@media (max-width:1100px){.v3 .tz-root .v3-wall{--w:calc((100cqw - 3 * var(--g)) / 4);grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(3,calc(var(--w) + var(--foot)));grid-template-areas:"a a b c" "a a d d" "e e f g"}}
@media (max-width:760px){
/* phones: one featured post and two supporting ones; the others come in turn (no column of nine, no sideways page) */
.v3 .tz-root .v3-wall{--g:12px;--foot:86px;--w:calc((100cqw - var(--g)) / 2);grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:calc(100cqw + 124px) calc(var(--w) + var(--foot));grid-template-areas:"a a" "b c"}
.v3 .tz-root .v3-wall:not(.is-ready) > .v3-post:nth-child(n/**/+4){display:none}
.v3 .tz-root .v3-post{border-radius:20px}.v3 .tz-root .v3-post-b{padding:12px 13px 12px}
.v3 .tz-root .v3-wall-foot{justify-content:center}.v3 .tz-root .v3-wall-note{text-align:center}
}
@media (prefers-reduced-motion:reduce){.v3 .tz-root .v3-wall > .v3-post.is-in,.v3 .tz-root .v3-wall > .v3-post.is-out{animation:none}.v3 .tz-root .v3-post,.v3 .tz-root .v3-post-m img{transition:none}}
html.static-mode .v3 .tz-root .v3-wall > .v3-post.is-in,html.static-mode .v3 .tz-root .v3-wall > .v3-post.is-out{animation:none}
/* ---- the page "Our Social Media": hero picture (three posts), filters, the grid, the channels ---- */
.v3 .tz-root .v3-social-fig{display:grid;grid-template-columns:1.3fr 1fr;gap:14px;max-width:560px;margin-inline:auto;align-items:start}
.v3 .tz-root .v3-social-fig > .v3-post:nth-child(1){grid-row:1 / span 2}
.v3 .tz-root .v3-social-fig > .v3-post:nth-child(n/**/+2) :is(.v3-post-c,.v3-post-d){display:none}
.v3 .tz-root .v3-social-fig > .v3-post:nth-child(n/**/+2) h3{font-size:14px}
.v3 .tz-root .v3-social-fig > .v3-post.is-video{aspect-ratio:1/1.05}
.v3 .tz-root .v3-sfilters{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 0 26px}
.v3 .tz-root .v3-sf{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:9px 18px;border-radius:999px;border:1px solid var(--line,#D9E1E4);background:#fff;color:var(--petrol,#08384A);font:600 14.5px/1.2 var(--font-body);cursor:pointer;transition:background .25s ease,color .25s ease,border-color .25s ease}
.v3 .tz-root .v3-sf svg{width:17px;height:17px;color:var(--teal,#1A9DAD)}
.v3 .tz-root .v3-sf:hover,.v3 .tz-root .v3-sf:focus-visible{border-color:#C99B45}
.v3 .tz-root .v3-sf:focus-visible{outline:2px solid #C99B45;outline-offset:3px}
.v3 .tz-root .v3-sf.is-on{background:var(--petrol,#08384A);border-color:var(--petrol,#08384A);color:#fff}.v3 .tz-root .v3-sf.is-on svg{color:#E9C987}
.v3 .tz-root .v3-sgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:dense;gap:18px}
.v3 .tz-root .v3-sgrid > .v3-post.is-video{min-height:300px}
.v3 .tz-root .v3-sgrid > .v3-post.is-hidden{display:none}
.v3 .tz-root .v3-smore{display:flex;justify-content:center;margin-top:26px}
.v3 .tz-root .v3-chlist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.v3 .tz-root .v3-chlist li{margin:0;min-width:0}
.v3 .tz-root .v3-chlist a{position:relative;display:grid;justify-items:start;align-content:start;gap:6px;height:100%;padding:20px 18px 18px;border-radius:20px;background:#fff;border:1px solid var(--line,#D9E1E4);box-shadow:0 18px 34px -26px rgba(8,56,74,.45);color:var(--petrol,#08384A);text-decoration:none;transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .3s ease}
.v3 .tz-root .v3-chlist a:hover,.v3 .tz-root .v3-chlist a:focus-visible{transform:translateY(-4px);border-color:#C99B45}
.v3 .tz-root .v3-chlist .ic{display:grid;place-items:center;width:44px;height:44px;border-radius:14px;color:#fff;background:linear-gradient(135deg,#1A9DAD,#08384A)}
.v3 .tz-root .v3-chlist .ic svg{width:21px;height:21px}
.v3 .tz-root .v3-chlist b{font-size:16.5px}
.v3 .tz-root .v3-chlist .h{font-size:12.5px;color:var(--muted,#5B6E76);overflow-wrap:anywhere}
.v3 .tz-root .v3-chlist .v3-ext{position:absolute;top:16px;inset-inline-end:16px;width:16px;height:16px;color:var(--teal,#1A9DAD)}
@media (max-width:980px){.v3 .tz-root .v3-sgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.v3 .tz-root .v3-chlist{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:600px){.v3 .tz-root .v3-sgrid{grid-template-columns:minmax(0,1fr)}.v3 .tz-root .v3-sgrid > .v3-post.is-video{min-height:0;aspect-ratio:16/11}
.v3 .tz-root .v3-chlist{grid-template-columns:repeat(2,minmax(0,1fr))}.v3 .tz-root .v3-sf{padding:9px 14px}.v3 .tz-root .v3-social-fig{max-width:420px}}
@media (max-width:360px){.v3 .tz-root .v3-chlist{grid-template-columns:minmax(0,1fr)}}
/* ================= ON THIS PAGE: where a section lands (owner note N69, 3 October) =================
   The anchors were offset twice (scroll-padding of the page + scroll-margin of the section = 238 px), so a section stopped far under the rail
   with a strip of the previous section above it. Without the script a section now stops just under the rail; with the script (fix.js 5.8) its
   first line is placed 28 px under the bars exactly. */
.v3 .tz-root .subnav ~ section[id],.v3 .tz-root .subnav ~ .section[id],.v3 .tz-root section.sn-target{scroll-margin-top:0}
.v3 .tz-root .subnav ~ section[id]:focus,.v3 .tz-root .subnav ~ .section[id]:focus{outline:0}
/* ================= INDUSTRIES HEAD, home (owner note N70, 3 October) =================
   The live site's own picture of this section (a team at work above the Dubai skyline) heads the section again, framed like on the live site:
   rounded, with a fine turquoise outline offset behind it. */
.v3 .tz-root .ind-figure.v3-ind-photo{position:relative;margin:0 auto;padding:0;max-width:480px;width:100%;aspect-ratio:1/1;border:0;background:none;box-shadow:none;overflow:visible;display:block}
.v3 .tz-root .ind-figure.v3-ind-photo::after{content:"";display:block;position:absolute;z-index:0;inset:14% -18px -18px 14%;border:1.5px solid rgba(26,157,173,.5);border-radius:30px;pointer-events:none}
.v3 .tz-root .ind-figure.v3-ind-photo img{position:relative;z-index:1;display:block;width:100%;height:100%;max-width:none;object-fit:cover;border-radius:28px;box-shadow:0 40px 70px -40px rgba(8,56,74,.7),0 0 0 1px rgba(8,56,74,.08)}
.v3 .tz-root .ind-figure.v3-ind-photo figcaption{position:absolute;z-index:2;inset-inline-start:18px;bottom:18px;margin:0;padding:0}
/* owner note N71: the line is a button that leads to the Industries page */
.v3 .tz-root .v3-ind-btn{display:inline-flex;align-items:center;gap:9px;min-height:46px;padding:11px 20px;border-radius:999px;background:linear-gradient(135deg,#F2D795 0,#D9B25C 55%,#C99B45 100%);color:#20170A;font-size:13.5px;font-weight:700;letter-spacing:.06em;line-height:1.2;text-decoration:none;
  box-shadow:0 14px 28px -12px rgba(2,22,30,.75),inset 0 0 0 1px rgba(255,255,255,.35);transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease,gap .3s ease}
.v3 .tz-root .v3-ind-btn svg{width:17px;height:17px;flex:none}
[dir="rtl"] .v3 .tz-root .v3-ind-btn{letter-spacing:0;font-size:15px}[dir="rtl"] .v3 .tz-root .v3-ind-btn svg{transform:scaleX(-1)}
.v3 .tz-root .v3-ind-btn:hover,.v3 .tz-root .v3-ind-btn:focus-visible{transform:translateY(-2px);gap:13px;box-shadow:0 20px 34px -12px rgba(2,22,30,.85),inset 0 0 0 1px rgba(255,255,255,.5)}
.v3 .tz-root .v3-ind-btn:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media (prefers-reduced-motion:reduce){.v3 .tz-root .v3-ind-btn{transition:none}}
@media (max-width:900px){.v3 .tz-root .ind-figure.v3-ind-photo{max-width:420px}.v3 .tz-root .ind-figure.v3-ind-photo::after{inset:14% -10px -10px 14%}}


/* ===== page <style> 1 ===== */
.e4 .tz-root .e4-sec{background:linear-gradient(180deg,#fff 0%,#F4F7F8 100%);padding-block:72px}.e4 .tz-root .e4-sec.e4-tight{padding-block:40px}.e4 .tz-root .section-mist + .e4-sec{background:#fff}.e4 .tz-root .e4-sec + .section-mist{background:#F4F7F8}@media (max-width:680px){.e4 .tz-root .e4-sec{padding-block:48px}.e4 .tz-root .e4-sec.e4-tight{padding-block:28px}}

/* ===== WordPress adapter ===== */
/* WordPress adapter rules (added to the scoped design CSS). Each rule states why it exists. */
/* while the Kadence mobile drawer is open, the page's own fixed helpers (action bar, guide, back to top) stay out of its way */
body.showing-popup-drawer-from-left .tz-root .m-actbar, body.showing-popup-drawer-from-right .tz-root .m-actbar,
body.showing-popup-drawer-from-left .tz-root .guide-fab, body.showing-popup-drawer-from-right .tz-root .guide-fab,
body.showing-popup-drawer-from-left .tz-root .to-top, body.showing-popup-drawer-from-right .tz-root .to-top,
body:has(.wp-block-kadence-off-canvas.active) .tz-root .m-actbar, body:has(.wp-block-kadence-off-canvas.active) .tz-root .guide-fab, body:has(.wp-block-kadence-off-canvas.active) .tz-root .to-top{display:none !important}
/* sticky offsets: the prototype's fixed 78px header allowance does not apply; wp_adapter_post.js sets the live value */
.tz-root{--sticky-top:0px}
body.kb-modal-open .tz-root .m-actbar,body.kb-modal-open .tz-root .guide-fab,body.kb-modal-open .tz-root .to-top{display:none !important}

/* ---------- Enquiry form: the real WPForms form, dressed as the design's form card ----------
   The prototype form of the design has no back end; on the site the form is the WPForms block of that language.
   These rules map the design's field, label, button and message styles onto WPForms' own markup. No behaviour is added. */
.tz-root .tz-lead-form{
  --wpforms-field-border-radius:11px;--wpforms-field-border-style:solid;--wpforms-field-border-size:1px;--wpforms-field-border-color:rgba(8,56,74,.18);
  --wpforms-field-background-color:#fff;--wpforms-field-text-color:#08384A;--wpforms-field-menu-color:#fff;
  --wpforms-label-color:#08384A;--wpforms-label-sublabel-color:#5E7178;--wpforms-label-error-color:#B3261E;
  --wpforms-button-border-radius:12px;--wpforms-button-background-color:#BF9B4F;--wpforms-button-text-color:#20170A;
  --wpforms-field-size-input-height:51px;--wpforms-field-size-font-size:15.5px;--wpforms-field-size-padding-h:15px;
  --wpforms-label-size-font-size:13.5px;--wpforms-label-size-line-height:1.5;--wpforms-label-size-sublabel-font-size:12.5px;
  --wpforms-button-size-font-size:16px;--wpforms-button-size-height:58px;--wpforms-button-size-padding-h:30px;
  margin:0 !important;
}
.tz-root .tz-lead-form .wpforms-form .wpforms-field-container{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;position:relative}
.tz-root .tz-lead-form .wpforms-form .wpforms-field{padding:0 !important;margin:0 !important;min-width:0}
.tz-root .tz-lead-form .wpforms-form .wpforms-field-name,
.tz-root .tz-lead-form .wpforms-form .wpforms-field-textarea,
.tz-root .tz-lead-form .wpforms-form .wpforms-field-select,
.tz-root .tz-lead-form .wpforms-form .wpforms-field-radio,
.tz-root .tz-lead-form .wpforms-form .wpforms-field-checkbox{grid-column:1 / -1}
.tz-root .tz-lead-form .wpforms-form fieldset{border:0;padding:0;margin:0;min-width:0}
.tz-root .tz-lead-form .wpforms-form .wpforms-field-label,
.tz-root .tz-lead-form .wpforms-form legend.wpforms-field-label{
  display:block;font-family:inherit;font-size:13.5px !important;font-weight:600 !important;line-height:1.5 !important;letter-spacing:.02em;color:#08384A !important;margin:0 0 6px !important;padding:0;
}
[dir="rtl"] .tz-root .tz-lead-form .wpforms-form .wpforms-field-label{letter-spacing:0;font-weight:700 !important}
.tz-root .tz-lead-form .wpforms-form .wpforms-required-label{color:#8A6A1F !important;font-weight:600}
.tz-root .tz-lead-form .wpforms-form .wpforms-field-sublabel{font-size:12.5px !important;color:#5E7178 !important;margin:4px 0 0 !important}
.tz-root .tz-lead-form .wpforms-form .wpforms-field-row{max-width:none !important;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin:0 !important}
.tz-root .tz-lead-form .wpforms-form .wpforms-field-row::before,.tz-root .tz-lead-form .wpforms-form .wpforms-field-row::after{content:none}
.tz-root .tz-lead-form .wpforms-form .wpforms-field-row-block{width:auto !important;margin:0 !important;padding:0 !important;float:none !important}
.tz-root .tz-lead-form .wpforms-form input[type=text],
.tz-root .tz-lead-form .wpforms-form input[type=email],
.tz-root .tz-lead-form .wpforms-form input[type=tel],
.tz-root .tz-lead-form .wpforms-form input[type=number],
.tz-root .tz-lead-form .wpforms-form select,
.tz-root .tz-lead-form .wpforms-form textarea{
  width:100% !important;max-width:none !important;box-sizing:border-box;height:auto;min-height:51px;padding:12px 15px !important;
  border:1px solid rgba(8,56,74,.18) !important;border-radius:11px !important;box-shadow:none !important;
  font-family:inherit !important;font-size:15.5px !important;line-height:1.65 !important;color:#08384A !important;background-color:#fff !important;
  transition:border-color .18s ease,box-shadow .18s ease;
}
.tz-root .tz-lead-form .wpforms-form textarea{height:120px !important;min-height:120px !important;resize:vertical}
.tz-root .tz-lead-form .wpforms-form input::placeholder,.tz-root .tz-lead-form .wpforms-form textarea::placeholder{color:#8A9AA0;opacity:1}
.tz-root .tz-lead-form .wpforms-form input:focus,
.tz-root .tz-lead-form .wpforms-form select:focus,
.tz-root .tz-lead-form .wpforms-form textarea:focus{outline:2px solid #127A87 !important;outline-offset:1px;border-color:#127A87 !important;box-shadow:0 0 0 4px rgba(63,193,208,.18) !important}
.tz-root .tz-lead-form .wpforms-form .wpforms-field-description{font-size:13px;color:#5E7178;margin:6px 0 0}
.tz-root .tz-lead-form .wpforms-form label.wpforms-error,
.tz-root .tz-lead-form .wpforms-form em.wpforms-error{display:block;color:#B3261E !important;font-size:13px !important;font-style:normal;font-weight:600;margin:6px 0 0 !important;padding:0 !important}
.tz-root .tz-lead-form .wpforms-form label.wpforms-error::before,.tz-root .tz-lead-form .wpforms-form em.wpforms-error::before{content:none !important}
.tz-root .tz-lead-form .wpforms-form .wpforms-has-error input,
.tz-root .tz-lead-form .wpforms-form .wpforms-has-error textarea,
.tz-root .tz-lead-form .wpforms-form .wpforms-has-error select,
.tz-root .tz-lead-form .wpforms-form input.wpforms-error,
.tz-root .tz-lead-form .wpforms-form textarea.wpforms-error{border-color:#B3261E !important}
.tz-root .tz-lead-form .wpforms-error-container,
.tz-root .tz-lead-form .wpforms-error-noscript{background:#FDECEC;border:1px solid rgba(179,38,30,.35);color:#7A1A14;border-radius:12px;padding:12px 16px;margin:0 0 14px;font-size:14.5px}
.tz-root .tz-lead-form .wpforms-form .wpforms-submit-container{padding:0 !important;margin:18px 0 0 !important;position:relative}
.tz-root .tz-lead-form .wpforms-form button[type=submit].wpforms-submit{
  display:inline-flex !important;align-items:center;justify-content:center;gap:.55em;width:100% !important;height:auto !important;min-height:58px;padding:15px 30px !important;
  border:0 !important;border-radius:12px !important;font-family:inherit !important;font-size:16px !important;font-weight:600 !important;letter-spacing:.02em !important;text-transform:none !important;line-height:1.65 !important;
  color:#20170A !important;background:linear-gradient(135deg,#D8B56C 0%,#BF9B4F 60%,#A9863C 100%) !important;box-shadow:0 10px 24px -8px rgba(191,155,79,.55) !important;cursor:pointer;
  transition:transform .25s ease,box-shadow .25s ease,filter .25s ease;
}
[dir="rtl"] .tz-root .tz-lead-form .wpforms-form button[type=submit].wpforms-submit{letter-spacing:0 !important;font-weight:700 !important}
.tz-root .tz-lead-form .wpforms-form button[type=submit].wpforms-submit:hover{transform:translateY(-2px);filter:brightness(1.04);box-shadow:0 16px 30px -10px rgba(191,155,79,.6) !important}
.tz-root .tz-lead-form .wpforms-form button[type=submit].wpforms-submit:focus-visible{outline:2px solid #127A87 !important;outline-offset:3px}
.tz-root .tz-lead-form .wpforms-form button[type=submit].wpforms-submit::after{content:none !important}
.tz-root .tz-lead-form .wpforms-form button[type=submit].wpforms-submit[disabled]{opacity:.6;cursor:progress}
.tz-root .tz-lead-form .wpforms-submit-spinner{position:absolute;inset-inline-end:16px;top:50%;margin-top:-13px}
.tz-root .tz-lead-form.wpforms-confirmation-container-full,
.tz-root .tz-lead-form .wpforms-confirmation-container-full,
.tz-root .wpforms-confirmation-container-full{background:#E8F6F8 !important;border:1px solid rgba(18,122,135,.35) !important;color:#08384A !important;border-radius:12px;padding:18px 20px !important;margin:0 !important;font-size:15.5px}
.tz-root .wpforms-confirmation-container-full p{margin:0}
/* a card that is as tall as its neighbour: the message box takes the spare height instead of leaving a blank band */
@media (min-width:561px){
  .tz-root .lead-card:has(> .tz-lead-form){display:flex;flex-direction:column}
  .tz-root .lead-card > .tz-lead-form{flex:1 1 auto;display:flex;flex-direction:column}
  .tz-root .lead-card > .tz-lead-form > form.wpforms-form{flex:1 1 auto;display:flex;flex-direction:column}
  .tz-root .lead-card > .tz-lead-form .wpforms-field-container{flex:1 1 auto;grid-template-rows:auto auto minmax(120px,1fr)}
  .tz-root .lead-card > .tz-lead-form .wpforms-field-textarea{display:flex;flex-direction:column}
  .tz-root .lead-card > .tz-lead-form .wpforms-field-textarea textarea{flex:1 1 auto;height:auto !important}
}
/* form cards on dark grounds (campaign hero) */
.tz-root .cmp-hero-form .tz-lead-form .wpforms-form .wpforms-field-label,.tz-root .lead-card.dark .tz-lead-form .wpforms-form .wpforms-field-label{color:#fff !important}
.tz-root .cmp-hero-form .tz-lead-form .wpforms-form .wpforms-field-sublabel{color:#D9E1E4 !important}
@media (max-width:560px){
  .tz-root .tz-lead-form .wpforms-form .wpforms-field-container{grid-template-columns:minmax(0,1fr)}
  .tz-root .tz-lead-form .wpforms-form .wpforms-field-row{grid-template-columns:minmax(0,1fr);gap:10px}
}
@media (prefers-reduced-motion:reduce){.tz-root .tz-lead-form *{transition:none !important}}

