/*
Theme Name: BRAMY GROUP
Author: BRAMY
Description: BRAMY GROUP - RTL construction & finishing works theme (v4, Heebo).
Version: 4.0
Text Domain: bramy
*/

:root{
  /* Single light brand palette. Declaring it stops Chrome-Android auto-dark and
     Safari from repainting surfaces and form controls in a dark scheme, which
     left the opaque logo image floating as a white box on a darkened page. */
  color-scheme: light only;
  --primary:#1A3A6B; --primary-2:#12294C; --primary-deep:#08274b; --lightblue:#EAF3FF;
  --gray:#F5F7FA; --text:#4B5563; --ink:#0F172A; --line:#D9E2EC; --white:#FFFFFF;
  --font:'Heebo',Arial,sans-serif; --maxw:1240px; --secpad:100px;
}
*{margin:0;padding:0;box-sizing:border-box}
/* zoom:1.1 — site-wide scale the owner prefers. Keep html background white:
   painting html navy (added for phantom scroll below the footer) also showed
   as a thick strip above the sticky top bar — that was never requested. */
html{scroll-behavior:smooth;overflow-x:clip;overscroll-behavior:none;zoom:1.1;background-color:#fff}
/* Phones: zoom breaks fixed bottom docks (off-center / TikTok clipped). */
@media (max-width:760px){html{zoom:1}}
/* Avoid white hairlines between full-bleed chapters when zoom creates subpixel gaps. */
body.home{background-color:var(--primary-2);background-image:none}
body{font-family:var(--font);font-weight:400;color:var(--text);background:linear-gradient(rgba(255,255,255,.74),rgba(255,255,255,.82)),var(--bramy-page-bg,none) center top/cover fixed no-repeat,var(--white);direction:rtl;font-size:17px;line-height:1.8;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip;max-width:100%;overscroll-behavior:none}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
h1,h2,h3,h4{font-family:var(--font);color:var(--primary);line-height:1.15}
.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:28px}
.sec-head{text-align:center;margin-bottom:44px}
.sec-title{font-size:36px;font-weight:800;color:var(--primary);letter-spacing:-.3px}
.sec-title u{text-decoration-color:var(--primary-2);text-underline-offset:8px;text-decoration-thickness:3px}
.sec-sub{color:var(--text);margin-top:8px;font-size:17px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:15px 36px;border-radius:50px;font-family:var(--font);font-size:16px;font-weight:700;letter-spacing:.2px;cursor:pointer;border:2px solid transparent;position:relative;overflow:hidden;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s,background .25s;white-space:nowrap}
.btn::after{content:"";position:absolute;top:0;inset-inline-start:-140%;width:55%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-18deg);transition:inset-inline-start .65s ease;pointer-events:none;z-index:1}
.btn:hover::after{inset-inline-start:140%}
.btn--primary{background:var(--primary-2,#12294C);color:#fff;border-color:transparent;box-shadow:0 8px 22px rgba(18,41,76,.30),inset 0 1px 0 rgba(255,255,255,.12)}
.btn--primary:hover{transform:translateY(-2px);background:var(--primary,#1A3A6B);box-shadow:0 14px 34px rgba(18,41,76,.40),inset 0 1px 0 rgba(255,255,255,.18)}
.btn--primary:active{transform:translateY(-1px)}
.btn--ghost{background:#fff;color:var(--primary);border-color:var(--primary);box-shadow:0 6px 18px rgba(18,41,76,.10)}
.btn--ghost:hover{background:linear-gradient(135deg,#fff,var(--lightblue));transform:translateY(-3px);box-shadow:0 14px 32px rgba(18,41,76,.18);border-color:var(--primary-2)}
.btn--block{width:100%}

/* Header */
.hdr{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);box-shadow:0 2px 14px rgba(0,59,122,.04)}
.hdr__wrap{height:84px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.brand{display:flex;align-items:center;gap:11px;line-height:1}
.brand svg{flex:none}
.brand__txt{display:flex;flex-direction:column;justify-content:center}
.brand__txt b{display:block;font-size:21px;font-weight:800;letter-spacing:1px;color:var(--primary);line-height:1.05;white-space:nowrap}
.brand__txt span{display:block;font-size:11px;color:#7C8BA1;margin-top:3px;white-space:nowrap}
.hdr .container{max-width:1440px}
.hdr__cta{flex:0 0 auto;padding:11px 26px;font-size:14.5px;box-shadow:0 6px 16px rgba(0,59,122,.18)}
.hdr__wrap .nav{flex:1 1 auto;justify-content:center;min-width:0}
.nav{display:flex;gap:1px}
.nav a{font-size:14px;font-weight:600;color:var(--ink);position:relative;white-space:nowrap;padding:7px 9px;border-radius:9px;transition:color .25s ease,background .25s ease,box-shadow .25s ease,transform .2s ease}
.nav a:hover{color:var(--primary);background:linear-gradient(135deg,#eef3fb,#e3ecf8);box-shadow:0 6px 16px rgba(18,41,76,.14),inset 0 1px 0 rgba(255,255,255,.6);transform:translateY(-1px)}
.nav a.active{color:#fff;background:linear-gradient(135deg,#2a5092,#14315c);box-shadow:0 8px 20px rgba(18,41,76,.28)}
.hdr__burger{display:none;width:44px;height:44px;border:none;background:transparent;border-radius:12px;align-items:center;justify-content:center;cursor:pointer;color:var(--primary-2,#12294C);padding:0;box-shadow:none}
.hdr__burger svg{display:block;flex:none}
.hdr__burger:hover,.hdr__burger:focus-visible{background:rgba(18,41,76,.06)}
.hdr__burger span{display:none}

/* Hero - split (content panel + image) */
.hero{background:transparent;position:relative}
/* The quick-lead bar sits over the bottom of this section, so the hero has
   less usable height than it looks like it has. 96px of dead space above the
   eyebrow pushed the paragraph underneath that bar. Sized against the viewport
   now, so it tightens on short screens instead of overflowing. */
.hero__grid{display:grid;grid-template-columns:1fr;align-items:center;gap:clamp(16px,2vw,28px);max-width:min(1900px,96vw);margin-inline:auto;padding:clamp(20px,3vh,40px) 22px clamp(30px,4.5vh,54px);text-align:center}
.hero__panel{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0;text-align:center}
/* The column is wide now so the opening line can run across the screen. The
   headline keeps a cap of its own - stretched to the same width it would fall
   onto one very long line and lose the two-line balance it is written for. */
.hero__title{font-size:clamp(36px,4.8vw,62px);font-weight:900;color:var(--primary);line-height:1.1;letter-spacing:-.5px;max-width:1100px;margin-inline:auto}
/* The second line of the headline is its own line, not a colour change on a
   word - the wording now reads as two balanced halves. */
.hero__title span{display:block;color:var(--primary)}
/* text-wrap:balance spreads the lines evenly instead of filling each one to
   the edge and dropping whatever is left onto a line of its own - which is
   what left "ועד למסירה." stranded as a two-word orphan. Slightly larger and
   slightly wider so each sentence has room to sit on its own line. */
/* Fills the column. `balance` was making this worse, not better: it equalises
   line lengths, so it SHORTENS the long lines to match the short one - which is
   exactly the opposite of spreading across the width. `pretty` leaves the lines
   full and only stops the last word from stranding on its own. */
/* The opening statement, not a caption: it runs the width of the screen and is
   sized to be read first. The lead sentence carries the weight; the rest
   explains it without competing. */
.hero__sub{margin:20px auto 0;color:var(--text);font-size:clamp(19px,1.85vw,31px);
  line-height:1.6;max-width:none;width:100%;text-wrap:pretty}
.hero__btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px;justify-content:center}

/* ── hero: identity line and the three marks ──────────────────────────────
   The paragraph beneath the headline carries the whole service list, which is
   a lot to land on. A short line above it says who is speaking before the
   reader starts, and the three marks below give the promise in three words
   each - so the section reads even when the paragraph is only skimmed. */
.hero__eyebrow{display:flex;align-items:center;justify-content:center;gap:14px;
  margin:0 0 14px;font-size:clamp(12px,1.05vw,14px);font-weight:600;
  letter-spacing:.06em;color:#64748b;text-transform:none}
.hero__eyebrow b{font-weight:700;color:var(--primary);letter-spacing:.16em}
.hero__eyebrow i{width:1px;height:14px;background:#cbd5e1;display:inline-block}
.hero__eyebrow::after{content:"";position:absolute;left:50%;transform:translateX(-50%);
  margin-top:38px;width:64px;height:2px;background:var(--primary);opacity:.35}
.hero__panel{position:relative}

.hero__marks{list-style:none;margin:22px 0 0;padding:0;
  display:flex;flex-wrap:wrap;justify-content:center;
  align-items:center;gap:clamp(14px,2.4vw,34px)}
.hero__marks li{display:inline-flex;align-items:center;gap:9px;
  font-size:clamp(13px,1.1vw,15px);font-weight:600;color:#334155;white-space:nowrap}
.hero__marks li svg{width:19px;height:19px;color:var(--primary);flex:0 0 auto}
/* Hairline separators between the marks, never before the first one. */
.hero__marks li + li{padding-inline-start:clamp(14px,2.4vw,34px);
  border-inline-start:1px solid #dbe3ee}
@media (max-width:560px){
  .hero__marks{gap:10px}
  .hero__marks li + li{padding-inline-start:0;border-inline-start:0}
  .hero__marks li{flex:0 0 100%;justify-content:center}
}

.hero__btns .btn{padding:15px 34px;font-size:16px}
.hero__trust{display:flex;gap:34px;margin-top:36px;padding-top:24px;border-top:1px solid var(--line);justify-content:center}
.hero__trust div b{display:block;font-size:24px;font-weight:800;color:var(--primary);line-height:1.1}
.hero__trust div span{font-size:13px;color:#7C8BA1}
.hero__media{position:relative;overflow:hidden;border-radius:20px;border:1px solid var(--line);box-shadow:0 30px 70px rgba(0,59,122,.20)}
.hero__media img{width:100%;height:100%;object-fit:cover;aspect-ratio:5/4;object-position:center 35%;min-height:auto}

/* Lead form */
.lead{padding:var(--secpad) 0;background:transparent;border-top:1px solid var(--line)}
.lead__inner{display:block;max-width:1080px;margin:0 auto}
.lead__form{background:#fff;border:1px solid var(--line);border-radius:20px;padding:42px 44px;box-shadow:0 24px 60px rgba(0,59,122,.12)}
.lead__h{font-size:29px;font-weight:800;color:var(--primary);margin-bottom:4px;text-align:center}
.lead__h span{display:block;color:var(--text);font-size:15px;font-weight:500;line-height:1.7;margin-top:10px;max-width:560px;margin-inline:auto}
.lead__row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.lead input,.lead select,.lead textarea{width:100%;border:1px solid var(--line);background:#fff;border-radius:8px;padding:14px;font-family:var(--font);font-size:15px;color:var(--ink);outline:none;transition:.15s}
.lead input:focus,.lead select:focus,.lead textarea:focus{border-color:var(--primary-2);box-shadow:0 0 0 3px rgba(0,87,184,.1)}
.lead textarea{margin-top:12px;min-height:104px;resize:vertical}
.lead .btn{margin-top:18px}
.lead__note{margin-top:12px;font-size:13px;color:#7C8BA1;text-align:center}
.lead__media{border-radius:16px;overflow:hidden;box-shadow:0 20px 50px rgba(0,59,122,.12)}
.lead__media img{width:100%;height:100%;object-fit:cover;min-height:420px}

/* Services */
.services{padding:var(--secpad) 0;background:transparent}
.services__grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}
.svc{position:relative;background:#fff;border:1px solid var(--line);border-radius:16px;padding:32px 22px;text-align:center;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s,border-color .25s;box-shadow:0 8px 22px rgba(0,59,122,.05);overflow:hidden}
.svc::before{content:"";position:absolute;top:0;inset-inline:0;height:4px;background:linear-gradient(90deg,#2a5092,#14315c);transform:scaleX(0);transform-origin:center;transition:transform .3s}
.svc:hover{transform:translateY(-8px);box-shadow:0 22px 44px rgba(18,41,76,.18);border-color:transparent}
.svc:hover::before{transform:scaleX(1)}
.svc__icon{width:58px;height:58px;border-radius:16px;background:linear-gradient(135deg,#2a5092,#14315c);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;box-shadow:0 10px 22px rgba(18,41,76,.26);transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.svc:hover .svc__icon{transform:translateY(-3px) rotate(-5deg) scale(1.07)}
.svc h3{font-size:18px;font-weight:700;color:var(--primary);margin-bottom:9px}
.svc p{font-size:14px;color:var(--text);line-height:1.65}

/* Before/After interactive sliders */
.ba2{padding:var(--secpad) 0;background:transparent}
.ba2__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ba{position:relative;margin:0;aspect-ratio:4/3;border-radius:16px;overflow:hidden;box-shadow:0 18px 44px rgba(0,59,122,.16);user-select:none}
.ba__after,.ba__before{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.ba__before{clip-path:inset(0 calc(100% - var(--p)) 0 0);filter:grayscale(1) brightness(.8) contrast(1.05)}
.ba__tag{position:absolute;bottom:14px;z-index:3;padding:6px 15px;border-radius:7px;font-size:13px;font-weight:700;color:#fff}
.ba__tag--before{left:14px;background:var(--ink)}
.ba__tag--after{right:14px;background:var(--primary-2)}
.ba__divider{position:absolute;top:0;bottom:0;left:var(--p);width:3px;z-index:2;background:#fff;transform:translateX(-50%);box-shadow:0 0 0 1px rgba(0,59,122,.15)}
.ba__divider i{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;background:#fff;box-shadow:0 5px 16px rgba(0,59,122,.4);display:flex;align-items:center;justify-content:center}
.ba__divider i::before{content:"⟺";color:var(--primary);font-size:19px;font-weight:700}
.ba__range{position:absolute;inset:0;z-index:4;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;direction:ltr}
.ba2__cta{text-align:center;margin-top:40px}

/* About */
.projects-page{background:#fff}
.projects-hero{min-height:500px;background-position:center;background-size:cover;background-repeat:no-repeat;display:flex;align-items:center;color:#fff}
.projects-hero__inner{width:100%;padding-block:70px;text-align:right}
.projects-hero__eyebrow{display:flex;align-items:center;justify-content:flex-start;gap:16px;color:#4ec6f4;font-size:20px;font-weight:700;margin:0 0 30px}
.projects-hero__eyebrow span{display:block;width:42px;height:2px;background:#4ec6f4}
.projects-hero h1{font-size:clamp(52px,5vw,88px);line-height:1.05;letter-spacing:-.055em;color:#fff;margin:0 0 18px;font-weight:800}
.projects-hero h1 + p{font-size:clamp(18px,1.55vw,25px);color:rgba(255,255,255,.9);margin:0 0 32px}
.projects-hero__button{width:290px;max-width:100%;border:2px solid #4ec6f4;border-radius:7px;padding:17px 22px;display:flex;align-items:center;justify-content:center;gap:36px;color:#fff;font-size:18px;font-weight:700;transition:background .2s,color .2s}
.projects-hero__button:hover{background:#4ec6f4;color:#062857}
.projects-hero__button span{font-size:27px;line-height:.7}
.projects-showcase{padding:42px 0 82px;background:#fff}
.projects-showcase .container{max-width:1720px;padding-inline:0}
.projects-filters{display:flex;justify-content:center;align-items:center;gap:clamp(24px,5.5vw,92px);border-bottom:1px solid #edf0f3;padding:0 10px}
.projects-filters button{padding:0 0 17px;background:none;border:0;border-bottom:2px solid transparent;color:#68748a;font:700 18px var(--font);cursor:pointer;white-space:nowrap}
.projects-filters button.is-active{color:#123764;border-bottom-color:#35b9f1}
.projects-disclaimer{margin:13px 0 20px;color:#8791a1;font-size:14px}
.projects-carousel{position:relative;padding-inline:52px}
.projects-carousel__track{display:flex;gap:0;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:inline mandatory;scrollbar-width:none;padding:4px 0 12px;direction:ltr}
.projects-carousel__track::-webkit-scrollbar{display:none}
.project-slide{flex:0 0 33.333%;display:grid;grid-template-columns:1fr 1fr;min-width:0;height:300px;scroll-snap-align:start;overflow:hidden;background:#fff;direction:ltr;border-inline-start:1px solid #f0f2f5}
.project-slide__image{min-width:0;overflow:hidden;background:#f4f6f8}.project-slide__image img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.project-slide:hover img{transform:scale(1.035)}
.project-slide__copy{direction:rtl;display:flex;flex-direction:column;justify-content:center;padding:20px;text-align:right}.project-slide__copy>span{display:block;width:28px;height:2px;background:#4ec6f4;margin:0 0 12px auto}.project-slide__copy h2{margin:0 0 4px;color:#173b70;font-size:17px;line-height:1.25}.project-slide__copy p{margin:0;color:#68758a;font-size:11px;line-height:1.65}.project-slide__copy .project-slide__type{margin-bottom:12px;color:#98a1ae;font-size:11px}
.projects-carousel__arrow{position:absolute;top:calc(50% - 18px);z-index:2;width:38px;height:38px;border:0;border-radius:50%;background:#123764;color:#fff;cursor:pointer;font-size:22px;line-height:1;box-shadow:0 5px 14px rgba(15,45,85,.2);opacity:.85}
.projects-carousel__arrow--next{inset-inline-start:0}.projects-carousel__arrow--prev{inset-inline-end:0}
@media(max-width:1100px){.projects-showcase .container{padding-inline:28px}.projects-carousel__track{gap:18px}.project-slide{flex-basis:calc((100% - 18px)/2);border:0}}
@media(max-width:800px){.projects-hero{min-height:430px;background-position:42% center}.projects-hero__inner{padding-block:58px}.projects-hero h1{font-size:54px}.projects-filters{justify-content:flex-start;overflow:auto;gap:28px}.project-slide{flex-basis:82%}}
@media(max-width:520px){.projects-hero{min-height:390px;background-position:39% center}.projects-hero h1{font-size:46px}.projects-hero__eyebrow{font-size:17px;margin-bottom:20px}.projects-hero h1 + p{font-size:17px;max-width:260px}.projects-hero__button{width:235px;padding:14px;font-size:16px}.projects-showcase{padding-block:30px 58px}.projects-filters button{font-size:16px}.projects-carousel{padding-inline:38px}.projects-carousel__arrow{width:31px;height:31px;font-size:18px}.project-slide{flex-basis:92%}}
.projects-process{min-height:760px;display:grid;grid-template-columns:58% 42%;background:#fafbfc;overflow:hidden;direction:ltr}
.projects-process__visual{min-width:0;background-position:left center;background-size:auto 100%;background-repeat:no-repeat}
.projects-process__inner{width:100%;max-width:none;margin:0;padding:72px clamp(38px,5vw,104px);display:flex;align-items:center;direction:ltr}
.projects-process__content{width:100%;max-width:620px;direction:rtl;text-align:right;color:#173b70}
.projects-process__eyebrow{display:flex;align-items:center;gap:18px;margin:0 0 24px;color:#173b70;font-size:20px;font-weight:800}.projects-process__eyebrow::after{content:'';width:38px;height:2px;background:#35b9f1}
.projects-process h2{margin:0;color:#173b70;font-size:clamp(48px,4.2vw,74px);line-height:1.06;font-weight:900}
.projects-process__intro{margin:28px 0 30px;color:#5f7087;font-size:clamp(18px,1.35vw,23px);line-height:1.6}
.projects-process__steps{width:min(100%,540px);list-style:none;margin:0 0 34px 0;margin-inline-start:auto;padding:0;border-top:1px solid #dce1e7;direction:rtl}
.projects-process__steps li{min-height:64px;display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:18px;padding-inline:0;border-bottom:1px solid #dce1e7;transition:transform 220ms cubic-bezier(.23,1,.32,1),background-color 220ms ease,box-shadow 220ms ease}
.projects-process__steps b{flex:0 0 auto;order:0;margin:0;color:transparent;font-family:Georgia,serif;font-size:55px;line-height:1;font-weight:400;-webkit-text-stroke:1px #9ca6b4;transition:-webkit-text-stroke-color 220ms ease,transform 220ms ease}
.projects-process__steps span{display:flex;align-items:center;justify-content:flex-start;gap:16px;color:#173b70;font-size:18px;font-weight:800}
.projects-process__steps span::before{content:'';width:35px;height:2px;background:#35b9f1;transition:width 220ms ease;flex:0 0 auto}
@media(hover:hover) and (pointer:fine){.projects-process__steps li:hover{transform:translateY(-6px);background:#fff;box-shadow:0 12px 25px rgba(20,52,95,.12)}.projects-process__steps li:hover b{-webkit-text-stroke-color:#35b9f1;transform:scale(1.06)}.projects-process__steps li:hover span::before{width:54px}}
.projects-process__button{display:inline-flex;align-items:center;justify-content:center;gap:32px;min-width:260px;padding:16px 28px;border:2px solid #35b9f1;color:#173b70;text-decoration:none;font-size:18px;font-weight:800;transition:.2s}.projects-process__button:hover{background:#173b70;border-color:#173b70;color:#fff}
@media(max-width:900px){.projects-process{min-height:0;display:flex;flex-direction:column}.projects-process__visual{width:100%;height:430px;background-size:auto 100%;background-position:center}.projects-process__inner{padding:60px 28px}.projects-process__content{width:100%;max-width:620px;margin:0;margin-inline-start:auto;text-align:right}.projects-process__steps{width:100%;margin-inline-start:0}.projects-process h2{font-size:clamp(45px,10vw,65px)}}
@media(max-width:520px){.projects-process__visual{height:300px;background-size:auto 100%}.projects-process__inner{padding:48px 22px}.projects-process__eyebrow{font-size:17px;margin-bottom:18px}.projects-process__intro{font-size:17px}.projects-process__steps li{min-height:56px}.projects-process__steps b{font-size:45px}.projects-process__steps span{font-size:16px}.projects-process__button{width:100%;min-width:0}}
.about2{background:transparent;padding:var(--secpad) 0}
.about2__inner{display:grid;grid-template-columns:1fr;align-items:center;gap:52px;max-width:1000px;margin-inline:auto;padding-inline:28px;text-align:center}
.founder{margin:38px auto 4px;max-width:820px;text-align:start;background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(244,248,253,.9));border:1px solid var(--line);border-inline-start:4px solid var(--primary);border-radius:16px;padding:26px 30px;box-shadow:0 12px 32px rgba(18,41,76,.08);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.founder__badge{display:inline-block;background:var(--primary);color:#fff;font-size:12.5px;font-weight:700;letter-spacing:.04em;padding:5px 14px;border-radius:99px;margin-bottom:14px}
.founder__lead{font-size:20px;line-height:1.75;color:var(--ink);margin:0 0 12px}
.founder p{font-size:17px;line-height:1.85;margin:0 0 10px}
.founder p:last-child{margin-bottom:0}
.about2__img{border-radius:18px;overflow:hidden;border:1px solid var(--line);box-shadow:0 24px 60px rgba(0,59,122,.18);background:#fff;align-self:stretch}
.about2__img img{width:100%;height:100%;object-fit:cover;display:block;min-height:380px}
.about2__body{padding:0}
.about2__body h2{font-size:clamp(30px,3.2vw,42px);font-weight:800;color:var(--primary);margin-bottom:18px}
.about2__body p{color:var(--text);max-width:none;font-size:19px;line-height:1.85;margin-bottom:16px}
.stats2{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:52px;border-block:1px solid var(--line)}
.stat2{text-align:center;padding:30px 14px;border-inline-start:1px solid var(--line)}
.stat2:first-child{border-inline-start:none}
.stat2__ic{display:none}
.stat2 b{display:block;font-size:clamp(36px,3.4vw,50px);font-weight:800;color:var(--primary);line-height:1;letter-spacing:-1px;font-variant-numeric:tabular-nums}
.stat2 b::after{display:none}
.stat2 span{font-size:14.5px;color:#64748b;font-weight:600;display:block;margin-top:10px}

/* Footer */
.ftr{background:var(--primary-2);color:#eef5fd;border-radius:0;border-start-end-radius:24px;margin:0;border:1px solid rgba(255,255,255,.14);border-bottom:none}
.ftr__grid,.ftr__bottom{background:var(--primary-2)}
/* Explicit navy bg on footer text blocks so contrast checkers resolve the background
   correctly (text is already ~10:1 over navy; this prevents false "low contrast" flags). */
/* These carried a hard-coded #1A3A6B of their own, so once the footer moved to
   --primary-2 every column showed up as a lighter panel floating on a darker
   ground - the striping in the footer. They only ever needed to inherit the
   surface they sit on. */
.ftr__grid>div,.ftr__brand,.ftr__contact,.ftr__grid ul,.ftr__grid li,.ftr__legal{background-color:transparent}
.ftr__grid{display:grid;grid-template-columns:1.3fr 1fr 1.2fr 1.2fr;gap:32px;padding:60px 34px 30px}
.ftr h4{color:#fff;font-size:16px;font-weight:700;margin-bottom:18px}
.ftr a,.ftr li{color:#eef5fd;font-size:14px;line-height:2.2}
.ftr a:hover{color:#fff}
.ftr__brand b{display:block;color:#fff;font-size:21px;font-weight:800;letter-spacing:1px}
.ftr__brand span{font-size:12px;color:#d2e3f5}
.ftr__soc{display:flex;gap:10px;margin-top:18px}
.ftr__soc a{width:38px;height:38px;border-radius:8px;background:rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:#fff}
.ftr__soc a:hover{background:var(--primary-2)}
.ftr__legalnote{max-width:var(--maxw);margin:0 auto;padding:18px 28px 0;font-size:11.5px;line-height:1.7;color:#c4d8f0;text-align:center}
.ftr__bottom{border-top:1px solid rgba(255,255,255,.12);padding:18px 28px;font-size:13px;color:#d2e3f5;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;max-width:var(--maxw);margin-inline:auto}
.ftr__bottom .ftr__disclaimer{justify-self:start;text-align:start;font-size:12px;color:#c4d8f0;padding:0;opacity:1}
.ftr__bottom .ftr__copy{justify-self:center;text-align:center;white-space:nowrap;font-weight:700;color:#cfe0f2;letter-spacing:.5px}
.ftr__bottom .ftr__legal{justify-self:end}
@media (max-width:760px){.ftr__bottom{grid-template-columns:1fr;justify-items:center;text-align:center;gap:10px}.ftr__bottom .ftr__disclaimer,.ftr__bottom .ftr__legal{justify-self:center}}

/* Responsive */
@media (max-width:1000px){
  .nav{display:none;position:absolute;top:100%;inset-inline:0;flex-direction:column;gap:0;background:#fff;border-top:1px solid var(--line);box-shadow:0 18px 40px rgba(0,59,122,.16);padding:8px 0;z-index:60}
  .nav.nav--open{display:flex}
  .nav a{padding:14px 28px;font-size:17px;border-bottom:1px solid var(--line)}
  .nav a:last-child{border-bottom:none}
  .nav a::after{display:none}
  .hdr{position:sticky}
  .hdr__cta{display:none}
  .hdr__burger{display:flex}
  .hero__grid{grid-template-columns:1fr}
  .hero__media{order:-1}
  .hero__panel{padding:8px 0 0;text-align:center}
  .hero__eyebrow,.hero__btns,.hero__trust{justify-content:center}
  .hero__sub{margin-inline:auto}
  .lead__inner,.about2__inner{grid-template-columns:1fr}
  .services__grid{grid-template-columns:repeat(3,1fr)}
  .ba2__grid{grid-template-columns:1fr;max-width:500px;margin-inline:auto}
  .about2__img img{min-height:340px}
  .about2__body{padding:56px 28px}
  .ftr__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .services__grid{grid-template-columns:repeat(2,1fr)}
  .lead__row{grid-template-columns:1fr}
  .stats2{grid-template-columns:1fr 1fr}
  .stat2{padding:22px 10px}
  .stat2:nth-child(odd){border-inline-start:none}
  .stat2:nth-child(n+3){border-top:1px solid var(--line)}
  .ftr__grid{grid-template-columns:1fr}
}
/* ===== Footer detail ===== */
@media (min-width:1001px){.ftr__grid{grid-template-columns:1.5fr 1fr 1.3fr 1.1fr}}
.ftr__desc{color:#d2e3f5;font-size:14px;line-height:1.9;margin-top:14px;max-width:360px}
.ftr__contact li{display:flex;gap:10px;align-items:baseline;color:#eef5fd}
.ftr__contact li span{color:#d6e6f8;min-width:62px;font-size:13px}
.ftr__legal{display:flex;gap:18px;flex-wrap:wrap}
.ftr__legal a,.ftr__legal button{background:none;border:none;color:#d6e6f8;font-family:var(--font);font-size:13px;cursor:pointer;text-decoration:underline;padding:0}
.ftr__legal a:hover,.ftr__legal button:hover{color:#fff}

/* ===== Services - dignified spacing ===== */
.services{padding:var(--secpad) 0}
.services .container{max-width:var(--maxw)}
.services .sec-head{margin-bottom:54px}

/* ===== Before/after carousel ===== */
.ba2__carousel{position:relative;margin-top:6px}
.ba2__track{display:flex;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 2px 16px}
.ba2__track::-webkit-scrollbar{display:none}
.ba2__track .ba{flex:0 0 clamp(290px,31%,380px);scroll-snap-align:center}
.ba2__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:48px;height:48px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--primary);box-shadow:0 8px 24px rgba(0,59,122,.22);cursor:pointer;font-size:26px;line-height:1;display:flex;align-items:center;justify-content:center;transition:.15s}
.ba2__nav:hover{background:var(--primary);color:#fff}
.ba2__nav--next{left:-12px}
.ba2__nav--prev{right:-12px}
@media (max-width:1000px){ .ba2__track .ba{flex:0 0 82%} .ba2__nav{display:none} }

/* ===== Accessibility widget ===== */
:root{
  --a11y-fab-bottom:10px;
  --a11y-fab-size:68px;
  --a11y-fab-gap:12px;
  --qleadh:0px;
  --ckbarh:0px;
  /* Concrete stack offset. Nested var(--fab-stack) + env()/max() chains were
     resolving to a huge negative bottom in Chromium and parked the fabs
     thousands of px below the viewport (invisible a11y + mobile dock). */
  --fab-stack:calc(var(--qleadh, 0px) + var(--ckbarh, 0px) + var(--a11y-fab-bottom, 10px) + env(safe-area-inset-bottom, 0px));
}
/* Desktop: zero-box wrapper — avoid display:contents (breaks position:fixed
   for descendants in Chromium when combined with the stack offset). */
.fab-menu{display:block;width:0;height:0;overflow:visible;margin:0;padding:0;border:0}
.a11y-fab{position:fixed;bottom:calc(var(--qleadh, 0px) + var(--ckbarh, 0px) + var(--a11y-fab-bottom, 10px) + env(safe-area-inset-bottom, 0px));left:24px;z-index:1200;width:var(--a11y-fab-size);height:var(--a11y-fab-size);border-radius:50%;background:var(--primary-2,#12294C);color:#fff;border:3px solid #fff;cursor:pointer;box-shadow:0 12px 34px rgba(0,59,122,.5),0 0 0 1px rgba(0,59,122,.15);display:flex;align-items:center;justify-content:center;transition:.18s}
.a11y-fab:hover{background:var(--primary-2);transform:scale(1.06)}
.a11y-fab svg{width:36px;height:36px}
.a11y-panel{bottom:calc(var(--qleadh, 0px) + var(--ckbarh, 0px) + var(--a11y-fab-bottom, 10px) + env(safe-area-inset-bottom, 0px) + var(--a11y-fab-size) + var(--a11y-fab-gap))}

/* Back-to-top — left edge, vertically centered; compact so it doesn’t dominate. */
.to-top{position:fixed;top:50%;bottom:auto;left:14px;right:auto;z-index:1200;
  width:40px;height:40px;border-radius:50%;background:var(--primary-2,#12294C);color:#fff;border:none;cursor:pointer;
  box-shadow:0 8px 22px rgba(0,59,122,.4);display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;transform:translateY(calc(-50% + 8px));transition:.22s}
.to-top.show{opacity:1;visibility:visible;transform:translateY(-50%)}
.to-top:hover{background:#0B1B37;transform:translateY(calc(-50% - 2px)) scale(1.06)}
.to-top svg{width:18px;height:18px}
html[dir="ltr"] .to-top{left:auto;right:14px}
@media (max-width:600px){:root{--a11y-fab-size:56px}.a11y-fab{width:56px;height:56px}.a11y-fab svg{width:30px;height:30px}.to-top{width:36px;height:36px;left:10px}.to-top svg{width:16px;height:16px}html[dir="ltr"] .to-top{right:10px}}
.a11y-panel{position:fixed;left:22px;z-index:1300;width:min(300px,calc(100vw - 24px));max-width:calc(100vw - 28px);max-height:min(58vh,420px);background:#eef1f5;border:1px solid rgba(18,41,76,.14);border-radius:4px 18px 18px 18px;box-shadow:0 28px 64px rgba(8,24,48,.28),0 0 0 1px rgba(255,255,255,.4) inset;padding:0;display:none;overflow-x:hidden;overflow-y:auto;top:auto}
.a11y-panel.open{display:flex;flex-direction:column;max-height:min(58vh,420px)}
.a11y-panel h3{font-size:17px;margin:0;line-height:1.2;letter-spacing:-.01em;color:var(--primary-2,#12294C);font-weight:800}
.a11y-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:1px solid rgba(18,41,76,.08);border-radius:12px;padding:8px 10px;margin:0 12px 10px;font-size:13px;font-weight:700;color:var(--ink)}
.a11y-row .pm{display:flex;align-items:center;gap:2px;background:#eef2f7;border-radius:999px;padding:3px}
.a11y-row .pm button{width:32px;height:28px;border:0;background:transparent;border-radius:999px;cursor:pointer;font-weight:800;color:var(--primary-2);font-family:var(--font);font-size:13px}
.a11y-row .pm button:hover{background:#fff;box-shadow:0 1px 3px rgba(15,23,42,.12)}
.a11y-reset{width:auto;margin:10px 12px 0;border:0;background:transparent;border-radius:0;padding:8px 2px;font-weight:700;color:#64748b;cursor:pointer;font-family:var(--font);font-size:12.5px;text-decoration:underline;text-underline-offset:3px;text-align:center}
html.a11y-contrast{filter:contrast(1.4) saturate(1.4)}
html.a11y-gray{filter:grayscale(1)}
html.a11y-contrast.a11y-gray{filter:contrast(1.4) grayscale(1)}
html.a11y-links a{text-decoration:underline !important}
html.a11y-readable{font-family:Arial,'Heebo',sans-serif !important;letter-spacing:.02em !important;line-height:1.85 !important}

/* ===== Legal documents ===== */
.lm-overlay{position:fixed;inset:0;z-index:1300;background:rgba(7,20,43,.72);backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;padding:22px}
.lm-overlay.open{display:flex}
.lm{background:#fff;border-radius:16px;max-width:640px;width:100%;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}
.lm--legal{max-width:1020px;height:min(88vh,760px);max-height:none;border:1px solid rgba(126,151,187,.32);border-radius:10px;box-shadow:0 28px 80px rgba(2,15,36,.45)}
.lm__head{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;background:var(--gray);border-bottom:1px solid var(--line)}
.lm--legal .lm__head{display:grid;grid-template-columns:1fr auto 1fr;gap:18px;min-height:106px;padding:17px 28px 12px;background:#fff;border-top:5px solid #20b8ee;border-bottom:1px solid #dbe4f0}
.lm__head h3{color:var(--primary);font-size:18px}
.lm--legal .lm__brand{align-self:start;color:#102b55;line-height:1;text-align:right}
.lm--legal .lm__brand span{display:block;font-family:Georgia,serif;font-size:26px;letter-spacing:-.045em}
.lm--legal .lm__brand small{display:block;margin-top:5px;color:#2da9dc;font-size:7px;font-weight:800;letter-spacing:.12em}
.lm--legal .lm__title{text-align:center}
.lm--legal .lm__title h3{margin:19px 0 4px;color:#102b55;font-size:clamp(26px,3vw,38px);line-height:1.05;font-weight:900}
.lm--legal .lm__title p{margin:0;color:#7b8aa0;font-size:12px}
.lm__close{border:none;background:#fff;width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:18px;color:var(--text)}
.lm--legal .lm__close{justify-self:end;align-self:start;width:39px;height:39px;border:1px solid #7890ad;background:#fff;color:#17345c;font-size:25px;line-height:34px;font-weight:300}
.lm__document{min-height:0;flex:1}
.lm--legal .lm__document{display:grid;grid-template-columns:260px minmax(0,1fr);direction:rtl;background:#fff}
.lm__body{padding:22px 26px;overflow-y:auto;color:var(--text);font-size:15px;line-height:1.85}
.lm--legal .lm__body{padding:28px clamp(26px,5vw,68px) 40px;scroll-behavior:smooth;color:#526581;font-size:15px;line-height:1.9}
.lm__body h4,.lm__body .lmh{color:var(--primary);margin:14px 0 4px;font-size:16px;font-weight:700;display:block}
.lm--legal .lm__body h4,.lm--legal .lm__body .lmh{position:relative;margin:31px 0 8px;padding-top:17px;color:#142e57;font-size:20px;font-weight:900}
.lm--legal .lm__body h4::before,.lm--legal .lm__body .lmh::before{content:"";position:absolute;top:0;right:0;width:32px;height:3px;background:#21b8ee}
.lm--legal .lm__body p{margin:0 0 14px}
.lm__body a{color:var(--primary-2)}
.lm__body ul{padding-inline-start:20px;list-style:disc}
.lm--legal .lm__body ul{margin:0 0 16px;padding-inline-start:22px}
.lm--legal .lm__nav{padding:28px 22px;background:linear-gradient(145deg,#112f5b,#071d40);color:#fff;overflow-y:auto}
.lm--legal .lm__nav>p{margin:0 0 17px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.2);color:#27bdf2;font-size:18px;font-weight:900}
.lm--legal .lm__nav-list{margin:0;padding:0;list-style:none;counter-reset:legal-nav}
.lm--legal .lm__nav-list li{counter-increment:legal-nav;border-bottom:1px solid rgba(255,255,255,.13)}
.lm--legal .lm__nav-list a{display:flex;gap:12px;align-items:baseline;padding:12px 0;color:rgba(255,255,255,.88);font-size:13px;text-decoration:none;transition:color .18s}
.lm--legal .lm__nav-list a::before{content:counter(legal-nav,decimal-leading-zero);color:#38c5f4;font-weight:800;font-size:11px;direction:ltr}
.lm--legal .lm__nav-list a:hover{color:#38c5f4}
@media(max-width:700px){
  .lm-overlay{padding:10px}
  .lm--legal{height:calc(100vh - 20px);border-radius:8px}
  .lm--legal .lm__head{grid-template-columns:42px 1fr;min-height:84px;padding:13px 17px 10px}
  .lm--legal .lm__brand{display:none}
  .lm--legal .lm__title{grid-column:2;grid-row:1;text-align:right}
  .lm--legal .lm__title h3{margin:10px 0 3px;font-size:27px}
  .lm--legal .lm__close{grid-column:1;grid-row:1}
  .lm--legal .lm__document{display:block}
  .lm--legal .lm__nav{display:none}
  .lm--legal .lm__body{height:100%;padding:24px 22px 36px;font-size:14.5px}
  .lm--legal .lm__body h4,.lm--legal .lm__body .lmh{font-size:18px}
}

/* ===== Public legal pages (privacy / terms / accessibility) ===== */
body.legal-doc{
  background:#f7faff url('assets/legal-page-bg.jpg') center top/cover no-repeat fixed!important;
}
.legal-page{
  position:relative;
  min-height:calc(100vh - 80px);
  padding:clamp(28px,4vw,48px) clamp(18px,3vw,32px) clamp(64px,8vw,96px);
  color:#526581;
}
.legal-page__shell{
  width:min(1180px,100%);
  margin:0 auto;
}
.legal-page__hero{
  position:relative;
  text-align:center;
  padding:clamp(8px,2vw,18px) 0 clamp(28px,4vw,42px);
  margin-bottom:clamp(18px,3vw,28px);
}
.legal-page__hero::after{
  content:"";
  display:block;
  width:min(420px,72%);
  height:3px;
  margin:18px auto 0;
  background:linear-gradient(90deg,transparent,#20b8ee 20%,#20b8ee 80%,transparent);
}
.legal-page__hero h1{
  margin:0 0 10px;
  color:#102b55;
  font-size:clamp(34px,4.5vw,56px);
  line-height:1.08;
  font-weight:900;
}
.legal-page__date{
  margin:0;
  color:#7b8aa0;
  font-size:14px;
}
.legal-page__layout{
  display:grid;
  grid-template-columns:minmax(280px,320px) minmax(0,1fr);
  gap:clamp(28px,4vw,48px);
  align-items:start;
}
.legal-page__nav{
  position:sticky;
  top:92px;
  padding:26px 22px 22px;
  border-radius:18px;
  background:linear-gradient(160deg,#0f2f5d 0%,#071d40 100%);
  box-shadow:0 24px 60px rgba(7,29,64,.22), inset 3px 0 0 #25bdf2;
  color:#fff;
}
.legal-page__nav-title{
  margin:0 0 16px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(255,255,255,.16);
  color:#27bdf2;
  font-size:19px;
  font-weight:900;
}
.legal-page__nav-list{
  margin:0;
  padding:0;
  list-style:none;
}
.legal-page__nav-list li{border-bottom:1px solid rgba(255,255,255,.11)}
.legal-page__nav-list li:last-child{border-bottom:0}
.legal-page__nav-list a{
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 28px;
  gap:10px;
  align-items:center;
  padding:13px 0;
  color:rgba(255,255,255,.9);
  font-size:13.5px;
  line-height:1.35;
  text-decoration:none;
  transition:color .18s;
}
.legal-page__nav-list a:hover{color:#38c5f4}
.legal-page__nav-num{
  color:#38c5f4;
  font-weight:800;
  font-size:12px;
  direction:ltr;
  text-align:start;
}
.legal-page__nav-ic{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  color:#fff;
  opacity:.92;
}
.legal-page__nav-ic svg{width:20px;height:20px}
.legal-page__nav-note{
  display:flex;
  gap:14px;
  align-items:flex-start;
  margin-top:18px;
  padding:16px 14px;
  border-radius:14px;
  background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.1);
}
.legal-page__nav-note-ic{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:rgba(56,197,244,.14);
  color:#5fd4ff;
  box-shadow:0 0 24px rgba(56,197,244,.22);
}
.legal-page__nav-note-ic svg{width:24px;height:24px}
.legal-page__nav-note p{
  margin:0;
  color:rgba(255,255,255,.86);
  font-size:12.5px;
  line-height:1.65;
}
.legal-page__content{
  min-width:0;
  font-size:16px;
  line-height:1.85;
}
.legal-page__intro{
  display:flex;
  align-items:center;
  gap:clamp(18px,3vw,28px);
  margin-bottom:clamp(24px,3vw,34px);
  padding:clamp(22px,3vw,30px) clamp(22px,3vw,32px);
  border-radius:18px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(210,222,238,.9);
  box-shadow:0 18px 44px rgba(15,45,90,.06);
  backdrop-filter:blur(4px);
}
.legal-page__intro p{
  margin:0;
  flex:1;
  color:#334b6c;
  font-size:clamp(17px,1.5vw,20px);
  line-height:1.75;
}
.legal-page__intro-ic{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:clamp(72px,8vw,92px);
  height:clamp(72px,8vw,92px);
  border-radius:50%;
  background:linear-gradient(145deg,#edf6ff,#dcecff);
  color:#1f7fd1;
  box-shadow:inset 0 0 0 1px rgba(32,184,238,.18);
}
.legal-page__intro-ic svg{width:46px;height:46px}
.legal-page__section{
  display:flex;
  align-items:flex-start;
  gap:clamp(16px,2.5vw,24px);
  scroll-margin-top:105px;
  padding:clamp(22px,3vw,28px) 0;
  border-top:1px solid rgba(210,222,238,.95);
}
.legal-page__section-ic{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:clamp(58px,6vw,72px);
  height:clamp(58px,6vw,72px);
  border-radius:50%;
  background:linear-gradient(145deg,#edf6ff,#dcecff);
  color:#1f7fd1;
  box-shadow:inset 0 0 0 1px rgba(32,184,238,.16);
}
.legal-page__section-ic svg{width:34px;height:34px}
.legal-page__section-body{min-width:0;flex:1}
.legal-page__section-body h2{
  margin:0 0 10px;
  color:#142e57;
  font-size:clamp(22px,2.2vw,30px);
  font-weight:900;
  line-height:1.25;
}
.legal-page__section-body p{margin:0;color:#526581}
@media(max-width:900px){
  body.legal-doc{background-attachment:scroll!important}
  .legal-page__hero{text-align:right}
  .legal-page__hero::after{margin-inline:0 auto 0}
  .legal-page__hero h1{margin-top:0}
  .legal-page__layout{grid-template-columns:1fr}
  .legal-page__nav{position:static}
  .legal-page__intro{flex-direction:column;align-items:flex-start}
  .legal-page__intro-ic{align-self:flex-end}
}
@media(max-width:560px){
  .legal-page{padding-inline:14px}
  .legal-page__nav-list a{grid-template-columns:28px minmax(0,1fr) 24px;font-size:12.5px}
  .legal-page__section{gap:14px}
  .legal-page__section-ic{width:52px;height:52px}
  .legal-page__section-ic svg{width:28px;height:28px}
}

/* ===== Section heads (centered) + hero crop fix ===== */
.services .sec-title,.ba2 .sec-title,.vids .sec-title,.proc .sec-title{text-align:center}
.services .sec-sub,.ba2 .sec-sub,.vids .sec-sub,.proc .sec-sub{text-align:center;max-width:680px;margin:10px auto 40px}
.hero__media img{object-position:center 32%}

/* ===== Skip link (a11y) ===== */
.skip-link{position:fixed;top:-60px;inset-inline-start:12px;z-index:1400;background:var(--primary);color:#fff;padding:10px 18px;border-radius:0 0 10px 10px;font-weight:700;transition:top .2s}
.skip-link:focus{top:0;outline:3px solid var(--primary-2)}
.a11y-grid button.is-on{background:var(--primary);color:#fff;border-color:var(--primary)}
*:focus-visible{outline:3px solid var(--primary-2);outline-offset:2px}

/* ===== Before/after caption ===== */
.ba__cap{position:absolute;bottom:12px;inset-inline-start:12px;z-index:5;background:rgba(15,23,42,.78);color:#fff;font-size:13px;font-weight:700;padding:5px 12px;border-radius:8px}

/* ===== Video testimonials (carousel) ===== */
.vids{padding:var(--secpad) 0;background:transparent}
.vids__track .vid{flex:0 0 calc((100% - 66px) / 4);scroll-snap-align:center;margin:0}
@media (max-width:1000px){.vids__track .vid{flex:0 0 70%}}
.vid__thumb{position:relative;border-radius:18px;overflow:hidden;aspect-ratio:9/12;box-shadow:0 16px 40px rgba(15,23,42,.14);transition:transform .3s,box-shadow .3s}
.vid__thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s cubic-bezier(.2,.7,.2,1)}
.vid__thumb:hover{transform:translateY(-4px);box-shadow:0 26px 54px rgba(18,41,76,.26)}
.vid__thumb:hover img{transform:scale(1.07)}
.vid__thumb::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,41,76,0) 40%,rgba(18,41,76,.72));transition:opacity .3s}
.vid__play{position:absolute;inset:0;margin:auto;width:70px;height:70px;border-radius:50%;border:3px solid rgba(255,255,255,.85);background:linear-gradient(135deg,#2a5092,#14315c);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;box-shadow:0 10px 28px rgba(18,41,76,.5);transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s}
.vid__play::before{content:"";position:absolute;inset:-8px;border-radius:50%;border:2px solid rgba(255,255,255,.5);opacity:0;transition:opacity .25s,transform .25s}
.vid__thumb:hover .vid__play{transform:scale(1.1)}
.vid__thumb:hover .vid__play::before{opacity:1;transform:scale(1.05)}
.vid__play:hover{box-shadow:0 14px 36px rgba(18,41,76,.6)}
.vid figcaption{text-align:center;margin-top:16px}
.vid figcaption b{display:block;color:var(--primary);font-size:17px;font-weight:800}
.vid figcaption b::after{content:"";display:block;width:24px;height:3px;border-radius:99px;background:linear-gradient(90deg,#2a5092,#14315c);margin:7px auto 0}
.vid figcaption span{color:#5b6b86;font-size:13.5px;font-weight:600;display:block;margin-top:7px}

/* ===== Video lightbox ===== */
.vidbox{position:relative;width:100%;max-width:440px}
.vidbox video{width:100%;border-radius:16px;background:#000;display:block;max-height:80vh}
.vidbox__close{position:absolute;top:-14px;inset-inline-start:-14px;background:#fff;width:38px;height:38px;border-radius:50%;border:none;cursor:pointer;font-size:16px;box-shadow:0 6px 18px rgba(0,0,0,.3);z-index:2}

/* ===== Process (horizontal) ===== */
.proc{padding:var(--secpad) 0}
.proc__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.proc__card{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:34px 22px 26px;text-align:center;transition:transform .25s cubic-bezier(.2,.7,.2,1),box-shadow .25s,border-color .25s;overflow:hidden}
.proc__card:hover{transform:translateY(-6px);box-shadow:0 22px 46px rgba(18,41,76,.16);border-color:transparent}
.proc__num{display:inline-flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,#2a5092,#14315c);color:#fff;font-weight:800;font-size:22px;margin-bottom:16px;box-shadow:0 10px 22px rgba(18,41,76,.26);transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.proc__card:hover .proc__num{transform:translateY(-3px) scale(1.07)}
.proc__card h3{font-size:18px;margin-bottom:8px}
.proc__card p{color:var(--text);font-size:14.5px;line-height:1.7}
@media (max-width:980px){.proc__grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.proc__grid{grid-template-columns:1fr}}

/* ===== FAQ (two columns) ===== */
.faq{padding:var(--secpad) 0;background:transparent}
.faq__inner{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:start}
.faq__head .sec-title{text-align:start}
.faq__head p{color:var(--text);font-size:16px;margin-top:14px;line-height:1.8}
.faq__list{display:flex;flex-direction:column;gap:12px}
.faq__item{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;padding:4px 22px;transition:transform .2s,box-shadow .2s,border-color .2s;overflow:hidden}
.faq__item::before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,#2a5092,#14315c);transform:scaleY(0);transform-origin:top;transition:transform .25s}
.faq__item:hover{transform:translateY(-2px);box-shadow:0 14px 32px rgba(18,41,76,.10);border-color:transparent}
.faq__item[open]{border-color:transparent;box-shadow:0 16px 38px rgba(18,41,76,.14)}
.faq__item[open]::before{transform:scaleY(1)}
.faq__item summary{list-style:none;cursor:pointer;font-weight:700;color:var(--ink);padding:16px 0;font-size:14.5px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.faq__item summary::-webkit-details-marker{display:none}
.faq__item summary::after{content:"+";flex:none;width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#2a5092,#14315c);color:#fff;font-size:20px;font-weight:700;line-height:30px;text-align:center;box-shadow:0 6px 14px rgba(18,41,76,.28);transition:transform .25s cubic-bezier(.2,.7,.2,1)}
.faq__item:hover summary::after{transform:scale(1.08)}
.faq__item[open] summary::after{transform:rotate(45deg)}
.faq__a{color:var(--text);font-size:13.5px;line-height:1.75;padding:0 0 16px}
@media (max-width:900px){.faq__inner{grid-template-columns:1fr;gap:26px}.faq__head .sec-title{text-align:center}}
.vidbox__soon{display:none;color:#fff;text-align:center;margin-top:14px;font-weight:600;font-size:15px}

/* ===== Google reCAPTCHA Enterprise v3 ===== */
.bramy-recaptcha{display:none!important}
/* Badge visibility is controlled in mu-plugin bramy-recaptcha.php (hidden until form submit). */

/* ===== Lead form anti-bot captcha ===== */
.lead__captcha{display:flex;align-items:center;gap:12px;background:var(--gray);border:1px solid var(--line);border-radius:8px;padding:10px 14px;margin-top:4px}
.lead__captcha label{font-size:14.5px;font-weight:600;color:var(--ink);white-space:nowrap}
.lead__captcha label b{color:var(--primary)}
.lead__captcha input{flex:0 0 70px;text-align:center;padding:9px;border:1px solid var(--line);border-radius:6px;font-family:var(--font);font-size:15px}

/* ===== Accessibility menu — compact floating sheet ===== */
.a11y-panel{
  width:min(300px,calc(100vw - 24px));
  /* Keep well clear of the fab + cookie/qlead stack; never fill the viewport.
     html{zoom:1.1} on desktop inflates px, so the cap stays modest. */
  max-height:min(58vh, 420px);
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-width:thin;
  padding:0;
  background:#eef1f5;
  top:auto !important;
  z-index:1300;
}
.a11y-panel.open{display:flex;flex-direction:column}
/* Never let flex shrink crush the toggle rows to 0 height (overflow:hidden
   then hid every switch — empty "תצוגה / קריאה / ניווט" sections). */
.a11y-panel > *{flex:0 0 auto}
.a11y-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:10px;
  flex:0 0 auto;
  position:sticky;top:0;z-index:3;
  margin:0;padding:10px 12px 9px;
  background:#12294C;border-radius:0;
}
.a11y-head__txt{min-width:0}
.a11y-kicker{
  display:block;font-size:10px;font-weight:700;letter-spacing:.08em;
  text-transform:uppercase;color:rgba(255,255,255,.62);margin-bottom:2px;
}
.a11y-head h3{margin:0;color:#fff;font-size:14.5px;font-weight:800}
.a11y-x{
  border:0;background:rgba(255,255,255,.12);width:28px;height:28px;border-radius:8px;
  cursor:pointer;color:#fff;font-size:14px;line-height:1;flex:0 0 auto;
  transition:background .15s,transform .12s;
}
.a11y-x:hover{background:rgba(255,255,255,.22)}
.a11y-x:active{transform:scale(.94)}
.a11y-row--font{margin:8px 10px 6px;padding:7px 10px;background:#fff;box-shadow:0 1px 0 rgba(18,41,76,.04);border-radius:12px}
.a11y-row__lab{font-size:12px;font-weight:700;color:#334155}
.a11y-lvl{
  min-width:40px;text-align:center;font-weight:800;color:var(--primary-2);
  font-size:11.5px;font-variant-numeric:tabular-nums;
}
.a11y-sec{
  margin:2px 12px 4px;padding:0;
  font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:#6b7c93;
}
.a11y-list{
  margin:0 10px 6px;padding:0;
  background:#fff;border:1px solid rgba(18,41,76,.08);border-radius:12px;
  box-shadow:0 1px 0 rgba(18,41,76,.03);
  overflow:visible;
  flex:0 0 auto;
  min-height:0;
}
.a11y-sw{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:8px 10px;margin:0;border:0;border-bottom:1px solid #eef1f5;
  background:transparent;cursor:pointer;font-family:var(--font);
  text-align:start;color:var(--ink);transition:background .12s;
}
.a11y-sw:last-child{border-bottom:0}
.a11y-sw:hover{background:#fafbfd}
.a11y-sw:active{background:#f3f6fa}
.a11y-sw__lab{font-size:12.5px;font-weight:600;line-height:1.25;color:#1e293b}
.a11y-sw__track{
  position:relative;flex:0 0 auto;width:38px;height:22px;border-radius:999px;
  background:#d5dde8;transition:background .18s ease;
  box-shadow:inset 0 1px 2px rgba(15,23,42,.08);
}
.a11y-sw__thumb{
  position:absolute;top:2px;inset-inline-start:2px;width:18px;height:18px;border-radius:50%;
  background:#fff;box-shadow:0 1px 3px rgba(15,23,42,.22);
  transition:transform .18s cubic-bezier(.2,.8,.2,1);
}
/* Site default is RTL — on state slides thumb toward inline-end (left). */
.a11y-sw[aria-pressed="true"] .a11y-sw__thumb,
.a11y-sw.is-on .a11y-sw__thumb{transform:translateX(-16px)}
html[dir="ltr"] .a11y-sw[aria-pressed="true"] .a11y-sw__thumb,
html[dir="ltr"] .a11y-sw.is-on .a11y-sw__thumb{transform:translateX(16px)}
.a11y-sw[aria-pressed="true"] .a11y-sw__track,
.a11y-sw.is-on .a11y-sw__track{background:var(--primary-2,#12294C)}
.a11y-sw:focus-visible{outline:2px solid var(--primary-2);outline-offset:-2px}
.a11y-reset{margin:4px 10px 0;padding:6px;font-size:12px}
.a11y-reset:hover{color:var(--primary-2)}
.a11y-link{
  display:block;text-align:center;margin:4px 10px 0;padding:8px 10px;
  border:0;border-radius:10px;font-weight:700;color:#fff;font-size:12.5px;
  background:var(--primary-2,#12294C);text-decoration:none;
  transition:background .15s,transform .12s;
}
.a11y-link:hover{background:#0b1b37}
.a11y-link:active{transform:scale(.98)}
.a11y-note{
  margin:8px 12px 0;padding:0;font-size:11px;line-height:1.45;color:#6b7280;
  background:transparent;border:0;
}
.a11y-note a{color:var(--primary-2);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.a11y-statement{
  display:block;box-sizing:border-box;width:auto;max-width:none;
  margin:6px 12px 10px;border:0;background:transparent;border-radius:0;
  padding:4px 0 2px;font-size:12px;line-height:1.3;text-align:center;
  text-decoration:underline;text-underline-offset:3px;font-weight:700;
  color:var(--primary-2);cursor:pointer;font-family:var(--font);
  appearance:none;-webkit-appearance:none;min-height:0;
}
.a11y-statement:hover{background:transparent;color:#0b1b37}
@media (max-height:720px){
  .a11y-panel{max-height:min(54vh, 360px)}
  .a11y-sw{padding:7px 9px}
  .a11y-sw__lab{font-size:12px}
  .a11y-sec{margin-top:1px}
  .a11y-note{font-size:10.5px}
}
@media (max-width:760px){
  .a11y-panel{
    left:12px;right:auto;border-radius:4px 16px 16px 16px;
    max-height:min(56vh, 380px);width:min(290px, calc(100vw - 20px));
  }
}

/* a11y effect classes */
html.a11y-invert{filter:invert(1) hue-rotate(180deg)}
html.a11y-invert img,html.a11y-invert video{filter:invert(1) hue-rotate(180deg)}
html.a11y-light{filter:brightness(1.16) saturate(.85)}
html.a11y-titles h1,html.a11y-titles h2,html.a11y-titles h3,html.a11y-titles h4{background:#fff8d6 !important;outline:2px dashed #e0a800 !important;outline-offset:3px;color:#0F172A !important}
/* Inherited — set on html only. A universal `*` here forced a full-DOM style
   recalc and froze the page when the toggle was flipped. */
html.a11y-spacing{line-height:2.1 !important;word-spacing:.18em !important}
html.a11y-lspacing{letter-spacing:.12em !important}
html.a11y-readable{font-family:Arial,'Heebo',sans-serif !important;letter-spacing:.02em !important;line-height:1.85 !important}
/* Stop motion: tiny CSS surface. Actual running animations are paused in JS
   (footer settleNoAnim) so we never pay for animation:none across the tree. */
html.a11y-noanim{scroll-behavior:auto !important}
/* Keep reveal content visible without fighting .reveal-on transitions in the
   same frame as the class toggle (that combo froze mobile Safari/Chrome). */
html.a11y-noanim .reveal{opacity:1 !important;transform:none !important;transition:none !important}
html.a11y-noanim .home-articles__grid.is-fading{
  opacity:1 !important;
  pointer-events:auto !important;
}
html.a11y-noanim .btn::after{display:none}
html.a11y-bigcursor{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='38' height='38' viewBox='0 0 38 38'%3E%3Cpath d='M6 3 6 30 13 23 18 33 23 31 18 21 29 21 Z' fill='%23003B7A' stroke='white' stroke-width='2'/%3E%3C/svg%3E") 5 3, auto !important}
html.a11y-bigcursor a,html.a11y-bigcursor button,html.a11y-bigcursor [role="button"],html.a11y-bigcursor input,html.a11y-bigcursor select,html.a11y-bigcursor textarea,html.a11y-bigcursor label,html.a11y-bigcursor summary{
  cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='38' height='38' viewBox='0 0 38 38'%3E%3Cpath d='M6 3 6 30 13 23 18 33 23 31 18 21 29 21 Z' fill='%23003B7A' stroke='white' stroke-width='2'/%3E%3C/svg%3E") 5 3, auto !important
}
.a11y-guide{position:fixed;left:0;right:0;height:14px;background:rgba(0,87,184,.16);border-top:2px solid rgba(0,87,184,.9);border-bottom:2px solid rgba(0,87,184,.9);z-index:1190;top:-40px;display:none;pointer-events:none}
html.a11y-readguide .a11y-guide{display:block}

/* ===== Serif wordmark logo (recreated, transparent) ===== */
.brand--logo{text-decoration:none;margin-inline-end:40px}
@media (max-width:980px){.brand--logo{margin-inline-end:0}}
.brandlogo{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;min-height:52px;line-height:1;font-family:'Cinzel',Georgia,serif;font-weight:700;font-size:27px;letter-spacing:3px;color:var(--primary)}
.brandlogo small{font-family:var(--font);font-weight:500;font-size:8.5px;letter-spacing:3.5px;color:var(--text);margin-top:6px;white-space:nowrap}
@media (max-width:600px){.brandlogo{font-size:21px;letter-spacing:2px}.brandlogo small{font-size:7px;letter-spacing:2px}}

/* Footer disclaimer */
.ftr__disclaimer{text-align:center;font-size:12px;color:#c4d8f0;padding:0 0 18px;opacity:1}

/* ===== 360 / ecosystem band ===== */
.s360{padding:var(--secpad) 0;background:transparent;text-align:center;position:relative;overflow:hidden}
.s360__top{max-width:780px;margin:0 auto 36px}
.s360__badge{position:relative;display:inline-flex;align-items:center;justify-content:center;width:78px;height:78px;border-radius:50%;background:var(--primary);color:#fff;font-weight:800;font-size:19px;margin:0 auto 20px;box-shadow:0 12px 28px rgba(0,59,122,.3)}
.s360__badge>span{position:relative;z-index:2}
.s360__badge::before{content:"";position:absolute;inset:-9px;border-radius:50%;border:2px dashed var(--primary-2);opacity:.55;animation:s360spin 9s linear infinite}
.s360__badge::after{content:"";position:absolute;inset:0;border-radius:50%;animation:s360pulse 2.6s ease-out infinite}
@keyframes s360spin{to{transform:rotate(360deg)}}
@keyframes s360pulse{0%{box-shadow:0 0 0 0 rgba(0,87,184,.35)}70%{box-shadow:0 0 0 20px rgba(0,87,184,0)}100%{box-shadow:0 0 0 0 rgba(0,87,184,0)}}
.s360__title{color:var(--primary);font-size:34px;font-weight:800;letter-spacing:-.3px}
.s360__title span{color:var(--primary-2)}
.s360__lead{color:var(--text);font-size:17px;line-height:1.9;margin-top:14px}
.s360__marquee{position:relative;overflow:hidden;direction:ltr;margin:0 auto 30px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.s360__track{display:flex;direction:ltr;width:max-content;animation:s360marq 32s linear infinite;will-change:transform}
.s360__marquee:hover .s360__track{animation-play-state:paused}
@keyframes s360marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.s360__tile{display:inline-flex;align-items:center;gap:11px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:12px 22px;margin-left:16px;box-shadow:0 6px 18px rgba(0,59,122,.06);flex:none;transition:.2s}
.s360__tile:hover{border-color:var(--primary-2);box-shadow:0 12px 26px rgba(0,59,122,.13)}
.s360__ic{width:40px;height:40px;border-radius:50%;background:var(--lightblue);color:var(--primary);display:flex;align-items:center;justify-content:center;flex:none}
.s360__tile b,.s360__tile .s360__b{font-size:15px;font-weight:700;color:var(--ink);white-space:nowrap}
.s360__foot{font-size:19px;font-weight:700;color:var(--primary);margin-bottom:22px}
@media (prefers-reduced-motion:reduce){.s360__badge::before,.s360__badge::after,.s360__track{animation:none}}

/* ===== Scroll reveal animations ===== */
.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1 !important;transform:none !important;transition:none !important}}
html.a11y-noanim .reveal{opacity:1 !important;transform:none !important;transition:none !important}

/* Footer serif wordmark */
.brandlogo--ftr{color:#fff;align-items:flex-start;font-size:24px;letter-spacing:2px;margin-bottom:14px}
.brandlogo--ftr small{color:#1a3a6b;letter-spacing:3px;margin-top:5px}

/* ===== Cookie consent bar ===== */
.cookie{position:fixed;bottom:0;left:0;right:0;z-index:1150;background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 30px rgba(15,23,42,.12);padding:14px 22px;display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;transform:translateY(120%);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.cookie.show{transform:none}
.cookie p{font-size:13.5px;color:var(--text);max-width:740px;margin:0;line-height:1.6}
.cookie p a{color:var(--primary-2);text-decoration:underline}
.cookie__btns{display:flex;gap:10px;flex:none}
.cookie__accept{background:var(--primary);color:#fff;border:none;border-radius:8px;padding:10px 26px;font-family:var(--font);font-weight:700;font-size:14px;cursor:pointer;transition:.18s}
.cookie__accept:hover{background:var(--primary-2)}
.cookie__decline{background:#fff;color:var(--text);border:1px solid var(--line);border-radius:8px;padding:10px 20px;font-family:var(--font);font-weight:600;font-size:14px;cursor:pointer;transition:.18s}
.cookie__decline:hover{background:var(--gray)}
@media (max-width:560px){.cookie{padding:14px 16px;gap:12px}.cookie p{font-size:12.5px}}

/* ===== Auto-running marquees: before/after + videos ===== */
.ba2__marquee,.vids__marquee{overflow:hidden;direction:ltr;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.ba2__mtrack{display:flex;direction:ltr;width:max-content;animation:bamarq 75s linear infinite;will-change:transform}
.vids__mtrack{display:flex;direction:ltr;width:max-content;animation:vidsmarq 22s linear infinite;will-change:transform}
.ba2__marquee:hover .ba2__mtrack,.vids__marquee:hover .vids__mtrack{animation-play-state:paused}
@keyframes bamarq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes vidsmarq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ba2__mtrack .ba{flex:0 0 clamp(300px,26vw,380px);margin-left:24px}
/* simple project gallery card */
.pgal{position:relative;margin:0;flex:0 0 clamp(300px,26vw,380px);margin-left:24px;aspect-ratio:4/3;border-radius:16px;overflow:hidden;box-shadow:0 18px 44px rgba(0,59,122,.16);direction:rtl}
.pgal img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.pgal:hover img{transform:scale(1.06)}
.pgal__cap{position:absolute;bottom:12px;inset-inline-start:12px;z-index:5;background:rgba(15,23,42,.78);color:#fff;font-size:13px;font-weight:700;padding:5px 12px;border-radius:8px}
/* "coming soon" placeholder card */
.pgal--soon{background:linear-gradient(135deg,#eef3fb,#dde7f5);border:1.5px dashed #b9cbe6;box-shadow:none;display:flex;align-items:center;justify-content:center}
.pgal__soon{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--primary);text-align:center;padding:14px}
.pgal__soon b{font-size:20px;font-weight:800;letter-spacing:.5px}
.pgal__soon small{font-size:13px;color:#5b7aa6;font-weight:600}
.pgal--soon:hover img{transform:none}
.ba2__disclaimer{text-align:center;font-size:12.5px;color:#46566f;margin:14px auto 0;max-width:680px}
/* lightweight cookie banner — below the fab menu on the Y axis (--ckbarh lifts FABs) */
.ckbar{position:fixed;bottom:0;inset-inline:0;z-index:1180;background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 30px rgba(0,59,122,.16);padding:14px 22px;display:flex;gap:18px;align-items:center;justify-content:center;flex-wrap:wrap;font-size:14px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease,visibility .35s}
.ckbar.show{opacity:1;visibility:visible;pointer-events:auto}
.ckbar p{margin:0;max-width:780px;line-height:1.6;color:var(--text)}
.ckbar p a{color:var(--primary-2);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.ckbar__btns{display:flex;gap:10px;flex:0 0 auto}
.ckbar__b1,.ckbar__b2{font-family:var(--font);font-size:14px;font-weight:700;border-radius:9px;padding:10px 24px;cursor:pointer;white-space:nowrap}
.ckbar__b1{background:var(--primary);color:#fff;border:none}
.ckbar__b1:hover{background:var(--primary-2)}
.ckbar__b2{background:#fff;color:var(--primary);border:1.5px solid var(--line)}
.ckbar__b2:hover{border-color:var(--primary-2)}
@media (max-width:600px){.ckbar{padding:12px 16px;gap:10px}.ckbar p{font-size:12.5px;line-height:1.5}.ckbar__b1,.ckbar__b2{padding:9px 18px;font-size:13px}}
/* homepage SEO content block */
.seoblock{padding:64px 0;background:linear-gradient(180deg,#f5f8fc,#eef3fa)}
.seoblock__grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:30px}
.seoblock__col{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px 30px 26px;box-shadow:0 12px 32px rgba(18,41,76,.07);transition:transform .25s,box-shadow .25s}
.seoblock__col:hover{transform:translateY(-4px);box-shadow:0 22px 46px rgba(18,41,76,.13)}
.seoblock__col h3{position:relative;color:var(--primary);font-size:20px;margin:24px 0 10px;padding-inline-start:16px}
.seoblock__col h3::before{content:"";position:absolute;inset-inline-start:0;top:3px;bottom:3px;width:5px;border-radius:99px;background:linear-gradient(180deg,#2a5092,#14315c)}
.seoblock__col h3:first-child{margin-top:0}
.seoblock__col p{color:var(--text);font-size:15.5px;line-height:1.85;margin-bottom:12px}
.seoblock__col a{color:var(--primary-2);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.seoblock__list{list-style:none;padding:0;margin:0 0 6px}
.seoblock__list li{position:relative;padding-inline-start:30px;margin-bottom:11px;font-size:15px;line-height:1.7;color:var(--text)}
.seoblock__list li::before{content:"✓";position:absolute;inset-inline-start:0;top:1px;width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,#2a5092,#14315c);color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center}
@media (max-width:860px){.seoblock__grid{grid-template-columns:1fr;gap:18px}.seoblock{padding:44px 0}}
.vids__mtrack .vid{flex:0 0 clamp(240px,21vw,290px);margin-left:22px;margin-top:0;margin-bottom:0}
@media (prefers-reduced-motion:reduce){.ba2__mtrack,.vids__mtrack{animation:none}}

/* Keep marquee item internals RTL while track flows LTR (seamless loop) */
.ba2__mtrack .ba,.vids__mtrack .vid,.s360__track .s360__tile{direction:rtl}

/* ===== Hero scroll-down hint ===== */
.hero__scroll{position:absolute;bottom:20px;left:50%;width:48px;height:48px;margin-left:-24px;border-radius:50%;background:#fff;border:1px solid var(--line);box-shadow:0 10px 26px rgba(0,59,122,.16);display:flex;align-items:center;justify-content:center;color:var(--primary);z-index:6;cursor:pointer;animation:heroBounce 1.8s ease-in-out infinite;transition:background .2s,color .2s}
.hero__scroll:hover{background:var(--primary);color:#fff}
@keyframes heroBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(9px)}}
@media (prefers-reduced-motion:reduce){.hero__scroll{animation:none}}
@media (max-width:900px){.hero__scroll{display:none}}

/* ===== 360 watermark of service providers ===== */
.s360__wm{position:absolute;inset:0;z-index:0;display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:16px 34px;padding:40px 26px;pointer-events:none;user-select:none;overflow:hidden}
.s360__wm span{font-size:clamp(16px,1.9vw,28px);font-weight:800;color:rgba(0,59,122,.085);white-space:nowrap;line-height:1.1}
.s360>.container{position:relative;z-index:1}

/* ===== Framed images - inset line frame ===== */
.about2__img,.lead__media{position:relative}
.hero__media::after,.about2__img::after,.lead__media::after{content:"";position:absolute;inset:12px;border:1px solid rgba(255,255,255,.55);border-radius:11px;pointer-events:none;z-index:2}

/* Header logo image */
.brandlogo-img{height:44px;width:auto;display:block;flex:none;object-fit:contain}
@media (max-width:600px){.brandlogo-img{height:38px}}

/* ===== Blog / articles marquee ===== */
/* Scoped to the articles section — not body.blog from WordPress body_class(). */
section.blog{padding:var(--secpad) 0;background:transparent}
section.blog .sec-title,section.blog .sec-sub{text-align:center}
section.blog .sec-sub{max-width:700px;margin:10px auto 40px}
.blog__marquee{overflow:hidden;direction:ltr;-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.blog__track{display:flex;direction:ltr;width:max-content;animation:blogmarq 42s linear infinite;will-change:transform}
.blog__marquee:hover .blog__track{animation-play-state:paused}
@keyframes blogmarq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.post{direction:rtl;flex:0 0 clamp(300px,28vw,360px);margin-left:24px;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 10px 26px rgba(0,59,122,.06);cursor:pointer;transition:transform .22s,box-shadow .22s,border-color .22s;display:flex;flex-direction:column}
.post:hover{transform:translateY(-6px);border-color:var(--primary-2);box-shadow:0 20px 46px rgba(0,59,122,.15)}
.post__img{position:relative;aspect-ratio:16/10;overflow:hidden}
.post__img img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.post:hover .post__img img{transform:scale(1.06)}
.post__cat{position:absolute;top:12px;right:12px;background:var(--primary);color:#fff;font-size:12px;font-weight:700;padding:5px 13px;border-radius:999px}
.post__body{padding:20px 20px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.post__body h3,.post__body .post__h{font-size:18px;font-weight:800;color:var(--primary);line-height:1.35;display:block}
.post__body p{font-size:14px;color:var(--text);line-height:1.7;flex:1}
.post__more{font-size:14px;font-weight:700;color:var(--primary-2)}
.post__cat-line{font-size:13px;color:var(--primary-2);font-weight:700;margin-bottom:6px}
@media (prefers-reduced-motion:reduce){.blog__track{animation:none}}

/* ===== Process steps marquee ===== */
.proc__marquee{overflow:hidden;direction:ltr;-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent)}
.proc__mtrack{display:flex;direction:ltr;width:max-content;animation:procmarq 36s linear infinite;will-change:transform}
.proc__marquee:hover .proc__mtrack{animation-play-state:paused}
@keyframes procmarq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.proc__mtrack .proc__card{direction:rtl;flex:0 0 clamp(260px,23vw,310px);margin-left:24px;margin-top:6px;margin-bottom:6px}
@media (prefers-reduced-motion:reduce){.proc__mtrack{animation:none}}

/* ===== Inner pages ===== */
.pg__hero{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff;padding:64px 0 56px;text-align:center}
.pg__crumbs{font-size:13px;color:#d6e6f8;margin-bottom:14px}
.pg__crumbs a{color:#fff;text-decoration:underline}
.pg__crumbs span{margin:0 6px;opacity:.6}
.pg__title{color:#fff;font-size:clamp(30px,4vw,46px);font-weight:800;letter-spacing:-.4px}
.pg__body{padding:64px 0 var(--secpad)}
.pg__content{max-width:880px}
.pg__content h2{font-size:28px;color:var(--primary);margin:8px 0 14px}
.pg__content h3{font-size:20px;color:var(--primary);margin:26px 0 10px}
.pg__content p{font-size:17px;line-height:1.9;color:var(--text);margin-bottom:16px}
.pg__content ul,.pg__content ol{margin:0 0 18px;padding-inline-start:24px;color:var(--text);font-size:17px;line-height:1.9}
.pg__content li{margin-bottom:8px}
.pg__content strong{color:var(--ink)}
.pg__content a:not(.btn){color:var(--primary-2);text-decoration:underline}
.pg__cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px;padding-top:28px;border-top:1px solid var(--line)}

/* ===== Inner pages - full design ===== */
.pg__hero{position:relative;background-size:cover;background-position:center;color:#fff;padding:88px 0 76px;text-align:right;border-radius:24px;margin:16px;overflow:hidden}
.pg__hero > *{position:relative;z-index:1}
  mask-image:linear-gradient(75deg, #000 0%, rgba(0,0,0,.35) 58%, transparent 92%);}
.pg__title{color:#fff;font-size:clamp(32px,4.2vw,50px);font-weight:800;letter-spacing:-.4px;max-width:780px}
.pg__lead{color:#dbe8f7;font-size:18px;line-height:1.8;max-width:640px;margin-top:14px}
.pg__herobtns{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.btn--light{background:#fff;color:var(--primary);border-color:#fff}
.btn--light:hover{background:var(--lightblue);border-color:var(--lightblue);color:var(--primary)}
.btn--ghostlight{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.btn--ghostlight:hover{background:rgba(255,255,255,.14);border-color:#fff;color:#fff}
.pg__grid{display:grid;grid-template-columns:1fr 350px;gap:48px;align-items:start}
.pg__grid--single{grid-template-columns:minmax(0,1fr)}
.career-layout{display:grid;grid-template-columns:280px minmax(0,1fr);gap:42px;align-items:start;direction:rtl}
.career-toc{position:sticky;top:92px;padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff;direction:rtl}
.career-toc strong{display:block;margin-bottom:14px;color:var(--primary);font-size:19px}
.career-toc ol{display:grid;gap:10px;margin:0;padding-inline-start:24px}
.career-toc li{color:#71809a}
.career-toc a{color:var(--primary);text-decoration:none;font-weight:700}
.career-toc a:hover,.career-toc a:focus-visible{color:var(--primary-2)}
.career-layout .pg__content{min-width:0;grid-column:2;grid-row:1}
.career-layout .career-toc{grid-column:1;grid-row:1}
.career-layout h2[id]{scroll-margin-top:90px}
@media(max-width:900px){.career-layout{display:block}.career-toc{position:static;margin-bottom:24px}.career-layout .pg__content{width:100%}}
.pg__content{max-width:none}
.pg__aside{position:sticky;top:104px;display:flex;flex-direction:column;gap:20px}
.pg__media{border-radius:16px;overflow:hidden;border:1px solid var(--line);box-shadow:0 18px 44px rgba(0,59,122,.14)}
.pg__media img{width:100%;height:230px;object-fit:cover;display:block}
.pg__card{background:var(--gray);border:1px solid var(--line);border-radius:16px;padding:24px}
.pg__card h3{font-size:19px;color:var(--primary);margin-bottom:6px}
.pg__card>p{font-size:14.5px;color:var(--text);line-height:1.7;margin-bottom:14px}
.pg__contact{list-style:none;margin:0 0 16px;padding:0}
.pg__contact li{display:flex;justify-content:space-between;gap:10px;font-size:14px;padding:9px 0;border-bottom:1px solid var(--line);color:var(--ink)}
.pg__contact li:last-child{border-bottom:none}
.pg__contact span{color:#7C8BA1;font-weight:600}
.pg__contact a{color:var(--primary-2);font-weight:700}
@media (max-width:900px){.pg__grid{grid-template-columns:1fr}.pg__aside{position:static;flex-direction:row;flex-wrap:wrap}.pg__media,.pg__card{flex:1 1 280px}}

/* Features band */
/* No band of its own - it shares the page's background. */
.feat{padding:var(--secpad) 0;background:transparent}
.feat__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
/* The cards sit ON the page rather than on white panels laid over it: the site
   background shows through, and the card is drawn with a hairline and a soft
   tint instead of an opaque fill. The shadow goes with the fill - a shadow
   under a transparent surface reads as a mistake. */
.feat__card{background:rgba(255,255,255,.32);backdrop-filter:blur(2px);border:1px solid rgba(26,58,107,.14);border-radius:16px;padding:28px 22px;text-align:center;box-shadow:none;transition:.2s}
/* Hover is where the card lifts and becomes solid - the state that says
   'this one', without every card shouting it at rest. */
.feat__card:hover{transform:translateY(-5px);border-color:var(--primary-2);background:rgba(255,255,255,.72);box-shadow:0 16px 38px rgba(0,59,122,.12)}
.feat__ic{width:56px;height:56px;border-radius:14px;background:var(--lightblue);color:var(--primary);display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.feat__card h3{font-size:18px;color:var(--primary);margin-bottom:8px}
.feat__card p{font-size:14px;color:var(--text);line-height:1.65}
@media (max-width:900px){.feat__grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.feat__grid{grid-template-columns:1fr}}

/* CTA band */
.ctaband{background:linear-gradient(135deg,var(--primary),var(--primary-2));color:#fff}
.ctaband__inner{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:54px 0;flex-wrap:wrap}
.ctaband__txt h2{color:#fff;font-size:28px;font-weight:800}
.ctaband__txt p{color:#dbe8f7;font-size:16px;line-height:1.7;margin-top:8px;max-width:560px}
.ctaband__btns{display:flex;gap:12px;flex-wrap:wrap}

/* ===== Quick-lead horizontal form band ===== */
.qlead{background:var(--primary-2);color:#fff;padding:18px 0;position:fixed;inset-inline:0;bottom:0;z-index:60;box-shadow:0 -10px 34px rgba(0,21,48,.28);transform:translateY(110%);transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.qlead.qlead--show{transform:translateY(0)}
/* always-visible toggle: down arrow when band shown, up arrow when collapsed */
.qlead-toggle{position:fixed;bottom:8px;inset-inline-start:50%;transform:translateX(50%);width:46px;height:46px;border-radius:50%;border:none;background:#fff;color:#1A3A6B;box-shadow:0 6px 20px rgba(0,21,48,.28);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:62;opacity:0;pointer-events:none;transition:bottom .45s cubic-bezier(.2,.7,.2,1),opacity .3s}
.qlead-toggle.on{opacity:1;pointer-events:auto}
.qlead-toggle svg{transition:transform .3s}
.qlead-toggle.collapsed svg{transform:rotate(180deg)}
@media (max-width:760px){.qlead{padding:14px 0}}
.qlead__inner{display:flex;align-items:flex-start;gap:16px;flex-wrap:wrap}
.qlead__head{flex:0 1 200px;min-width:0}
.qlead__head h2{color:#fff;font-size:18px;font-weight:800;letter-spacing:-.2px;line-height:1.2}
.qlead__head p{color:#dbe8f7;font-size:12px;margin-top:3px;line-height:1.35}
.qlead__form{flex:1 1 420px;display:flex;flex-direction:column;direction:rtl;gap:6px;min-width:0}
.qlead__fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%}
.qlead__form input[type=text],.qlead__form input[type=tel]{width:100%;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.14);color:#fff;border-radius:999px;padding:8px 12px;font-family:var(--font);font-size:13px;outline:none;transition:.15s}
.qlead__form input::placeholder{color:#cfe0f2}
.qlead__form input:focus{background:rgba(255,255,255,.22);border-color:#fff}
.qlead__actions{display:flex;justify-content:flex-start;width:100%}
.qlead__form .btn{flex:0 0 auto;padding:8px 22px;font-size:13px;line-height:1.2}
.qlead__legal{flex:1 1 100%;margin-top:2px;font-size:9px;line-height:1.45;color:#aac1e0;text-align:center;opacity:.92}
.qlead__form #ql-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.qlead__note{flex:1 1 100%;font-size:11px;color:#d6e6f8;margin:0}
@media (max-width:760px){
  .qlead__fields{grid-template-columns:1fr}
  .qlead__actions .btn{width:100%;max-width:200px}
}

/* a11y panel note */
.a11y-note{font-size:11.5px;line-height:1.55;color:#6b7280;background:transparent;border-radius:0;padding:0;margin:10px 14px 0}
.a11y-note a{color:var(--primary-2);font-weight:700;text-decoration:underline;text-underline-offset:2px}

/* ── News & social (#news) ── */
.social{padding:var(--secpad) 0;background:transparent}
.social .sec-title,.social .sec-sub{text-align:center}
.social .sec-sub{max-width:700px;margin:10px auto 40px}
.social__grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:stretch}
.social__card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 10px 30px rgba(0,59,122,.07);display:flex;flex-direction:column}
.social__head{display:flex;align-items:center;gap:10px;padding:16px 20px;color:#fff;font-weight:700;font-size:16px}
.social__head--fb{background:linear-gradient(135deg,#2a5092,#14315c)}
.social__head--ig{background:linear-gradient(135deg,#2a5092,#14315c)}
.social__head--tt{background:linear-gradient(135deg,#2a5092,#14315c)}
.social__head--pod{background:linear-gradient(135deg,#2a5092,#14315c)}
.social__soon{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:48px 26px;min-height:300px}
.social__soon-badge{width:64px;height:64px;border-radius:18px;background:linear-gradient(135deg,#2a5092,#14315c);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(18,41,76,.28)}
.social__soon .pill{display:inline-block;background:var(--lightblue);color:var(--primary);font-weight:800;font-size:13px;padding:5px 16px;border-radius:99px;letter-spacing:.5px}
.social__soon h3{font-size:19px;color:var(--primary)}
.social__soon p{font-size:14.5px;color:var(--text);max-width:300px}
.social__head svg{flex:0 0 auto}
.social__follow{margin-inline-start:auto;color:#fff;font-size:13.5px;font-weight:600;opacity:.92;border:1px solid rgba(255,255,255,.5);border-radius:99px;padding:5px 14px;transition:.2s}
.social__follow:hover{background:rgba(255,255,255,.16);opacity:1}
.social__fbwrap{flex:1;display:flex;justify-content:center;padding:14px;background:#fff;min-height:400px}
.social__fbwrap iframe{max-width:100%}
.social__igrid{flex:1;display:flex;justify-content:center;padding:14px;background:#fff;min-height:400px}
.social__igrid iframe{width:100%;max-width:500px;height:620px;border:1px solid var(--line);border-radius:12px;background:#fff}
.social__igsoon{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;padding:48px 34px;background:
  radial-gradient(420px 220px at 85% 0%,rgba(221,42,123,.06),transparent 70%),
  radial-gradient(420px 220px at 10% 100%,rgba(0,87,184,.07),transparent 70%),#fff}
.social__igsoon-badge{width:72px;height:72px;border-radius:22px;display:flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(45deg,#F58529,#DD2A7B 55%,#8134AF);box-shadow:0 12px 26px rgba(221,42,123,.28)}
.social__igsoon h3{font-size:21px;color:var(--primary)}
.social__igsoon p{max-width:380px;font-size:15.5px}
@media (max-width:980px){.social__grid{grid-template-columns:1fr}.social__igrid iframe{height:560px}}

/* ===== LTR overrides for translated (EN/FR/RU) pages - Hebrew stays RTL ===== */
html[dir="ltr"] body{direction:ltr;text-align:left}
html[dir="ltr"] .hero__panel{text-align:center}
html[dir="ltr"] .pg__content,
html[dir="ltr"] .pg__crumbs,
html[dir="ltr"] .pg__title,
html[dir="ltr"] .pg__lead,
html[dir="ltr"] .pg__card,
html[dir="ltr"] .pg__contact,
html[dir="ltr"] .ftr__brand,
html[dir="ltr"] .ftr__contact,
html[dir="ltr"] .qlead__head{text-align:left}
html[dir="ltr"] .pg__content ul,
html[dir="ltr"] .pg__content ol{padding-left:1.2em;padding-right:0}
html[dir="ltr"] .ftr__bottom .ftr__disclaimer{text-align:left}
/* keep intentionally-centered blocks centered */
html[dir="ltr"] .sec-title,
html[dir="ltr"] .sec-head,
html[dir="ltr"] .ctaband__txt{text-align:center}

/* ===== RIGHT SIDEBAR NAV - TRIAL. Remove this block (and the <aside class="sidebar"> in header.php) to revert. ===== */
:root{ --sbw:240px; --sboff:var(--sbw); }
.sidebar{
  position:fixed; top:0; bottom:0; inset-inline-start:0; width:var(--sbw);
  /* Deepest brand navy — hero, contact band, mobile drawer. Darker than
     --primary-2 so a full-height column does not read as a mid blue panel. */
  background:var(--primary-deep,#08274b); color:#fff;
  display:flex; flex-direction:column; padding:24px 14px 18px; z-index:1000;
  box-shadow:none; overflow:hidden; }
.sb__logo{ display:flex; flex-direction:column; align-items:center; text-decoration:none; padding:6px 0 16px; gap:3px; direction:ltr; unicode-bidi:isolate; }
.sb__logo-name{ direction:ltr; unicode-bidi:isolate; color:#fff; font-family:'Cinzel',serif; font-weight:700; font-size:23px; letter-spacing:.05em; line-height:1.05; text-align:center; min-height:24px; }
.sb__logo-sub{ direction:ltr; unicode-bidi:isolate; color:rgba(255,255,255,.55); font-size:8px; letter-spacing:.22em; font-weight:600; }
.sbnav{ display:flex; flex-direction:column; gap:3px; margin-top:12px; flex:1 1 auto; min-height:0; overflow-y:auto;
  /* The list grows to fill the drawer, so on a tall screen the leftover space
     used to pool into one hole between the last link and the CTA button.
     Spreading it between the links turns that hole into even spacing - the
     space is the same, it just stops reading as a gap someone forgot. On a
     short screen there is no leftover and the links stay tight together. */
  justify-content:flex-start; }
/* ── rail items: a marked tile, a label, and ONE item that is clearly the
      page you are on ──────────────────────────────────────────────────────
   The old list marked the current page with a slightly lighter navy panel,
   which on a navy column is a difference you have to look for. Now the tile
   carries the mark and the active item lifts off the column as a white card -
   the same hierarchy the technologies site uses, translated to this rail
   rather than copied onto it: the column, the palette and the type are
   untouched. */
.sbnav a{ display:flex; align-items:center; gap:10px; padding:11px 14px; border-radius:10px;
  color:rgba(255,255,255,.82); text-decoration:none; font-size:15.5px; font-weight:600;
  transition:background .18s,color .18s,box-shadow .18s,transform .18s; }
.sbnav a .sbnav__t{ flex:1 1 auto; text-align:start; }
/* The tile, not the icon, is what the eye tracks down the column. */
.sbnav a .sbnav__ic{ display:none; }
.sbnav a .sbnav__ic--unused{ display:flex; align-items:center; justify-content:center; flex-shrink:0;
  width:38px; height:38px; border-radius:13px; background:rgba(255,255,255,.10);
  color:rgba(255,255,255,.78); transition:background .18s,color .18s,box-shadow .18s; }
.sbnav a::after{ display:none !important; }
.sbnav a:hover{ background:rgba(255,255,255,.08); color:#fff; }
.sbnav a:hover .sbnav__ic{ background:rgba(255,255,255,.18); color:#fff; }
.sbnav a.active{ background:rgba(255,255,255,.14); color:#fff; font-weight:800;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16); }
.sbnav a.active .sbnav__ic{ background:#fff; color:var(--primary-2,#12294C);
  box-shadow:0 4px 12px rgba(3,10,26,.35); }
/* Careers is a real destination but not a peer of the seven pages above it:
   one step down in weight says so without hiding it. */
.sbnav a[href*="careers"]:not(.active),.sbnav a[href*="%D7%93%D7%A8%D7%95%D7%A9%D7%99%D7%9D"]:not(.active){
  font-weight:600; color:rgba(255,255,255,.66); }
.sbnav a[href*="careers"]:not(.active) .sbnav__ic,
.sbnav a[href*="%D7%93%D7%A8%D7%95%D7%A9%D7%99%D7%9D"]:not(.active) .sbnav__ic{
  background:rgba(255,255,255,.06); }

/* ── Services dropdown (drawer + desktop mega menu) ─────────────────────── */
.sbnav__dd{ position:relative; }
.sbnav__dd-trigger{ display:flex; align-items:center; gap:8px; width:100%;
  padding:11px 14px; border-radius:10px; color:rgba(255,255,255,.82);
  text-decoration:none; font-size:15.5px; font-weight:600;
  transition:background .18s,color .18s,box-shadow .18s; }
.sbnav__dd-trigger .sbnav__t{ flex:1 1 auto; text-align:start; }
.sbnav__dd-trigger .sbnav__caret{ display:inline-flex; flex-shrink:0; opacity:.75;
  transition:transform .2s ease; }
.sbnav__dd.is-open .sbnav__dd-trigger .sbnav__caret,
.sbnav__dd:focus-within .sbnav__dd-trigger .sbnav__caret{ transform:rotate(180deg); }
.sbnav__dd-menu{ display:none; flex-direction:column; gap:8px;
  padding:8px 6px 10px; margin:0; }
.sbnav__dd.is-open .sbnav__dd-menu,
.sbnav__dd:focus-within .sbnav__dd-menu{ display:flex; }
.sbnav__dd-card{ display:flex; align-items:center; gap:12px;
  padding:10px 12px; border-radius:12px;
  color:rgba(255,255,255,.88); font-size:14.5px; font-weight:700;
  text-decoration:none; background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.08); }
.sbnav__dd-card:hover,
.sbnav__dd-card:focus-visible{ background:rgba(255,255,255,.12); color:#fff; }
.sbnav__dd-icon{ display:grid; place-items:center; width:42px; height:42px;
  flex-shrink:0; border-radius:50%; background:rgba(232,241,250,.95);
  color:#123764; }
.sbnav__dd-icon svg{ width:26px; height:26px; }
.sbnav__dd-label{ line-height:1.35; text-align:start; }
.sbnav__dd-trigger:hover,
.sbnav__dd-trigger.active{ background:rgba(255,255,255,.08); color:#fff; }
.sbnav__dd-trigger.active{ font-weight:800; box-shadow:inset 0 0 0 1px rgba(255,255,255,.16); }

.sb__langs{ display:flex; justify-content:center; gap:7px; padding:13px 6px 12px; font-size:13px; font-weight:700;
  border-top:1px solid rgba(255,255,255,.12); margin-top:8px; flex-wrap:wrap; }
.sb__langs a{ color:rgba(255,255,255,.6); text-decoration:none; padding-bottom:2px; }
.sb__langs a.on{ color:#fff; border-bottom:2px solid #fff; }
/* The CTA has to outrank the active page, and a white pill under a white card
   does not. Brand blue on the navy column does, and it is the same blue the
   buttons in the page body already use. */
.sb__cta{ display:flex; align-items:center; justify-content:center; gap:10px;
  background:#fff; color:var(--primary-2,#12294C); font-weight:800; font-size:15px;
  padding:15px 14px; border-radius:18px; text-decoration:none; margin-top:12px;
  box-shadow:0 10px 26px rgba(3,10,26,.34); transition:background .18s,transform .18s,box-shadow .18s; }
.sb__cta svg{ flex:0 0 auto; }
.sb__cta:hover{ background:#EAF3FF; transform:translateY(-1px); box-shadow:0 12px 30px rgba(3,10,26,.42); }

/* Language row: pills, so the current language is a state you can see rather
   than an underline two pixels tall. */
.sb__langs a{ border-radius:999px; padding:6px 12px; line-height:1;
  background:rgba(255,255,255,.07); transition:background .16s,color .16s; }
.sb__langs a:hover{ background:rgba(255,255,255,.16); color:#fff; }
.sb__langs a.on{ background:#fff; color:var(--primary-2,#12294C); border-bottom:0; }
@media (min-width:769px){
  body{ width:calc(100% - var(--sboff)) !important; max-width:none !important; margin-inline-start:var(--sboff) !important; }
  .hdr{ display:none; }
  .ckbar{ inset-inline-start:var(--sboff) !important; }
  .qlead{ inset-inline-start:calc(var(--sboff) + 16px) !important; }
  .a11y-fab{ left:24px !important; right:auto !important; inset-inline-start:auto; inset-inline-end:auto; }
  .a11y-panel{ left:22px !important; right:auto !important; inset-inline-start:auto; inset-inline-end:auto; }
  html[dir="ltr"] .a11y-fab{ left:auto !important; right:24px !important; }
  html[dir="ltr"] .a11y-panel{ left:auto !important; right:22px !important; }
}
@media (max-width:768px){
  .sidebar{ right:0; left:auto; height:100vh; height:100dvh; max-width:86vw;
    background:#08274b; background-color:var(--primary-deep,#08274b); opacity:1;
    -webkit-transform:translate3d(110%,0,0); transform:translate3d(110%,0,0);
    -webkit-backface-visibility:hidden; backface-visibility:hidden; will-change:transform;
    visibility:hidden; transition:transform .3s ease, visibility 0s linear .3s; }
  html[dir="ltr"] .sidebar{ left:0; right:auto; -webkit-transform:translate3d(-110%,0,0); transform:translate3d(-110%,0,0); }
  .sidebar.open{ -webkit-transform:translate3d(0,0,0) !important; transform:translate3d(0,0,0) !important;
    visibility:visible; transition:transform .3s ease, visibility 0s linear 0s; }
  .sidebar .sbnav{ overflow-y:auto; -webkit-overflow-scrolling:touch; }
  /* Drawer footer chrome is desktop-only — keep the phone menu to nav + langs. */
  .sidebar .sb__cta,
  .sidebar .sb__social{ display:none !important; }
  .hdr__burger{ display:flex; }
  /* MOBILE BAR: logo dead-centre, menu pinned to the physical LEFT edge. */
  .hdr__wrap{ display:grid; grid-template-columns:44px 1fr 44px; align-items:center; gap:6px;
    min-height:74px; height:auto; padding-block:8px; position:relative; }
  .hdr__wrap .brand{ grid-column:2; grid-row:1; justify-self:center; min-width:0; overflow:hidden; }
  .hdr__wrap .brandlogo{ display:grid; justify-items:center; gap:4px; line-height:1;
    font-family:'Cinzel',Georgia,serif; font-weight:700;
    font-size:clamp(21px,6.6vw,29px); letter-spacing:.05em; color:var(--primary,#1A3A6B);
    white-space:nowrap; }
  .hdr__wrap .brandlogo small{ font-family:var(--font); font-weight:500;
    font-size:clamp(7.5px,2.3vw,10px); letter-spacing:.26em; color:var(--text);
    padding-inline-start:.26em; }
  /* Physical `left` — not RTL grid column — so the burger stays on the left. */
  .hdr__burger{
    position:absolute; left:max(10px, env(safe-area-inset-left, 0px)); right:auto;
    top:50%; transform:translateY(-50%);
    grid-column:auto; grid-row:auto; justify-self:auto;
    width:44px; height:44px;
    background:transparent; border:0; border-radius:12px;
    display:flex; align-items:center; justify-content:center;
    color:var(--primary-2,#12294C);
    box-shadow:none; padding:0; cursor:pointer;
    transition:background .18s ease;
  }
  .hdr__burger:hover,
  .hdr__burger:focus-visible{ background:rgba(18,41,76,.06); }
  .hdr__burger svg{ width:26px; height:26px; }
  .hdr__burger span{ display:none; }
  html[dir="ltr"] .hdr__burger{ left:max(10px, env(safe-area-inset-left, 0px)); right:auto; }
}
.nav-backdrop{ position:fixed; inset:0; background:rgba(12,31,61,.5); z-index:990; opacity:0; visibility:hidden; transition:.3s; }
.nav-backdrop.show{ opacity:1; visibility:visible; }
html.nav-instant .sidebar,html.nav-instant .nav-backdrop{ transition:none !important; }
body.nav-lock{ overflow:hidden; }

/* ===== Quick-lead bar: light/white rounded style (matches the reference) ===== */
.qlead{ background:#fff !important; color:#0f172a; border-radius:16px; box-shadow:0 10px 34px rgba(0,30,70,.16); border:1px solid #e6ecf4; bottom:12px; inset-inline-start:12px; inset-inline-end:12px; padding:8px 0; }
.qlead__inner{gap:12px;align-items:flex-start}
.qlead__head{flex:0 1 190px}
.qlead__head h2{ color:#1A3A6B;font-size:17px; }
.qlead__head p{ color:#64748b;font-size:11.5px;margin-top:2px; }
.qlead__form{gap:5px}
.qlead__fields{gap:7px}
.qlead__form input[type=text],.qlead__form input[type=tel]{ border:1px solid #d8e1ec; background:#f7fafd; color:#0f172a; border-radius:999px;padding:7px 12px;font-size:13px; }
.qlead__form input::placeholder{ color:#94a3b8; }
.qlead__form input:focus{ background:#fff; border-color:#2e6be6; box-shadow:0 0 0 3px rgba(46,107,230,.12); }
.qlead__note{ color:#64748b;font-size:10.5px; }
.qlead__legal{ color:#475569; opacity:1;font-size:8.5px;line-height:1.4;margin-top:0; }
.qlead #ql-btn{ background:var(--primary-2) !important; color:#fff !important; border-radius:999px;padding:7px 20px;font-size:13px;min-height:34px; }
.qlead #ql-btn:hover{ background:#12294C !important; }
.qlead-toggle{ background:var(--primary-2); color:#fff; }

/* Home no longer reserves space under the hero for a locked quick-lead band —
   the page scrolls through full chapters, and the band starts collapsed. */
.home .hero{padding-bottom:0!important}


/* ===== Knowledge guides grid (ידע שבונה) ===== */
.blog__guides-h{ font-size:21px; font-weight:800; color:var(--primary); text-align:center; margin:44px 0 22px; }
.blog__grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(238px,1fr)); gap:16px; }
.guide-card{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:16px; padding:20px 22px; text-decoration:none; transition:transform .2s, box-shadow .2s, border-color .2s; box-shadow:0 6px 18px rgba(0,59,122,.05); }
.guide-card:hover{ transform:translateY(-3px); box-shadow:0 14px 30px rgba(0,59,122,.12); border-color:#cdd9ec; }
.guide-card h3{ font-size:16.5px; font-weight:800; color:var(--primary); margin-bottom:7px; line-height:1.3; }
.guide-card p{ font-size:14px; color:var(--text); line-height:1.6; flex:1 1 auto; margin-bottom:12px; }
.guide-card .post__more{ color:var(--primary-2); font-weight:700; font-size:13.5px; }


/* === Side menu: fit fully to viewport height, no internal scroll (added) === */
@media (min-width:769px){
  .sidebar{ padding-top:clamp(12px,2vh,24px); padding-bottom:clamp(10px,1.6vh,18px); }
  .sb__logo{ padding:clamp(2px,0.6vh,6px) 0 clamp(8px,1.5vh,16px); }
  .sb__logo-name{ font-size:clamp(18px,2.4vh,23px); }
  /* space-between spread the eight links over the whole free height of the
     rail, leaving a finger's width between each - eight unrelated blocks
     rather than one menu. They sit together at the top now; the spare room
     stays at the bottom where the CTA already lives. */
  .sbnav{ margin-top:clamp(5px,1.1vh,12px); gap:2px; overflow:visible; flex:0 0 auto; justify-content:flex-start; }
  .sbnav a{ padding:clamp(7px,1.15vh,11px) 13px; font-size:clamp(13.5px,1.7vh,15px); }
  .sbnav a .sbnav__ic svg{ width:clamp(17px,2.1vh,19px); height:clamp(17px,2.1vh,19px); }
  /* The CTA and everything under it are pushed to the FOOT of the rail.
     Once the links stopped stretching to fill the column, the leftover
     height collected below them and the whole lower block floated in the
     middle of nothing. margin-top:auto hands that space to the gap above
     the CTA instead, so the links sit at the top, the CTA and the language
     and social rows sit at the bottom, and the empty room is between them
     where it reads as spacing rather than as a dead end. */
  .sb__cta{ margin-top:14px; padding:clamp(10px,1.5vh,14px); font-size:clamp(14px,1.8vh,15px); }
  .sb__langs{ margin-top:clamp(4px,0.8vh,8px); padding:clamp(8px,1.3vh,13px) 12px clamp(6px,1.1vh,12px); }
}


/* === Social carousel (added) === */
.social__carousel{position:relative}
.social__track{display:flex;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:4px 2px 8px;scrollbar-width:none;-ms-overflow-style:none}
.social__track::-webkit-scrollbar{display:none}
.social__track>.social__card{flex:0 0 calc(50% - 13px);scroll-snap-align:start;min-width:0}
@media(max-width:900px){.social__track>.social__card{flex:0 0 100%}}
.social__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:46px;height:46px;border-radius:50%;border:none;background:#14315c;color:#fff;font-size:26px;font-weight:700;line-height:1;cursor:pointer;box-shadow:0 6px 20px rgba(0,59,122,.28);display:flex;align-items:center;justify-content:center;transition:.2s}
.social__nav:hover{background:#2a5092;transform:translateY(-50%) scale(1.06)}
.social__nav--prev{right:-14px}
.social__nav--next{left:-14px}
@media(max-width:640px){.social__nav{width:40px;height:40px;font-size:22px}.social__nav--prev{right:-6px}.social__nav--next{left:-6px}}
.social__head--yt{background:linear-gradient(135deg,#2a5092,#14315c)}
.social__ytwrap{flex:1;display:flex;justify-content:center;padding:14px;background:#fff;min-height:400px}
.social__ytwrap iframe{width:100%;max-width:500px;height:620px;border:1px solid var(--line);border-radius:12px;background:#000}
@media(max-width:600px){.social__ytwrap iframe{height:560px}}


/* === TikTok live embed (added) === */
.social__ttwrap{flex:1;display:flex;justify-content:center;padding:14px;background:#fff;min-height:400px}
.social__ttwrap iframe{width:100%;max-width:340px;height:620px;border:1px solid var(--line);border-radius:12px;background:#000}
@media(max-width:600px){.social__ttwrap iframe{height:560px}}


/* === Extra-narrow / foldable screens hardening (added) === */
@media (max-width:400px){
  .container{padding-inline:15px}
  .hero__grid{padding-left:15px;padding-right:15px;padding-top:72px}
  .lead__row,.services__grid,.ba2__grid,.proc__grid,.seoblock__grid,.feat__grid,.a11y-grid{grid-template-columns:1fr !important}
  .social__ytwrap iframe,.social__ttwrap iframe,.social__igrid iframe{height:460px}
  .social__fbwrap,.social__igrid,.social__ytwrap,.social__ttwrap{min-height:0;padding:10px}
  .sec-title{font-size:clamp(24px,7vw,32px)}
  img,iframe,video,table{max-width:100%}
}

/* === Careers page: CV form + legal note (added) === */
.cvform{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;margin:18px 0 10px}
.cvform__row{display:flex;flex-direction:column;gap:6px;min-width:0}
.cvform__row--full{grid-column:1/-1}
.cvform label{font-size:14px;font-weight:700;color:var(--primary)}
.cvform label span{color:#c0392b}
.cvform input,.cvform select,.cvform textarea{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:15px;background:#fff;color:var(--text)}
.cvform input:focus,.cvform select:focus,.cvform textarea:focus{outline:2px solid var(--primary);outline-offset:1px;border-color:var(--primary)}
.cvform textarea{resize:vertical;min-height:96px}
.cvform__actions{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.cvform__note{margin:0;font-size:14px;color:var(--text)}
.cvform__attach{font-size:14.5px;color:var(--text);background:var(--lightblue);border-radius:10px;padding:12px 14px;margin:8px 0 22px}
.cvform__attach a{font-weight:700;color:var(--primary)}
.legalnote{border:1px solid var(--line);border-inline-start:4px solid var(--primary);border-radius:12px;background:#fbfcfe;padding:16px 18px;margin-top:26px}
.legalnote h3{font-size:16px;color:var(--primary);margin:0 0 8px}
.legalnote p{font-size:13.5px;line-height:1.75;color:#4a5568;margin:0 0 8px}
.legalnote p:last-child{margin-bottom:0}
.ftr__labornote{max-width:var(--maxw);margin:10px auto 0;padding:0 28px 4px;font-size:11.5px;line-height:1.7;color:#c4d8f0;text-align:center}
@media (max-width:720px){.cvform{grid-template-columns:1fr}}
.cvform__hint{font-size:12.5px;color:#6b7280;font-weight:400}
.cvform input[type=file]{padding:9px 12px;background:var(--gray);cursor:pointer}

/* === All-articles index table (internal) === */
.artidx__stats{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px}
.artidx__stat{background:var(--lightblue);color:var(--primary);border-radius:99px;padding:6px 15px;font-size:14px}
.artidx__stat b{font-size:15px}
.artidx__wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:#fff}
.artidx{width:100%;border-collapse:collapse;font-size:14px;min-width:900px}
.artidx th,.artidx td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:start;vertical-align:top}
.artidx thead th{background:var(--primary);color:#fff;position:sticky;top:0;font-weight:700;white-space:nowrap}
.artidx tbody tr:nth-child(even){background:#fafcff}
.artidx tbody tr:hover{background:var(--lightblue)}
.artidx__n{color:#94a3b8;font-size:13px;width:44px}
.artidx__g{font-weight:700;color:var(--primary);min-width:190px}
.artidx__g code{display:inline-block;margin-top:3px;font-size:11.5px;font-weight:400;color:#64748b;background:var(--gray);padding:1px 7px;border-radius:5px;direction:ltr}
.artidx__has a{color:#1A3A6B;text-decoration:underline;text-underline-offset:2px}
.artidx__has a:hover{color:#2A5092}
.artidx__no{color:#cbd5e1;text-align:center}

/* === Sidebar social icons (below language switcher) === */
.sb__social{display:flex;justify-content:center;align-items:center;gap:6px;padding:4px 10px 12px;flex-wrap:wrap}
.sb__social a{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:11px;color:rgba(255,255,255,.72);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.10);transition:background .18s,color .18s,transform .18s}
.sb__social a:hover,.sb__social a:focus-visible{color:#fff;background:rgba(255,255,255,.2);transform:translateY(-2px)}
.sb__social a:focus-visible{outline:2px solid #fff;outline-offset:2px}
@media (min-width:769px){.sb__social{padding:2px 10px clamp(6px,1vh,12px);gap:clamp(4px,0.8vh,7px)}
  .sb__social a{width:clamp(26px,3.4vh,30px);height:clamp(26px,3.4vh,30px)}}

/* === Related content block (internal linking) === */
.related{margin:34px 0 4px;padding:20px 22px;background:var(--gray);border:1px solid var(--line);border-radius:14px}
.related h2{font-size:18px;margin:0 0 12px;color:var(--primary)}
.related ul{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px 22px}
.related li{margin:0;padding-inline-start:16px;position:relative;font-size:15px;line-height:1.55}
.related li::before{content:"›";position:absolute;inset-inline-start:0;color:var(--primary);font-weight:700}
.related a{color:var(--primary);text-decoration:none;border-bottom:1px solid transparent}
.related a:hover{border-bottom-color:var(--primary)}
.related a.related-showcase__all,
.related a.related-showcase__featured,
.related a.related-showcase__item{border-bottom:0}
.related a.related-showcase__all{border:1px solid #183764}
.related a.related-showcase__all:hover{border-color:#183764;border-bottom-color:#183764}
@media (max-width:700px){.related ul{grid-template-columns:1fr}}
.related.related-showcase{width:100%;max-width:none;margin:56px auto 0;padding:0;border:0;background:transparent;overflow:visible}
.related-showcase__head{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  margin:0 0 22px;padding:44px 0 8px;
  border-top:1px solid #d8e1ed;
}
.related-showcase__head p{display:none}
.related-showcase__head h2,
.article-page .related-showcase__head h2,
.article-page .article-body .related-showcase__head h2{
  margin:0;padding:0;border:0;
  color:#112d56;font-size:clamp(24px,2.6vw,33px);font-weight:900;line-height:1.25;
}
.related-showcase__head h2::before,
.article-page .related-showcase__head h2::before{display:none!important;content:none!important}
.related-showcase__all{
  flex:none;align-self:center;position:relative;z-index:1;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  height:44px;padding:0 18px 0 16px;
  border:1px solid #183764;border-bottom:1px solid #183764;border-radius:2px;
  background:#fff;color:#183764;
  font-family:inherit;font-size:13px;font-weight:800;line-height:1;
  text-decoration:none;white-space:nowrap;box-shadow:none;
  transition:background .18s,color .18s;
}
.related-showcase__all span{display:inline-block;font-size:15px;line-height:1}
.related-showcase__all:hover{background:#183764;color:#fff}
.related-showcase__grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:18px}
.related-showcase__featured{position:relative;display:block;min-height:230px;overflow:hidden;background:#0e315d;color:#fff;text-decoration:none}
.related-showcase__featured>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.related-showcase__featured::after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(180deg,rgba(7,26,55,0),rgba(6,29,64,.96))}
.related-showcase__featured:hover>img{transform:scale(1.04)}
.related-showcase__featured-copy{position:absolute;z-index:1;right:0;bottom:0;left:0;display:block;padding:15px 20px;color:#fff}
.related-showcase__featured-copy em,.related-showcase__item em{display:block;color:#30c2f1;font-size:12px;font-style:normal;font-weight:800}
.related-showcase__featured-copy strong{display:block;margin:4px 0;color:#fff;font-size:clamp(17px,1.8vw,22px);line-height:1.2}
.related-showcase__featured-copy>span{display:block;max-width:56ch;color:rgba(255,255,255,.83);font-size:13px;line-height:1.55}
.related-showcase__featured-copy b,.related-showcase__item b{display:inline-block;margin-top:14px;color:#2cc2f1;font-size:12px}
.related-showcase__featured-copy small,.related-showcase__item small{float:left;margin-top:14px;color:rgba(255,255,255,.65);font-size:11px}
.related-showcase__list{display:grid;grid-template-rows:1fr 1fr;gap:10px}
.related-showcase__item{display:grid;grid-template-columns:48% 52%;min-height:110px;overflow:hidden;border:1px solid #dce4ed;background:#fff;color:#17345e;text-decoration:none;direction:ltr;transition:box-shadow .2s,transform .2s}
.related-showcase__item:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(9,33,67,.11)}
.related-showcase__item>img{width:100%;height:100%;object-fit:cover}
.related-showcase__item>span{position:relative;display:block;padding:11px 14px;direction:rtl}
.related-showcase__item em{position:absolute;top:10px;left:14px;font-size:36px;font-weight:300;line-height:1;color:transparent;-webkit-text-stroke:1px #54c8ef;opacity:.8}
.related-showcase__item strong{display:block;max-width:18ch;margin-top:17px;color:#17345e;font-size:15px;line-height:1.25}
.related-showcase__item p{margin:6px 0 0!important;color:#66758a!important;font-size:11px!important;line-height:1.45!important}
.related-showcase__item b{margin-top:6px;color:#1ab7ed}
.related-showcase__item small{color:#77879a}
@media(max-width:900px){
  .related.related-showcase{margin-top:48px}
  .related-showcase__head{padding-top:36px;margin-bottom:20px}
  .related-showcase__grid{grid-template-columns:1fr}
  .related-showcase__featured{min-height:350px}
  .related-showcase__list{grid-template-columns:1fr 1fr;grid-template-rows:auto}
}
@media(max-width:620px){
  .related-showcase__head{align-items:stretch;flex-direction:column;gap:14px;padding-top:32px}
  .related-showcase__all{width:100%;max-width:280px;height:46px}
  .related-showcase__list{grid-template-columns:1fr}
  .related-showcase__item{min-height:165px}
  .related-showcase__featured-copy{padding:22px}
}

/* ===================== CRM (ניהול לידים) ===================== */
.crm .container{max-width:1400px}
.crm-gate{text-align:center;padding:70px 20px}
.crm-gate h1{margin-bottom:10px}
.crm-gate p{margin-bottom:20px;color:var(--text)}
.crm__head{display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between;margin-bottom:18px}
.crm__head h1{font-size:26px;margin:0}
.crm__actions{display:flex;gap:8px;flex-wrap:wrap}
.crm__actions .btn{padding:9px 16px;font-size:14px}
.crm__stats{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.crm__stat{background:var(--lightblue);color:var(--primary);border-radius:99px;padding:6px 16px;font-size:14px;text-decoration:none;cursor:pointer;transition:.15s;border:1.5px solid transparent}
.crm__stat b{font-size:16px}
.crm__stat:hover{filter:brightness(.94);border-color:var(--primary)}
.crm__stat.is-on{background:var(--primary);color:#fff}
.crm__stat.is-on b{color:#fff}
.crm__filters{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:16px}
.crm__filters input,.crm__filters select{padding:9px 12px;border:1px solid var(--line);border-radius:9px;font:inherit;font-size:14px;background:#fff;color:var(--text)}
.crm__filters input[type=search]{min-width:250px}
.crm__filters .btn{padding:9px 18px;font-size:14px}
.crm__reset{font-size:13px;color:var(--text);text-decoration:underline}
.crm__wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:#fff}
.crm__table{width:100%;border-collapse:collapse;font-size:14px;min-width:1120px}
.crm__table th,.crm__table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:start;vertical-align:middle}
.crm__table thead th{background:var(--primary);color:#fff;font-weight:700;white-space:nowrap;position:sticky;top:0;z-index:2}
.crm__table tbody tr:nth-child(even){background:#fafcff}
.crm__table tbody tr:hover{background:var(--lightblue)}
.crm__name{font-weight:700;color:var(--primary);min-width:190px}
.crm__cat{background:var(--gray);border:1px solid var(--line);border-radius:99px;padding:2px 10px;font-size:12.5px;white-space:nowrap}
.crm__phone a{color:var(--primary);text-decoration:none;font-weight:600}
.crm__phone a:hover{text-decoration:underline}
.crm__wa{display:inline-flex;align-items:center;justify-content:center;margin-inline-start:8px;background:var(--primary);color:#fff!important;width:30px;height:30px;padding:0;border-radius:999px;text-decoration:none!important;border:none;vertical-align:middle}
.crm__wa svg{display:block}
.crm__call{display:inline-flex;align-items:center;justify-content:center;margin-inline-start:6px;
  width:30px;height:30px;border-radius:999px;background:rgba(26,58,107,.08);color:var(--primary)!important;
  border:1px solid rgba(26,58,107,.2);text-decoration:none!important;vertical-align:middle;transition:.15s}
.crm__call:hover{background:var(--primary);color:#fff!important;border-color:var(--primary)}
.crm__call svg{display:block}
.crm__wa:hover{background:var(--primary-2)}
.crm__when{white-space:nowrap;font-size:13px;color:#5b6b80}
.crm__num{text-align:center;font-weight:700;color:var(--primary)}
.crm__ops{display:flex;gap:5px;flex-wrap:wrap;min-width:250px}
.crm__b{border:1px solid var(--line);background:#fff;color:var(--primary);font:inherit;font-size:12.5px;padding:5px 10px;border-radius:8px;cursor:pointer;white-space:nowrap}
.crm__b:hover{background:var(--lightblue)}
.crm__b--log{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:700}
.crm__b--log:hover{background:#12294C}
.crm__empty{text-align:center;color:#7a8899;padding:34px}
.crm__st{border-radius:99px;padding:3px 11px;font-size:12.5px;font-weight:700;white-space:nowrap;display:inline-block}
.crm__st--sent{background:#d9f2e3;color:#136c3c}
.crm__st--noanswer{background:#fff4d6;color:#8a6100}
.crm__st--notrel{background:#f0f1f3;color:#6b7280}
/* status cuts row: tint each tab with its status colour so the row reads at a glance */
.crm__tabs--st{margin-top:-2px}
.crm__tab--st-sent.is-on{background:#136c3c;border-color:#136c3c;color:#fff}
.crm__tab--st-noanswer.is-on{background:#8a6100;border-color:#8a6100;color:#fff}
.crm__tab--st-notrel.is-on{background:#6b7280;border-color:#6b7280;color:#fff}
/* modals */
.crm-modal{position:fixed;inset:0;background:rgba(12,26,48,.55);display:flex;align-items:center;justify-content:center;padding:20px;z-index:9999}
.crm-modal[hidden]{display:none}
.crm-modal__box{background:#fff;border-radius:16px;padding:26px;max-width:780px;width:100%;max-height:88vh;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}
.crm-modal__box--sm{max-width:560px;grid-template-columns:1fr}
.crm-modal__box h2{grid-column:1/-1;margin:0 0 4px;font-size:21px;color:var(--primary)}
.crm-modal__box form{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}
.crm-modal__box--sm form{grid-template-columns:1fr}
.crm-modal__box label{display:flex;flex-direction:column;gap:6px;font-size:13.5px;font-weight:700;color:var(--primary)}
.crm-modal__box input,.crm-modal__box select,.crm-modal__box textarea{padding:10px 12px;border:1px solid var(--line);border-radius:9px;font:inherit;font-size:14.5px;font-weight:400;background:#fff;color:var(--text)}
.crm-modal__box textarea{resize:vertical}
.crm-modal__full{grid-column:1/-1}
.crm-modal__ops{grid-column:1/-1;display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:4px}
.crm__del{margin-inline-start:auto;background:none;border:1px solid #e2b4b4;color:#a33;font:inherit;font-size:13px;padding:8px 14px;border-radius:9px;cursor:pointer}
.crm__del:hover{background:#fdf2f2}
.crm-hint{grid-column:1/-1;font-size:13px;color:#5b6b80;line-height:1.7;margin:0}
.crm-hint code{background:var(--gray);padding:2px 7px;border-radius:5px;font-size:12.5px;direction:ltr;display:inline-block}
.crm-hist{grid-column:1/-1;max-height:52vh;overflow:auto}
.crm-hist__i{border-inline-start:3px solid var(--primary);background:var(--gray);border-radius:9px;padding:10px 13px;margin-bottom:9px}
.crm-hist__i b{color:var(--primary)}
.crm-hist__i span{font-size:12.5px;color:#5b6b80;margin-inline-start:8px}
.crm-hist__i em{font-size:12.5px;color:#8a6100;font-style:normal}
.crm-hist__i p{margin:6px 0 0;font-size:14px;line-height:1.6;white-space:pre-wrap}
@media (max-width:820px){
  .crm-modal__box,.crm-modal__box form{grid-template-columns:1fr}
  .crm__head h1{font-size:22px}
}
/* CRM: follow-up + reminders */
.crm__stat--due,.crm__stat--late{text-decoration:none;transition:.15s}
.crm__stat--due.is-on{background:#fff4d6;color:#8a6100}
.crm__stat--late.is-on{background:#fde2e2;color:#a32828}
.crm__stat--due:hover,.crm__stat--late:hover{filter:brightness(.96)}
.crm__fu{white-space:nowrap;font-size:13px;color:#5b6b80}
.crm__fu.is-today{color:#8a6100;font-weight:700}
.crm__fu.is-late{color:#a32828;font-weight:700}
.crm__table tbody tr.row-is-today{background:#fffbf0}
.crm__table tbody tr.row-is-late{background:#fdf3f3}
.crm__table tbody tr.row-is-today:hover,.crm__table tbody tr.row-is-late:hover{background:var(--lightblue)}

/* ============ CRM: compact, no page scroll ============ */
.crm .container{max-width:100%;padding-inline:18px}
.crm__head{margin-bottom:10px;gap:10px}
.crm__head h1{font-size:20px}
.crm__actions .btn{padding:7px 13px;font-size:13px}
/* stats + filters share one row */
.crm__stats{gap:7px;margin-bottom:10px}
.crm__stat{padding:4px 12px;font-size:13px}
.crm__stat b{font-size:14px}
.crm__filters{gap:7px;margin-bottom:10px}
.crm__filters input,.crm__filters select{padding:7px 10px;font-size:13px}
.crm__filters input[type=search]{min-width:210px}
.crm__filters .btn{padding:7px 14px;font-size:13px}
/* table scrolls inside itself, page does not */
.crm__wrap{max-height:calc(100vh - 232px);overflow:auto;border-radius:12px}
.crm__table{min-width:940px;font-size:13.5px}
.crm__table th,.crm__table td{padding:6px 9px}
.crm__table thead th{font-size:12.5px;padding:8px 9px}
.crm__name{min-width:170px;font-size:13.5px;line-height:1.35}
.crm__cat{font-size:11.5px;padding:1px 8px}
.crm__st{font-size:11.5px;padding:2px 9px}
.crm__when{display:flex;flex-direction:column;gap:1px;font-size:11.5px;line-height:1.4;white-space:nowrap}
.crm__fu{font-size:12.5px}
.crm__num{font-size:13px}
.crm__ops{min-width:0;gap:4px;flex-wrap:nowrap}
.crm__b{font-size:11.5px;padding:4px 8px;border-radius:7px}
.crm__b--i{padding:4px 7px;font-size:13px;line-height:1;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}
.crm__b--i svg{display:block}
@media (max-height:760px){ .crm__wrap{max-height:calc(100vh - 208px)} }
@media (max-width:900px){
  .crm__wrap{max-height:none}
}

/* CRM: denser table + tighter dialogs */
.crm__head{margin-bottom:8px}
.crm__head h1{font-size:18px}
.crm__actions .btn{padding:6px 11px;font-size:12.5px}
.crm__stats{gap:6px;margin-bottom:8px}
.crm__stat{padding:3px 10px;font-size:12px}
.crm__stat b{font-size:13px}
.crm__filters{gap:6px;margin-bottom:8px}
.crm__filters input,.crm__filters select{padding:6px 9px;font-size:12.5px}
.crm__filters input[type=search]{min-width:190px}
.crm__filters .btn{padding:6px 12px;font-size:12.5px}
.crm__wrap{max-height:calc(100vh - 200px)}
.crm__table{min-width:880px;font-size:12.5px}
.crm__table th,.crm__table td{padding:4px 8px}
.crm__table thead th{font-size:11.5px;padding:6px 8px}
.crm__name{min-width:150px;font-size:12.5px}
.crm__cat,.crm__st{font-size:11px;padding:1px 7px}
.crm__when{font-size:11px}
.crm__fu{font-size:11.5px}
.crm__b{font-size:11px;padding:3px 7px}
.crm__b--i{padding:3px 6px;font-size:12px}
.crm__phone a{font-size:12.5px}
.crm__wa{font-size:10px;padding:1px 5px}
/* dialogs */
.crm-modal__box{padding:18px;gap:10px 14px;max-width:640px;border-radius:13px}
.crm-modal__box--sm{max-width:470px}
.crm-modal__box h2{font-size:17px;margin-bottom:2px}
.crm-modal__box form{gap:10px 14px}
.crm-modal__box label{font-size:12px;gap:4px}
.crm-modal__box input,.crm-modal__box select,.crm-modal__box textarea{padding:7px 10px;font-size:13px;border-radius:8px}
.crm-modal__box textarea{min-height:60px}
.crm-modal__ops .btn{padding:7px 14px;font-size:13px}
.crm__del{padding:6px 11px;font-size:12px}
.crm-hint{font-size:12px}
.crm-hist{max-height:46vh}
.crm-hist__i{padding:8px 11px;margin-bottom:7px;border-radius:8px}
.crm-hist__i p{font-size:12.5px}
.crm-hist__i span,.crm-hist__i em{font-size:11.5px}

/* CRM: segment tabs + serial / business-id columns */
.crm__tabs{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px;border-bottom:1px solid var(--line);padding-bottom:8px}
.crm__tab{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1px solid var(--line);border-radius:99px;
  background:#fff;color:var(--primary);font-size:12.5px;font-weight:700;text-decoration:none;transition:.15s;white-space:nowrap}
.crm__tab span{background:var(--gray);color:#5b6b80;border-radius:99px;padding:0 7px;font-size:11px;font-weight:700;min-width:20px;text-align:center}
.crm__tab:hover{background:var(--lightblue);border-color:var(--primary)}
.crm__tab.is-on{background:var(--primary);border-color:var(--primary);color:#fff}
.crm__tab.is-on span{background:rgba(255,255,255,.22);color:#fff}
.crm__showing{margin:0 0 7px;font-size:12px;color:#5b6b80}
.crm__showing b{color:var(--primary)}
.crm__thn{width:38px}
.crm__sn{width:38px;color:#94a3b8;font-size:11.5px;text-align:center}
.crm__biz{white-space:nowrap;font-size:12px;color:#5b6b80;min-width:82px}
.crm__dash{color:#cbd5e1}
.crm__wrap{max-height:calc(100vh - 246px)}
@media (max-height:760px){.crm__wrap{max-height:calc(100vh - 224px)}}

/* ── Dark-mode safety net ──────────────────────────────────────────────────
   `color-scheme: light only` above is the real opt-out. This block re-asserts
   the light palette on the surfaces that looked broken on dark phones, for
   engines that force-darken anyway. The logo is an opaque white WebP, so the
   strip behind it must stay white or it reads as a floating box. */
@media (prefers-color-scheme: dark){
  html,body{background-color:#fff;color:var(--text)}
  .brand,.brand--logo,.hdr,.hdr__in,.topbar{background-color:#fff}
  .brandlogo-img{background:#fff;mix-blend-mode:normal}
  .sb,.sb__logo{background-color:var(--primary);color:#fff}
  input,select,textarea,button{color-scheme:light}
  .crm__stat{background:var(--lightblue);color:var(--primary)}
  .crm__stat.is-on{background:var(--primary);color:#fff}
}

/* ── Row focus: lock onto one lead so a call isn't logged against the wrong row ── */
.crm__focusb{font:inherit;font-size:inherit;color:inherit;background:transparent;border:1px solid transparent;
  border-radius:7px;padding:1px 6px;cursor:pointer;transition:.15s;min-width:26px}
.crm__focusb:hover{background:var(--lightblue);border-color:var(--primary);color:var(--primary)}
/* Grey the cells by colour, not opacity: Chromium ignores opacity/filter on
   display:table-cell boxes, so the dimming has to come from real colours. */
.crm__table.is-focusing tbody tr:not(.is-focus)>td{color:#c9d1dc!important;background:#fbfcfd!important;transition:color .18s,background .18s}
.crm__table.is-focusing tbody tr:not(.is-focus)>td *{color:#c9d1dc!important;background-color:#f1f4f8!important;border-color:#e8edf3!important;box-shadow:none!important}
.crm__table.is-focusing tbody tr.is-focus td{background:#fffdf2;border-top:2px solid #f0b429;border-bottom:2px solid #f0b429}
.crm__table.is-focusing tbody tr.is-focus .crm__focusb{background:#f0b429;border-color:#f0b429;color:#fff;font-weight:800}
.crm__wa{font:inherit;cursor:pointer}
/* WhatsApp template picker + manager */
.crm-wa__pick{display:flex;gap:8px;align-items:center}
.crm-wa__pick select{flex:1 1 auto}
.btn--xs{padding:5px 11px!important;font-size:12.5px!important;white-space:nowrap}
.crm-tpl{max-height:52vh;overflow:auto;display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.crm-tpl__i{display:grid;grid-template-columns:1fr 32px;gap:6px;align-items:start;
  border:1px solid var(--line);border-radius:12px;padding:10px;background:#fbfcfd}
.crm-tpl__i .crm-tpl__n{grid-column:1}
.crm-tpl__i .crm-tpl__t{grid-column:1;resize:vertical}
.crm-tpl__x{grid-column:2;grid-row:1/3;align-self:center;width:28px;height:28px;border-radius:8px;
  border:1px solid #fca5a5;background:#fef2f2;color:#dc2626;font-size:17px;line-height:1;cursor:pointer}
.crm-tpl__x:hover{background:#dc2626;color:#fff;border-color:#dc2626}

/* ═══ CRM: softer, translucent control styling (Rubik is loaded page-side) ═══
   Scoped to .crm / .crm-modal so the marketing pages keep their own look. */
.crm .btn,.crm__b,.crm__wa{border-radius:999px;transition:transform .14s cubic-bezier(.2,.8,.2,1),background .18s,box-shadow .18s,border-color .18s}
.crm .btn:active,.crm__b:active,.crm__wa:active{transform:scale(.96)}

.crm .btn--ghost{background:rgba(26,58,107,.06);border:1px solid rgba(26,58,107,.14);color:var(--primary);
  backdrop-filter:saturate(1.6) blur(10px);-webkit-backdrop-filter:saturate(1.6) blur(10px);box-shadow:none}
.crm .btn--ghost:hover{background:rgba(26,58,107,.11);border-color:rgba(26,58,107,.24)}
.crm .btn--primary{border:1px solid rgba(26,58,107,.9);box-shadow:0 4px 14px rgba(26,58,107,.22)}
.crm .btn--primary:hover{box-shadow:0 6px 18px rgba(26,58,107,.3)}

.crm__b{background:rgba(26,58,107,.05);border:1px solid rgba(26,58,107,.13);color:var(--primary);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.crm__b:hover{background:rgba(26,58,107,.12);border-color:rgba(26,58,107,.26)}
.crm__b--log{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 3px 10px rgba(26,58,107,.25)}
.crm__b--log:hover{background:var(--primary-2);box-shadow:0 5px 16px rgba(26,58,107,.34)}
.crm__wa{background:rgba(26,58,107,.9);border:1px solid transparent;box-shadow:0 2px 8px rgba(26,58,107,.22)}
.crm__wa:hover{background:var(--primary-2)}

.crm__stat{border-radius:999px;background:rgba(234,243,255,.72);border:1px solid rgba(26,58,107,.10);
  backdrop-filter:saturate(1.6) blur(12px);-webkit-backdrop-filter:saturate(1.6) blur(12px)}
.crm__stat:hover{background:rgba(234,243,255,.95);border-color:rgba(26,58,107,.26);filter:none}
.crm__stat.is-on{background:var(--primary);border-color:var(--primary);box-shadow:0 4px 14px rgba(26,58,107,.26)}

.crm__tab{border-radius:999px;background:rgba(255,255,255,.6);border:1px solid rgba(26,58,107,.12);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.crm__tab:hover{background:rgba(255,255,255,.95);border-color:rgba(26,58,107,.28)}

.crm__filters input,.crm__filters select,.crm-modal input,.crm-modal select,.crm-modal textarea{
  border-radius:16px;border:1px solid rgba(26,58,107,.14);background:rgba(255,255,255,.72);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:border-color .16s,box-shadow .16s,background .16s}
.crm__filters input:focus,.crm__filters select:focus,.crm-modal input:focus,.crm-modal select:focus,.crm-modal textarea:focus{
  outline:none;background:#fff;border-color:rgba(26,58,107,.5);box-shadow:0 0 0 4px rgba(26,58,107,.10)}
.crm__filters input,.crm__filters select{border-radius:999px}

.crm-modal{background:rgba(15,32,60,.34);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.crm-modal__box{border-radius:26px;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.7);
  backdrop-filter:saturate(1.8) blur(28px);-webkit-backdrop-filter:saturate(1.8) blur(28px);
  box-shadow:0 24px 70px rgba(10,28,60,.28)}
.crm__wrap{border-radius:20px}
.crm__focusb{border-radius:999px}
.crm-tpl__i{border-radius:18px;background:rgba(255,255,255,.66);border-color:rgba(26,58,107,.12)}
.crm-tpl__x{border-radius:999px}
.crm__stat--dupe{background:rgba(254,226,226,.85)!important;color:#a32828!important;border-color:rgba(163,40,40,.25)!important}
.crm__stat--dupe.is-on{background:#a32828!important;color:#fff!important;border-color:#a32828!important}
.crm__dupe{display:inline-block;margin-inline-start:6px;background:#fee2e2;color:#a32828;font-size:10px;font-weight:800;padding:1px 6px;border-radius:999px}

/* ── Reminders ── */
.crm__bell{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;
  border-radius:999px;background:#fff4d6;color:#8a6100;font-size:14px;margin-inline-end:4px}
.crm__bell.is-due{background:#fee2e2;color:#a32828;animation:crmPulse 1.8s ease-in-out infinite}
@keyframes crmPulse{0%,100%{box-shadow:0 0 0 0 rgba(163,40,40,.35)}50%{box-shadow:0 0 0 6px rgba(163,40,40,0)}}
@media (prefers-reduced-motion:reduce){.crm__bell.is-due{animation:none}}
/* live side panel - informs without blocking the screen */
.crm-toasts{position:fixed;top:84px;inset-inline-start:18px;z-index:9998;width:320px;max-width:calc(100vw - 24px);
  background:#fff;border:1px solid #f0d9a8;border-radius:16px;box-shadow:0 18px 46px rgba(16,32,64,.22);
  overflow:hidden;animation:crmSlide .22s cubic-bezier(.2,.8,.2,1)}
.crm-toasts[hidden]{display:none}
@keyframes crmSlide{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.crm-toasts{animation:none}}
.crm-toasts__hd{display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding:9px 13px;background:#8a6100;color:#fff;font-weight:700;font-size:14px}
.crm-toasts__hd button{background:transparent;border:0;color:#fff;font-size:20px;line-height:1;cursor:pointer;padding:0 4px}
.crm-rem{display:flex;flex-direction:column;gap:8px;max-height:52vh;overflow:auto;padding:10px}
@media (max-width:820px){.crm-toasts{top:auto;bottom:10px;inset-inline:10px;width:auto}}
.crm-rem__i{border:1px solid #f0d9a8;background:#fffdf5;border-radius:14px;padding:12px 14px}
.crm-rem__t{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:5px}
.crm-rem__t b{color:var(--primary);font-size:15px}
.crm-rem__t span{color:#8a6100;font-size:12.5px;white-space:nowrap}
.crm-rem__i p{color:#374151;font-size:14px;margin-bottom:10px}
.crm-rem__ops{display:flex;gap:6px;flex-wrap:wrap}
.crm-rem__ops .btn{flex:1 1 auto;text-align:center}
.crm-rem__fields{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.crm-rem__fields input[type=datetime-local]{flex:0 0 auto}
.crm-rem__fields input[type=text]{flex:1 1 200px}
.crm-rem__meta{color:#8a6100;font-size:12.5px;margin-bottom:3px}
.crm-rem__tel{display:inline-block;color:var(--primary);font-weight:800;font-size:16px;letter-spacing:.4px;
  text-decoration:none;margin-bottom:6px}
.crm-rem__tel:hover{text-decoration:underline}
.crm-toasts__hd{cursor:grab;user-select:none;touch-action:none}
.crm-toasts.is-dragging{animation:none;box-shadow:0 26px 60px rgba(16,32,64,.34)}
.crm-toasts.is-dragging .crm-toasts__hd{cursor:grabbing}
/* two-number field: the radio marks which one the table shows */
.crm-ph{display:flex;gap:8px;align-items:center}
.crm-ph input[type=tel]{flex:1 1 auto;min-width:0}
.crm-ph__pick{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;color:#64748b;
  white-space:nowrap;cursor:pointer;padding:0;margin:0}
.crm-ph__pick input{width:auto;margin:0;accent-color:var(--primary)}
.crm__alt{display:inline-block;margin-inline-start:8px;color:#94a3b8!important;font-size:13px;text-decoration:none!important}
.crm__alt:hover{color:var(--primary)!important;text-decoration:underline!important}

/* single-window guard */
.crm-lock{position:fixed;inset:0;z-index:10050;background:rgba(12,26,48,.72);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px}
.crm-lock[hidden]{display:none}
.crm-lock__box{background:#fff;border-radius:24px;padding:32px 28px;max-width:440px;text-align:center;
  box-shadow:0 26px 70px rgba(10,28,60,.34)}
.crm-lock__ic{font-size:38px;line-height:1;margin-bottom:10px}
.crm-lock__box h2{font-size:21px;font-weight:800;color:var(--primary);margin-bottom:10px}
.crm-lock__box p{color:#64748b;font-size:14.5px;line-height:1.75;margin-bottom:22px}
.crm-lock__ops{display:flex;gap:9px;justify-content:center;flex-wrap:wrap}

/* quick call-summary chips */
.crm-quick{display:flex;flex-wrap:wrap;gap:5px;margin:6px 0 8px}
.crm-quick__b{font:inherit;font-size:12.5px;font-weight:500;line-height:1.35;cursor:pointer;
  padding:5px 11px;border-radius:999px;border:1px solid rgba(26,58,107,.16);
  background:rgba(26,58,107,.05);color:#46536b;transition:.15s;text-align:start}
.crm-quick__b:hover{background:rgba(26,58,107,.12);border-color:rgba(26,58,107,.3);color:var(--primary-2)}
.crm-quick__b.is-on{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}

/* archived leads: present but visibly out of play */
.crm__table tbody tr.row-arch>td{background:#f6f7f9;color:#a5adbb}
.crm__table tbody tr.row-arch .crm__name{text-decoration:line-through;text-decoration-color:#c3cbd8;color:#9aa3b2}
.crm__table tbody tr.row-arch .crm__cat,.crm__table tbody tr.row-arch .crm__st{opacity:.5}
.crm__table tbody tr.row-arch .crm__phone a{color:#a5adbb!important;text-decoration:line-through}
.crm__table tbody tr.row-arch .crm__wa,.crm__table tbody tr.row-arch .crm__call{opacity:.35}
.crm__arcbar{padding:8px 20px;background:#f1f3f7;border-bottom:1px solid #e3e9f2;text-align:center}
.crm__arcbar a{color:#5b6478;font-weight:600;font-size:13.5px;text-decoration:underline}
.crm__arcbar a:hover{color:var(--primary)}
.crm__undel{font:inherit;font-size:13px;font-weight:600;cursor:pointer;padding:8px 16px;border-radius:999px;
  border:1px solid rgba(22,163,74,.35);background:rgba(22,163,74,.08);color:#15803d}
.crm__undel:hover{background:#16a34a;color:#fff;border-color:#16a34a}

/* ── Partners / trust marquee ("מאמינים בנו") ─────────────────────────── */
.trust{padding:54px 0 58px;background:transparent}
.trust__marquee{position:relative;overflow:hidden;direction:ltr;margin:26px auto 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.trust__track{display:flex;direction:ltr;width:max-content;animation:trustmarq 34s linear infinite;will-change:transform}
.trust__marquee:hover .trust__track{animation-play-state:paused}
@keyframes trustmarq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.trust__tile{display:inline-flex;align-items:center;justify-content:center;flex:none;
  width:210px;height:96px;margin-left:16px;
  background:rgba(255,255,255,.55);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  border:1px solid rgba(0,59,122,.14);border-radius:14px;
  box-shadow:0 2px 10px rgba(0,59,122,.05);transition:.2s;direction:rtl;padding:12px 16px}
.trust__tile:hover{background:rgba(255,255,255,.85);border-color:var(--primary-2);
  box-shadow:0 10px 24px rgba(0,59,122,.12);transform:translateY(-2px)}
.trust__logo{max-width:100%;max-height:56px;width:auto;height:auto;object-fit:contain;
  filter:grayscale(1);opacity:.72;transition:.2s}
.trust__tile:hover .trust__logo{filter:none;opacity:1}
.trust__mark{font-size:15.5px;font-weight:700;color:var(--ink);text-align:center;line-height:1.35;opacity:.8;transition:.2s}
.trust__tile:hover .trust__mark{opacity:1;color:var(--primary-2)}
.trust__tile+.trust__tile .trust__mark{}
@media (max-width:640px){
  .trust{padding:44px 0 48px}
  .trust__tile{width:158px;height:74px;margin-left:8px;padding:9px 11px}
  .trust__mark{font-size:14px}
}
@media (prefers-reduced-motion:reduce){.trust__track{animation:none}}

.trust__note{margin:20px auto 0;max-width:820px;font-size:11px;line-height:1.65;
  color:var(--muted,#6b7a90);text-align:center;opacity:.7}
@media (max-width:640px){.trust__note{font-size:10px;line-height:1.6;text-align:right}}

/* ── Press / media ────────────────────────────────────────────────────── */
.press{padding:56px 0 60px}
.press__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}
.press__card{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;
  min-height:190px;overflow:hidden;transition:.2s}
.press__card:hover{border-color:var(--primary-2);box-shadow:0 12px 28px rgba(0,59,122,.1);transform:translateY(-2px)}
.press__link{display:flex;flex-direction:column;gap:8px;padding:22px;height:100%;text-decoration:none}
.press__outlet{font-size:12.5px;font-weight:800;color:var(--primary-2);letter-spacing:.3px}
.press__logo{max-height:34px;width:auto;object-fit:contain}
.press__title{margin:0;font-size:17px;font-weight:800;color:var(--ink);line-height:1.45}
.press__date{font-size:12px;color:var(--muted,#6b7a90)}
.press__cta{margin-top:auto;font-size:13.5px;font-weight:800;color:var(--primary-2)}
/* "coming soon" placeholder */
.press__card--soon{background:linear-gradient(180deg,#fbfcfe 0%,#f4f7fb 100%);
  border-style:dashed;border-color:rgba(0,59,122,.2)}
.press__card--soon:hover{transform:none;box-shadow:none;border-color:rgba(0,59,122,.32)}
.press__badge{position:absolute;top:14px;inset-inline-end:14px;background:rgba(0,59,122,.08);
  color:var(--primary-2);font-size:11.5px;font-weight:800;padding:4px 12px;border-radius:999px}
.press__soonbody{display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:10px;height:100%;min-height:190px;color:rgba(0,59,122,.45)}
.press__ico{opacity:.7}
.press__soontext{margin:0;font-size:18px;font-weight:800;letter-spacing:.5px}
@media (max-width:900px){.press__grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){
  .press{padding:44px 0 48px}
  .press__grid{grid-template-columns:1fr;gap:14px}
  .press__card,.press__soonbody{min-height:150px}
}


/* ── intro ────────────────────────────────────────────────────────────────
   Sits directly under the hero. The hero says what the company is; this says
   what it actually does, in the words people search for. Kept quiet on
   purpose - it is a reading block, not a second headline competing with the
   one above it. */
.intro{padding:clamp(38px,5vw,64px) 0 clamp(20px,3vw,34px);background:transparent}
.intro__h{font-size:clamp(20px,2.2vw,29px);font-weight:800;color:var(--primary);
  text-align:center;letter-spacing:-.3px;margin:0 0 16px}
/* Sized to sit with the hero paragraph above it rather than a step below it,
   and no emphasis: bolding every service term made the sentence read as a
   keyword list wearing a sentence's clothes. */
.intro__p{max-width:1240px;margin:0 auto;text-align:center;
  font-size:clamp(16px,1.35vw,21px);line-height:1.9;color:var(--text);text-wrap:pretty}
@media (max-width:640px){
  .intro__p{text-align:start;line-height:1.95}
}


/* ── hero on a phone ──────────────────────────────────────────────────────
   The quick-lead bar eats a bigger share of a short screen, so the section is
   tightened rather than merely scaled down. The eyebrow keeps both halves but
   loses the wide gap; the marks stack into three readable rows instead of one
   cramped line; the paragraph aligns to the start, because a long centred
   block is hard to track back to on a narrow column. */
@media (max-width:640px){
  .hero__grid{padding:clamp(26px,4.5vh,44px) 18px clamp(26px,4vh,40px);
    gap:16px;max-width:none}
  .hero__eyebrow{gap:9px;margin:0 0 14px;font-size:11.5px;flex-wrap:wrap}
  .hero__eyebrow b{letter-spacing:.1em}
  .hero__eyebrow::after{margin-top:32px;width:48px}
  .hero__title{font-size:clamp(28px,8.4vw,40px);line-height:1.15}
  .hero__sub{font-size:16px;line-height:1.75;text-align:start;margin-top:16px}
  .hero__sub br{display:none}
  .hero__marks{margin-top:18px;gap:11px}
  .hero__marks li{font-size:14px}
  .hero__btns{margin-top:22px;width:100%}
  .hero__btns .btn{flex:1 1 auto;justify-content:center;text-align:center}
}
@media (max-width:400px){
  .hero__title{font-size:26px}
  .hero__btns{flex-direction:column}
  .hero__btns .btn{width:100%}
}

.hero__sub b{font-weight:800;color:var(--primary);display:block;
  font-size:1.18em;line-height:1.35;margin-bottom:10px;letter-spacing:-.3px}
@media (max-width:640px){
  .hero__sub b{font-size:1.1em;margin-bottom:8px}
}


/* One deep navy for every solid surface on the site. The sidebar was moved to
   --primary-2 and the footer and quick-lead band were left a shade lighter -
   a difference you cannot see on its own, and cannot miss where two of them
   meet. Kept as the variable, not the hex, so the next change moves all of
   them together. */

/* Footer column headings inherited the global h1–h4 colour, which is the same
   navy the footer is now painted with - dark type on a dark ground, effectively
   invisible. They are headings on a dark surface and need to be stated as such. */
.ftr h3,.ftr h4{color:#fff}
.ftr.ftr--pro h3,.ftr.ftr--pro h4{color:#102d58!important}
.ftr__desc{color:#c9dcf2}
.ftr__grid a{color:#dbe8f8}
.ftr__grid a:hover{color:#fff}
.ftr__cities a{color:#cfe0f5}
.ftr__cities a:hover{color:#fff}

/* The business-model statement sits above the legal note, a step brighter than
   it: it is a positive statement about how the company works, not fine print. */
.ftr__model{max-width:var(--maxw);margin:0 auto;padding:16px 28px 0;
  font-size:12.5px;line-height:1.75;color:#d5e4f6;text-align:center;font-weight:600}
@media(max-width:760px){.ftr__model{padding:14px 18px 0;font-size:12px}}

/* ═══════════════════════════════════════════════════════════════════════════
   DESKTOP: TOP BAR, WORDMARK ON THE LEFT
   The same <aside class="sidebar"> that is the drawer on a phone, laid out as
   a horizontal bar from 769px up. No PHP is involved, so removing this block
   restores the side rail.

   The wordmark is simply moved to the END of the row (order + one auto margin)
   instead of being spliced between the links. The earlier attempt dissolved
   the <nav> with display:contents to get links on BOTH sides of the mark; that
   is what broke the layout, and it is not needed for this.
   ═══════════════════════════════════════════════════════════════════════════ */
@media (min-width:769px){
  body{ width:100% !important; margin-inline-start:0 !important; }

  .sidebar{
    position:sticky; top:0; inset-inline-start:auto; bottom:auto;
    width:100%; height:auto;
    flex-direction:row; align-items:center; gap:10px;
    padding:10px 22px; overflow:visible;
    /* Glass rather than a solid navy slab. The tint stays DARK because every
       label, pill and active state in this bar is white. */
    /* The supplied navy artwork, over the brand navy.
       The image is a 1920x240 STRIP cut from the middle of the original, so it
       stretches along the bar instead of being squashed from a square - and it
       sits on top of --primary-2, which is what shows if it ever fails to
       load. No transparency now: the bar had been picking up whatever page was
       behind it, which is why it read grey. */
    /* LIGHT artwork now, so every foreground colour in the bar flips with it:
       navy type on a pale strip, and the marker underline in brand navy rather
       than white. The fallback colour under the image is the pale page tint,
       not navy - if the image ever fails to load the type must still be
       readable on whatever shows through. */
    /* Plain white, as in the reference. The pale artwork that was here still
       carried a blue-grey cast, which is what kept the bar from reading as
       white next to the page under it. */
    background:#fff;
    border-bottom:1px solid rgba(18,41,76,.09);
    box-shadow:0 2px 14px rgba(8,16,32,.07); }
  /* ── foreground, inverted for the light bar ── */
  .sb__logo-name,.sb__logo-sub{ color:var(--primary-2,#12294C); }
  .sb__logo-sub{ color:rgba(18,41,76,.55); }
  .sbnav a{ color:rgba(18,41,76,.72); }
  .sbnav a::after{ background:var(--primary-2,#12294C); }
  .sbnav a.active,
  .sbnav a:hover,
  .sbnav a:focus-visible{ color:var(--primary-2,#12294C); }
  /* The action is the one filled thing on a pale bar. */
  .sb__cta{ background:var(--primary-2,#12294C); color:#fff;
    box-shadow:0 6px 18px rgba(18,41,76,.28); }
  .sb__cta:hover{ background:var(--primary,#1A3A6B); }
  /* Square-shouldered action, like the reference: a pill reads as a chip, a
     rectangle reads as the button of a business site. */
  .sb__cta{ border-radius:10px; padding:11px 22px; font-weight:800; }


  /* Mark at the right end, links CENTRED in what is left, then the action and
     the flags at the far left. The nav takes the leftover width and centres
     inside it - no auto margins needed, and the row stays balanced whatever
     the mark and the button happen to measure. */
  .sb__logo{ order:0; }
  .sbnav{ order:1; }
  .sb__cta{ order:2; }
  /* The language control is the LAST thing in the row - past the action, at
     the far end. Both classes are named: .sb__langs is the old flag row that
     the mobile drawer still uses, .sb__lang is the disclosure in the bar. */
  .sb__langs,.sb__lang{ order:3; }

  /* The links use the whole width between the mark and the action, spread
     evenly, instead of huddling in the middle of it. */
  .sbnav{ flex-direction:row; align-items:center; margin-top:0; gap:2px;
    flex:1 1 auto; min-width:0; overflow:visible;
    justify-content:space-evenly; margin-inline:8px; }
  /* Eight icon tiles in a row read as eight boxes competing with eight words;
     the active pill carries position on its own here. The drawer keeps them. */
  .sbnav a .sbnav__ic{ display:none; }
  /* An underline, not a filled block. The white rectangle was heavier than the
     bar it sat in; a rule under the word marks position with the type itself. */
  .sbnav a{ position:relative; padding:10px 14px 12px; border-radius:0;
    font-size:14px; white-space:nowrap; justify-content:center; background:none; }
  .sbnav a::after{ content:""; position:absolute; inset-inline:14px; bottom:4px;
    height:1px; border-radius:0; background:#12294C;
    transform:scaleX(0); transform-origin:center;
    transition:transform .2s cubic-bezier(.2,.7,.2,1); }
  /* The current page keeps the rule permanently; hover and keyboard focus draw
     the same one, so hover previews where the click goes. */
  .sbnav a.active{ color:var(--primary-2,#12294C); font-weight:800; background:none; box-shadow:none; }
  .sbnav a.active::after,
  .sbnav a:hover::after,
  .sbnav a:focus-visible::after{ transform:scaleX(1) !important; display:block !important;
    background:#12294C; height:1px; }
  .sbnav a:hover,
  .sbnav a:focus-visible{ background:none; color:var(--primary-2,#12294C); box-shadow:none; }
  .sbnav a .sbnav__t{ transition:color .16s; }

  /* Services mega menu — 2×2 icon cards under the top bar */
  .sbnav__dd{ flex:0 0 auto; }
  .sbnav__dd-trigger{ position:relative; width:auto; padding:10px 14px 12px;
    border-radius:0; font-size:14px; white-space:nowrap; justify-content:center;
    background:none; color:rgba(18,41,76,.72); gap:6px; }
  .sbnav__dd-trigger .sbnav__t{ flex:0 1 auto; }
  .sbnav__dd-trigger .sbnav__caret{ color:inherit; opacity:.85; }
  .sbnav__dd-trigger::after{ content:""; position:absolute; inset-inline:14px; bottom:4px;
    height:1px; border-radius:0; background:#12294C;
    transform:scaleX(0); transform-origin:center;
    transition:transform .2s cubic-bezier(.2,.7,.2,1); }
  .sbnav__dd-trigger.active::after,
  .sbnav__dd-trigger:hover::after,
  .sbnav__dd-trigger:focus-visible::after,
  .sbnav__dd:hover .sbnav__dd-trigger::after,
  .sbnav__dd:focus-within .sbnav__dd-trigger::after{ transform:scaleX(1); display:block;
    background:#12294C; height:1px; }
  .sbnav__dd-trigger.active,
  .sbnav__dd-trigger:hover,
  .sbnav__dd-trigger:focus-visible,
  .sbnav__dd:hover .sbnav__dd-trigger{ background:none; color:var(--primary-2,#12294C);
    box-shadow:none; font-weight:800; }
  .sbnav__dd.is-open .sbnav__dd-trigger .sbnav__caret,
  .sbnav__dd:hover .sbnav__dd-trigger .sbnav__caret,
  .sbnav__dd:focus-within .sbnav__dd-trigger .sbnav__caret{ transform:rotate(180deg); }

  .sbnav__dd-menu{
    position:absolute; top:calc(100% + 10px); inset-inline-start:50%;
    transform:translateX(-50%);
    display:none; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px;
    width:min(780px,94vw); padding:14px;
    margin:0; flex-direction:unset;
    background:#fff; border:1px solid rgba(18,41,76,.08);
    border-radius:22px; box-shadow:0 18px 48px rgba(8,24,56,.16);
    z-index:90; direction:ltr;
  }
  .sbnav__dd-menu::before{
    content:""; position:absolute; top:-7px; left:50%; transform:translateX(-50%);
    width:14px; height:14px; background:#fff;
    border-left:1px solid rgba(18,41,76,.08);
    border-top:1px solid rgba(18,41,76,.08);
    rotate:45deg; border-radius:2px;
  }
  /* Bridge hover gap between trigger and panel so the menu doesn't flicker */
  .sbnav__dd-menu::after{
    content:""; position:absolute; left:0; right:0; top:-14px; height:14px;
  }
  .sbnav__dd:hover .sbnav__dd-menu,
  .sbnav__dd:focus-within .sbnav__dd-menu,
  .sbnav__dd.is-open .sbnav__dd-menu{ display:grid; }

  .sbnav__dd-card{
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:10px; min-height:118px; padding:16px 10px;
    border-radius:16px; background:#f4f7fb;
    border:1px solid transparent; box-shadow:none;
    color:#123764; text-align:center; direction:rtl;
    transition:background .16s,border-color .16s,transform .16s,box-shadow .16s;
  }
  .sbnav__dd-card::after{ display:none !important; }
  .sbnav__dd-icon{
    width:52px; height:52px; border-radius:50%;
    background:#e8f1fa; color:#123764;
    box-shadow:inset 0 0 0 1px rgba(18,55,100,.04);
  }
  .sbnav__dd-icon svg{ width:30px; height:30px; }
  .sbnav__dd-label{
    font-size:13.5px; font-weight:800; line-height:1.3;
    color:#123764; max-width:9.5em;
  }
  .sbnav__dd-card:hover,
  .sbnav__dd-card:focus-visible{
    background:#eef4fb; border-color:rgba(18,55,100,.12);
    color:#0d2a52; transform:translateY(-1px);
    box-shadow:0 8px 18px rgba(18,41,76,.08);
  }

  .sb__cta{ flex:0 0 auto; margin-top:0; margin-inline-end:0;
    padding:11px 22px; border-radius:10px;
    font-size:14px; box-shadow:0 6px 18px rgba(18,41,76,.26); }

  .sb__langs{ flex:0 0 auto; border-top:0; margin-top:0; padding:0; gap:7px; }
  /* Flag tiles: the artwork carries the meaning, so the pill background goes.
     The current language is marked with a ring and full opacity - a flag has
     no "filled" state to borrow. */
  .sb__langs a{ padding:0; background:none; border-radius:4px; line-height:0;
    opacity:.68; box-shadow:0 1px 3px rgba(3,10,26,.35);
    transition:opacity .16s,transform .16s,box-shadow .16s; }
  .sb__langs a:hover{ opacity:1; transform:translateY(-1px); background:none; }
  .sb__langs a.on{ opacity:1; background:none; color:inherit;
    box-shadow:0 0 0 2px #fff, 0 2px 6px rgba(3,10,26,.4); }
  .sb__langs svg{ display:block; border-radius:3px; }

  .sb__logo{ flex:0 0 auto; padding:0; align-items:flex-start; gap:1px; margin-inline-end:8px; }
  .sb__logo-name{ font-size:23px; }
  .sb__logo-sub{ font-size:8.5px; letter-spacing:.2em; }

  /* The same five icons sit in the footer of every page. */
  .sb__social{ display:none; }

  /* Nothing needs to dodge a rail any more. */
  .ckbar{ inset-inline-start:0 !important; }
  .qlead{ inset-inline-start:16px !important; }
}

/* The hero carries the whole message now that the two buttons are gone: the
   lead form sits directly underneath, so a button here only pointed at what is
   already on screen. The follow-on paragraphs are set slightly smaller and
   lighter than the opening one, so four paragraphs read as one block rather
   than four equal claims. */
.hero__sub--more{ margin-top:14px; }
@media(max-width:760px){ .hero__sub--more{ margin-top:11px; } }
/* ═══════════════════════════════════════════════════════════════════════════
   HOME: ONE STILL SCREEN
   One block of copy, centred, filling the screen above the locked lead band.
   The four-panel scroll deck that briefly lived here was rejected: nothing on
   this page moves with the wheel, so there is no snap, no reveal and nothing
   below the fold to reach.
   ═══════════════════════════════════════════════════════════════════════════ */
.hero.hero--showcase.hero--still{
  background-image:none!important;
  background-color:#08274b!important;
}
.hero--showcase{position:relative;overflow:hidden;min-height:clamp(520px,38vw,690px)!important;background-color:#08274b!important}
.hero--showcase .hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0;pointer-events:none}
.hero--showcase .hpanel{position:relative;z-index:2;min-height:inherit!important;align-items:center!important;padding:clamp(34px,4vw,74px) clamp(34px,5vw,96px)!important;text-align:right!important}
.hero--showcase .hpanel__in{width:min(48%,720px)!important;max-width:none!important;margin:0 0 0 auto!important;color:#fff!important}
.hero--showcase .hero__eyebrow{justify-content:flex-start!important;margin:0 0 24px!important;color:#d9e8f8!important;font-size:clamp(14px,1.25vw,20px)!important;font-weight:500!important;letter-spacing:.08em!important}
.hero--showcase .hero__eyebrow span{order:2;width:50px!important;height:3px!important;background:#7ec3ff!important}
.hero--showcase .hero__eyebrow:after{display:none!important}
.hero--showcase .hero__title{margin:0!important;color:#fff!important;font-size:clamp(32px,3.1vw,54px)!important;line-height:1.16!important;text-align:right!important;white-space:normal!important;text-wrap:balance!important;letter-spacing:-.02em!important;max-width:100%!important;overflow-wrap:anywhere!important}
.hero--showcase .hero__title-line{display:block;color:#fff!important}
.hero--showcase .hpanel__lead{margin:24px 0 0!important;color:#fff!important;font-size:clamp(18px,1.55vw,26px)!important;line-height:1.45!important;font-weight:500!important;text-align:right!important}
.hero--showcase .hpanel__lead-line,
.hero--showcase .hpanel__p-line{display:block;white-space:nowrap}
.hero--showcase .hpanel__p{
  display:block!important;margin:8px 0 0!important;color:rgba(255,255,255,.92)!important;
  font-size:clamp(16px,1.35vw,22px)!important;line-height:1.55!important;font-weight:500!important;
  text-align:right!important;max-width:none!important;
}
.hero-showcase__actions{
  display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;
  gap:14px;margin-top:34px;width:auto;max-width:100%;
}
.hero-showcase__primary{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:160px;padding:17px 30px;border-radius:5px;background:#86c8ff;color:#0b315b;font-weight:800;font-size:18px;box-shadow:0 12px 28px rgba(0,0,0,.16);transition:.2s}
.hero-showcase__primary:hover{background:#a7d8ff;transform:translateY(-2px)}
.hero-showcase__secondary{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:160px;padding:15px 30px;border-radius:5px;border:2px solid #86c8ff;background:transparent;color:#fff;font-weight:800;font-size:18px;transition:.2s}
.hero-showcase__secondary:hover{background:rgba(134,200,255,.14);transform:translateY(-2px)}
.hero-showcase__meeting{color:#fff;font-size:17px;border-bottom:2px solid #86c8ff;padding:0 4px 7px}
.hero-showcase__tags{margin-top:26px;color:#d9e8f8;font-size:14px;letter-spacing:.32em;word-spacing:.45em}
.hero-showcase__br{display:none}
@media(max-width:900px){
  .hero--showcase{
    /* Content-sized block — not a full empty phone frame. */
    min-height:0!important;
    height:auto!important;
    background-position:37% center!important;position:relative;
    display:flex;flex-direction:column;justify-content:flex-start;
  }
  .hero--showcase:before{
    content:"";position:absolute;inset:0;z-index:1;
    /* Same readable blue wash as .single-address on mobile. */
    background:rgba(4,37,76,.76);
  }
  .hero--showcase .hero__bg{object-position:37% center}
  .hero--showcase .hpanel{
    position:relative;z-index:2;flex:0 0 auto;display:flex!important;
    align-items:stretch!important;justify-content:flex-start!important;
    padding:max(22px,env(safe-area-inset-top,0px)) 18px calc(28px + env(safe-area-inset-bottom,0px))!important;
    min-height:0!important;width:100%!important;box-sizing:border-box!important;
  }
  .hero--showcase .hpanel__in{
    width:100%!important;max-width:none!important;margin:0!important;
    text-align:center!important;display:flex!important;flex-direction:column!important;
    align-items:stretch!important;gap:0!important;padding-inline:0!important;
  }
  .hero--showcase .hero__eyebrow,.hero--showcase .hero__title,.hero--showcase .hpanel__lead,.hero--showcase .hpanel__p{
    text-align:center!important;justify-content:center!important;
  }
  .hero--showcase .hero__eyebrow{font-size:clamp(15px,4.2vw,18px)!important;margin:0 0 14px!important;letter-spacing:.06em!important}
  .hero--showcase .hero__title{
    font-size:clamp(28px,7.6vw,38px)!important;line-height:1.18!important;
    font-weight:900!important;max-width:100%!important;
    padding-inline:2px!important;
  }
  .hero--showcase .hero__title-line{white-space:normal!important;display:block;color:#fff!important}
  .hero--showcase .hpanel__lead{
    font-size:clamp(17px,4.6vw,21px)!important;line-height:1.4!important;
    margin:18px 0 0!important;max-width:none!important;font-weight:600!important;
  }
  .hero--showcase .hpanel__lead-line,
  .hero--showcase .hpanel__p-line{white-space:nowrap}
  .hero--showcase .hpanel__p{
    font-size:clamp(15px,4.1vw,18px)!important;line-height:1.45!important;
    margin:10px 0 0!important;max-width:none!important;font-weight:500!important;
    color:rgba(255,255,255,.92)!important;
  }
  @media(max-width:380px){
    .hero--showcase .hpanel__lead-line,
    .hero--showcase .hpanel__p-line{white-space:normal}
  }
  .hero-showcase__br{display:inline}
  .hero-showcase__actions{
    flex-direction:column;justify-content:center;align-items:stretch;
    gap:12px;margin-top:28px!important;width:100%;
  }
  .hero-showcase__primary,.hero-showcase__secondary{
    width:100%!important;min-width:0!important;max-width:none!important;
    min-height:58px!important;font-size:18px!important;
    padding:16px 20px!important;border-radius:8px!important;
  }
  .hero-showcase__tags{
    text-align:center;letter-spacing:.1em;font-size:15px!important;
    margin-top:20px!important;color:rgba(255,255,255,.9)!important;
    word-spacing:.2em;
  }
}
.hero--still:not(.hero--showcase){ display:flex; align-items:flex-start; justify-content:center;
  min-height:0; padding:0;
  background:
    linear-gradient(rgba(255,255,255,.30), rgba(255,255,255,.55)),
    url('assets/hero-bg-2.webp') center/cover no-repeat; }
.hpanel{ position:relative; width:100%; min-height:0;
  display:flex; align-items:flex-start; justify-content:center;
  /* The hero is now only as tall as its own copy; the floating band is
     reserved for at the END of the page (see .hsec--c), not here. */
  padding:56px 34px 44px;
  text-align:center; }
/* The copy uses the width of the site, not a reading column: this is one
   screen of text with nothing beside it, so a 1180px column left two empty
   shoulders. The padding on .hpanel is what keeps it off the edges. */
.hpanel__in{ width:100%; max-width:min(1720px, 94vw); margin:0 auto; }
.hpanel__lead{ font-size:clamp(19px, min(2.1vw, 3.8vh), 31px); font-weight:800;
  color:var(--primary,#1A3A6B); margin:18px auto 0; }
.hpanel__p{ font-size:clamp(18px, min(1.95vw, 3.4vh), 31px); line-height:1.62;
  text-wrap:balance;
  font-weight:600; color:var(--ink,#0F172A); margin:14px auto 0; max-width:none; }
/* On this one screen the headline uses the site's width too: the 1100px cap
   and the forced line break belong to the old two-column hero. The second half
   stays a separate line only where the row genuinely runs out of room. */
.hero--still .hero__title{ margin:0 auto; max-width:none;
  font-size:clamp(32px, min(5.4vw, 10vh), 82px); line-height:1.1; }
.hero--still .hero__title{ text-wrap:balance; }
@media (min-width:901px){ .hero--still .hero__title{ white-space:nowrap; } }
@media (max-width:768px){
  .hpanel{ padding:34px 18px 34px; }
  /* Small screens keep the same lock, so the page never scrolls anywhere; the
     type already scales with viewport height, so the copy shrinks to fit
     instead of running under the band. */
}

/* ── HOME: one screen, no scrolling ────────────────────────────────────────
   The home page holds a single block of copy and the lead band; there is
   nothing below to reach, and a scrollbar on a page with nowhere to go reads
   as content that failed to load. The class is printed by index.php, since
   this theme emits a bare <body> with no body_class().
   Only the DOCUMENT is frozen - the lead band and its form scroll internally
   if a small screen needs them to. */
/* The home freeze is retired: the page has three sections under the hero
   now, and locking the document would have hidden them. */
/* The collapse chevron points UP while the band is open, and flips when it is
   collapsed - the icon shows what the click will do. */
.qlead-toggle svg{ transform:rotate(180deg); }
.qlead-toggle.collapsed svg{ transform:rotate(0deg); }

/* ── Footer alignment ──────────────────────────────────────────────────────
   The columns were start-aligned while their headings sat over an indent that
   the bullets created, so nothing lined up with anything. One centred axis per
   column, and the bullets go: a marker that only exists to push the text off
   its own heading is not carrying meaning. */
.ftr__grid > div{ text-align:center; }
.ftr:not(.ftr--pro),
.ftr:not(.ftr--pro) h3,
.ftr:not(.ftr--pro) h4,
.ftr:not(.ftr--pro) p,
.ftr:not(.ftr--pro) li,
.ftr:not(.ftr--pro) span,
.ftr:not(.ftr--pro) a,
.ftr:not(.ftr--pro) button{color:#fff!important}
.brandlogo--ftr{font-size:27px!important;letter-spacing:2px!important;white-space:nowrap}.brandlogo--ftr small{font-size:8.5px!important;letter-spacing:3px!important;white-space:nowrap}
.ftr__grid h4{ text-align:center; }
.ftr__grid ul{ list-style:none; margin:0; padding:0; }
.ftr__grid li{ padding:0; }
.ftr__grid li::marker{ content:none; }
.ftr__soc{ justify-content:center; }
.ftr__brand{ text-align:center; }
.ftr__contact li,.ftr__contact p{ text-align:center; }

/* The bottom row's brand is centred on the ROW, not on whatever space the two
   side blocks leave over. 1fr auto 1fr does not do that once one side is wider
   than the other - it centres the middle TRACK, and the track is not the row. */
@media (min-width:761px){
  /* Taking the brand OUT of the flow centred it and then let the links run
     underneath it. Back in the flow, as a three-item row whose two side blocks
     grow equally: equal sides put the middle item on the centre line whatever
     each side happens to contain, and nothing can overlap. */
  .ftr__bottom{ display:flex; align-items:center; gap:18px; }
  /* Links to the RIGHT (the leading edge in Hebrew), the disclaimer opposite:
     the three legal links are the part people actually click, so they get the
     side the eye starts from. */
  .ftr__bottom .ftr__disclaimer{ order:3; flex:1 1 0; min-width:0; text-align:end; }
  .ftr__bottom .ftr__copy{ flex:0 0 auto; position:static; transform:none;
    text-align:center; }
  .ftr__bottom .ftr__copy{ order:2; }
  .ftr__bottom .ftr__legal{ order:1; flex:1 1 0; min-width:0; display:flex; gap:14px;
    justify-content:flex-start; flex-wrap:wrap; }
}

/* ── Mobile drawer: the two icon rows stay on ONE line each ────────────────
   Four flags and five social marks were wrapping, which left a single orphan
   sitting under each row and made the drawer look broken rather than full.
   They are shrunk instead of wrapped: at this size the artwork still reads,
   and nowrap keeps the row from splitting again if a language or a channel is
   added later. */
@media (max-width:768px){
  .sb__langs{ flex-wrap:nowrap; gap:6px; padding-inline:6px; }
  .sb__langs a{ flex:0 0 auto; }
  .sb__langs svg{ width:26px; height:17px; }
  .sb__social{ flex-wrap:nowrap; gap:5px; padding-inline:6px; }
  .sb__social a{ width:31px; height:31px; flex:0 0 auto; }
  .sb__social svg{ width:16px; height:16px; }
}
@media (max-width:360px){
  .sb__langs svg{ width:23px; height:15px; }
  .sb__social a{ width:28px; height:28px; }
}

/* ── Language chooser ──────────────────────────────────────────────────────
   A <details> disclosure: globe, current language, chevron - and the four
   flags inside, where each one can carry its language name. Four flags in the
   bar were four unlabelled icons; this is one control that says what it is.
   Native <details> means keyboard support and no-JS support come for free. */
.sb__lang{ position:relative; flex:0 0 auto; }
.sb__lang summary{ list-style:none; cursor:pointer; display:inline-flex; align-items:center;
  gap:8px; padding:8px 12px; border-radius:10px; font-size:13.5px; font-weight:700;
  color:rgba(18,41,76,.78); transition:background .16s,color .16s; }
.sb__lang summary::-webkit-details-marker{ display:none; }
.sb__lang summary:hover{ background:rgba(18,41,76,.07); color:var(--primary-2,#12294C); }
.sb__lang summary:focus-visible{ outline:2px solid var(--primary-2,#12294C); outline-offset:2px; }
.sb__lang-chev{ transition:transform .2s; opacity:.7; }
.sb__lang[open] .sb__lang-chev{ transform:rotate(180deg); }
.sb__lang-menu{ position:absolute; top:calc(100% + 8px); inset-inline-start:0;
  min-width:190px; background:#fff; border:1px solid var(--line,#D9E2EC);
  border-radius:14px; box-shadow:0 18px 44px rgba(8,16,32,.20);
  padding:6px; z-index:1200; display:grid; gap:2px; }
.sb__lang-menu a{ display:flex; align-items:center; gap:10px; padding:9px 10px;
  border-radius:10px; font-size:14px; font-weight:600; color:var(--ink,#0F172A);
  text-decoration:none; }
.sb__lang-menu a:hover{ background:var(--lightblue,#EAF3FF); }
.sb__lang-menu a.on{ background:var(--primary-2,#12294C); color:#fff; font-weight:800; }
.sb__lang-menu svg{ display:block; border-radius:3px; flex:0 0 auto;
  box-shadow:0 1px 3px rgba(8,16,32,.25); }
/* In the mobile drawer the menu is part of the column, not a floating card. */
@media (max-width:768px){
  .sb__lang{ width:100%; }
  .sb__lang summary{ justify-content:center; color:rgba(255,255,255,.85); }
  .sb__lang summary:hover{ background:rgba(255,255,255,.10); color:#fff; }
  .sb__lang-menu{ position:static; margin-top:6px; min-width:0; background:rgba(255,255,255,.06);
    border-color:rgba(255,255,255,.12); box-shadow:none; }
  .sb__lang-menu a{ color:#fff; }
  .sb__lang-menu a:hover{ background:rgba(255,255,255,.12); }
}

/* ── CV upload: a real button, not the browser's default control ───────────
   ::file-selector-button styles the browser's OWN button in place, so the
   input keeps every behaviour it has - drag and drop, keyboard, the file name
   the browser writes beside it, and screen-reader support. The usual trick
   (hide the input, style a <label>) looks the same and quietly breaks all of
   that.
   (Re-added 2026-08-23: this block was lost when the home-page section above
   it was rewritten by truncation.) */
#cv-file{ cursor:pointer; padding:10px 12px; }
#cv-file::file-selector-button,
#cv-file::-webkit-file-upload-button{
  appearance:none; -webkit-appearance:none;
  background:var(--primary-2,#12294C); color:#fff;
  border:0; border-radius:999px;
  padding:10px 22px; margin-inline-end:14px;
  font:inherit; font-size:14px; font-weight:700; cursor:pointer;
  box-shadow:0 4px 12px rgba(18,41,76,.28);
  transition:background .18s, transform .18s, box-shadow .18s; }
#cv-file::file-selector-button:hover,
#cv-file::-webkit-file-upload-button:hover{
  background:var(--primary,#1A3A6B); transform:translateY(-1px);
  box-shadow:0 6px 16px rgba(18,41,76,.34); }
#cv-file:focus-visible{ outline:2px solid var(--primary-2,#12294C); outline-offset:2px; }

/* ═══════════════════════════════════════════════════════════════════════════
   HOME SECTIONS — three light bands under the hero
   Deliberately quiet: type, space and one hairline. No photographs, no
   counters, no gradients to maintain. They give the home URL real body copy
   back and three doors into the site.
   ═══════════════════════════════════════════════════════════════════════════ */
.hsec{ padding:clamp(52px,6vw,86px) 24px; }
.hsec__in{ max-width:1180px; margin:0 auto; }
.hsec--b{ background:var(--gray,#F5F7FA); }
.hsec--c{ background:#fff; }
.hsec + .hsec{ position:relative; }
.hsec__eyebrow{ font-size:12.5px; font-weight:800; letter-spacing:.18em;
  color:#0057B8; margin:0 0 10px; }
.hsec__h{ font-size:clamp(24px,2.5vw,36px); line-height:1.2; font-weight:800;
  color:var(--primary-2,#12294C); margin:0 0 26px; }
.hsec__lead{ font-size:clamp(16px,1.25vw,20px); line-height:1.85; color:var(--text);
  max-width:70ch; margin:0 0 26px; }
.hsec__more{ margin:26px 0 0; }
.hsec__more a{ font-weight:700; color:var(--primary-2,#12294C);
  border-bottom:1px solid rgba(18,41,76,.25); padding-bottom:2px; }
.hsec__more a:hover{ border-color:var(--primary-2,#12294C); }
.hsec__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.hcard{ background:#fff; border:1px solid var(--line,#D9E2EC); border-radius:16px;
  padding:24px 22px; transition:border-color .18s, box-shadow .18s, transform .18s; }
.hcard:hover{ border-color:rgba(18,41,76,.28); box-shadow:0 12px 30px rgba(8,16,32,.08);
  transform:translateY(-2px); }
.hcard h3{ font-size:18px; font-weight:800; color:var(--primary-2,#12294C); margin:0 0 8px; }
.hcard p{ font-size:15px; line-height:1.8; color:var(--text); margin:0; }
/* A TIMELINE: one continuous rail with a numbered marker per stage, instead of
   four separate rules that read as four unrelated columns. The rail is drawn
   on the list, not on each item, which is what makes it continuous - four
   borders can never join up across a gap. */
.hsteps{ list-style:none; margin:0; padding:0; position:relative;
  display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.hsteps::before{ content:""; position:absolute; top:17px; height:2px;
  /* stops at the centre of the first and last marker, so the line never runs
     off into empty space at either end */
  inset-inline:calc(12.5% - 1px); background:var(--line,#D9E2EC); }
.hsteps li{ display:grid; gap:6px; padding-top:0; border-top:0;
  justify-items:center; text-align:center; }
.hsteps span{ position:relative; z-index:1;
  width:36px; height:36px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background:#fff; border:2px solid #0057B8; color:#0057B8;
  font-size:12.5px; font-weight:800; letter-spacing:.04em;
  box-shadow:0 0 0 5px var(--gray,#F5F7FA); margin-bottom:6px; }
.hsteps b{ font-size:16.5px; font-weight:800; color:var(--primary-2,#12294C); }
.hsteps i{ font-style:normal; font-size:14.5px; line-height:1.75; color:var(--text); }
.hsec__acts{ display:flex; gap:12px; flex-wrap:wrap; }
/* The process and single-contact statements are section-wide conclusions,
   not column labels; centre the complete blocks in the available canvas. */
.hsec--b .hsec__h,
.hsec--c .hsec__h{text-align:center;margin-inline:auto}
.hsec--c .hsec__lead{text-align:center;margin-inline:auto}
.hsec--c .hsec__acts{justify-content:center}
/* The floating lead band is fixed, so it takes no space of its own. The
   reservation goes on the document, which puts it where the band actually
   sits - under the footer - instead of leaving a gap mid-page. */
body{ padding-bottom:var(--qleadh,0px); }
@media (max-width:900px){
  .hsec__grid{ grid-template-columns:1fr; }
  .hsteps{ grid-template-columns:1fr 1fr; }
  .hsteps::before{ inset-inline:calc(25% - 1px); }
}
/* One column: the timeline turns vertical, which is the only honest way to
   show a sequence in a single file. */
@media (max-width:560px){
  .hsec__h{font-size:clamp(24px,8vw,32px)}
  .hsteps{ grid-template-columns:1fr; gap:22px; }
  .hsteps::before{ inset-inline:auto; inset-inline-start:17px; top:8px; bottom:8px;
    width:2px; height:auto; }
  .hsteps li{ grid-template-columns:36px 1fr; justify-items:start; text-align:start;
    column-gap:14px; }
  .hsteps span{ grid-row:1 / span 2; margin-bottom:0; }
  .reveal-on .hsteps::before{ transform:scaleY(0); transform-origin:center top; }
  .reveal-on .hsec.is-in .hsteps::before{ transform:scaleY(1); }
}

/* ── Sections arrive as you reach them ─────────────────────────────────────
   A short lift and fade, staggered inside each band so the heading lands
   before the cards under it. Everything here is opt-in from JS: the starting
   state only exists inside .reveal-on, which index.php adds after checking
   prefers-reduced-motion and the accessibility widget. With JS off, or motion
   turned down, nothing is ever left invisible. */
.reveal-on .hsec [data-rv]{ opacity:0; transform:translateY(22px);
  transition:opacity .65s cubic-bezier(.2,.7,.2,1), transform .65s cubic-bezier(.2,.7,.2,1); }
.reveal-on .hsec.is-in [data-rv]{ opacity:1; transform:none; }
.reveal-on .hsec.is-in [data-rv]:nth-child(2){ transition-delay:.08s; }
.reveal-on .hsec.is-in [data-rv]:nth-child(3){ transition-delay:.16s; }
.reveal-on .hsec.is-in .hcard:nth-child(1){ transition-delay:.06s; }
.reveal-on .hsec.is-in .hcard:nth-child(2){ transition-delay:.14s; }
.reveal-on .hsec.is-in .hcard:nth-child(3){ transition-delay:.22s; }
.reveal-on .hsec.is-in .hsteps li:nth-child(1){ transition-delay:.06s; }
.reveal-on .hsec.is-in .hsteps li:nth-child(2){ transition-delay:.13s; }
.reveal-on .hsec.is-in .hsteps li:nth-child(3){ transition-delay:.20s; }
.reveal-on .hsec.is-in .hsteps li:nth-child(4){ transition-delay:.27s; }
.reveal-on .hcard,.reveal-on .hsteps li{ opacity:0; transform:translateY(22px);
  transition:opacity .6s cubic-bezier(.2,.7,.2,1), transform .6s cubic-bezier(.2,.7,.2,1),
             border-color .18s, box-shadow .18s; }
.reveal-on .hsec.is-in .hcard,.reveal-on .hsec.is-in .hsteps li{ opacity:1; transform:none; }
/* The rail draws itself along the timeline as the band arrives. */
.reveal-on .hsteps::before{ transform:scaleX(0); transform-origin:right center;
  transition:transform .9s cubic-bezier(.2,.7,.2,1); }
.reveal-on .hsec.is-in .hsteps::before{ transform:scaleX(1); }
html[dir="ltr"] .reveal-on .hsteps::before{ transform-origin:left center; }
@media (prefers-reduced-motion:reduce){
  .reveal-on .hsec [data-rv],.reveal-on .hcard,.reveal-on .hsteps li,
  .reveal-on .hsteps::before{
    opacity:1 !important; transform:none !important; transition:none !important; }
}

/* Article navigation is presented as UI, not inline prose links. */
.article-toc a,.article-toc a:visited,
.related-card,.related-card:visited,.related-card *{
  text-decoration:none !important;
  border-bottom:0 !important;
  box-shadow:none;
}
.article-toc a:hover,.article-toc a:focus-visible{color:#111827 !important;text-decoration:underline !important;text-underline-offset:3px}
.related-card:hover strong,.related-card:focus-visible strong{color:#1769e8}
/* ---------- Home newsletter ---------- */
.hnewsletter{padding:clamp(64px,7vw,108px) 24px;background:var(--gray,#F5F7FA)}
.hnewsletter__inner{position:relative;max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr;align-items:center;gap:28px;color:var(--primary-2,#12294c);text-align:center}
.hnewsletter__inner::before,.hnewsletter__inner::after{display:none}
.hnewsletter__copy{max-width:none}
.hnewsletter__eyebrow{display:inline-flex;align-items:center;gap:10px;margin-bottom:13px;color:#b9d5f3;font-size:12px;font-weight:800;letter-spacing:.16em}
.hnewsletter__eyebrow::before{content:"";width:28px;height:2px;border-radius:2px;background:#fff}
.hnewsletter__copy h2{margin:0 0 14px;color:var(--primary-2,#12294c);font-size:clamp(30px,3.2vw,48px);line-height:1.15;letter-spacing:-.035em;white-space:nowrap}
.hnewsletter__copy p{max-width:720px;margin:0 auto;color:var(--text,#5b6677);font-size:clamp(16px,1.2vw,19px);line-height:1.75}
.hnewsletter__form{position:relative;width:100%;max-width:760px;margin:0 auto;text-align:start}
.hnewsletter__label{position:absolute!important;inline-size:1px!important;block-size:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}
.hnewsletter__row{display:flex;gap:10px;direction:rtl}
.hnewsletter__row input{min-width:0;flex:1;height:58px;padding:0 20px;border:1px solid var(--line,#d9e2ec);border-radius:14px;background:#fff;color:#0b2347;font:600 16px var(--font);direction:rtl;text-align:right;outline:none;box-shadow:0 8px 24px rgba(18,41,76,.06);transition:border-color 160ms ease-out,box-shadow 160ms ease-out}
.hnewsletter__row input::placeholder{color:#8190a4;font-weight:500}
.hnewsletter__row input:focus{border-color:#91c7ff;box-shadow:0 0 0 4px rgba(145,199,255,.2)}
.hnewsletter__row button{height:58px;padding:0 30px;border:0;border-radius:14px;background:var(--primary-2,#12294c);color:#fff;font:800 15px var(--font);cursor:pointer;white-space:nowrap;box-shadow:0 10px 26px rgba(18,41,76,.2);transition:transform 150ms cubic-bezier(.23,1,.32,1),background-color 150ms ease-out}
.hnewsletter__row button:active{transform:scale(.97)}
@media (hover:hover) and (pointer:fine){.hnewsletter__row button:hover{background:var(--primary,#1a3a6b)}}
.hnewsletter__consent{display:flex;align-items:flex-start;justify-content:center;gap:9px;margin-top:13px;color:var(--text,#5b6677);font-size:12.5px;line-height:1.55;cursor:pointer;text-align:center}
.hnewsletter__consent input{width:16px;height:16px;flex:0 0 auto;margin-top:2px;accent-color:var(--primary-2,#12294c)}
.hnewsletter__notice{margin:14px auto 0;padding:10px 14px;border-radius:10px;background:#fff;color:var(--primary-2,#12294c);font-size:13px;font-weight:700;text-align:center;border:1px solid var(--line,#d9e2ec)}
.hnewsletter__notice--success,.hnewsletter__notice--exists{border-color:rgba(31,160,95,.28);background:#f2fbf6}
.hnewsletter__notice--invalid,.hnewsletter__notice--consent,.hnewsletter__notice--error{border-color:rgba(196,62,62,.25);background:#fff5f5}
.hnewsletter__trap{position:absolute!important;inline-size:1px!important;block-size:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important}
@media(max-width:860px){.hnewsletter__inner{grid-template-columns:1fr;gap:24px}.hnewsletter__copy{max-width:none}.hnewsletter__form{max-width:none}.hnewsletter__copy h2{white-space:normal}}
@media(max-width:560px){.hnewsletter{padding:52px 16px}.hnewsletter__row{flex-direction:column}.hnewsletter__row button,.hnewsletter__row input{width:100%}}
@media(prefers-reduced-motion:reduce){.hnewsletter__row button,.hnewsletter__row input{transition-duration:0ms}}

/* Home alignment and alternating bands — 2026-08-25 */
body .hsec__h,
body .hsec__lead{
  margin-inline:auto;
  text-align:center;
}
body .hsec--a{background:#fff!important;background-image:none!important}
body .hsec--b:not(.process-showcase){background:var(--gray,#F5F7FA)!important;background-image:none!important}
body .hsec--c:not(.single-address){background:#fff!important;background-image:none!important}
body .hsec--news .hsec__in{text-align:center}
body .hsec--news .news__field{
  display:block!important;
  flex:0 1 430px!important;
  width:430px!important;
  max-width:430px!important;
  margin:0!important;
}
body .hsec--news .news__field input:focus{
  border-color:#315f99!important;
  box-shadow:0 0 0 4px rgba(49,95,153,.13),0 8px 24px rgba(18,41,76,.08)!important;
}
body .hsec--news .news__hp{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  margin:-1px!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  white-space:nowrap!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* The theme renders a bare body tag, so centre this heading by section id. */
#what .hsec__h{
  width:100%;
  margin-inline:auto;
  text-align:center;
}

/* The states the newsletter form can be in. The layout above is deliberate and
   untouched; these are only the colours for success, error and an invalid
   field - without them a rejected address looks exactly like an accepted one. */
body .hsec--news .news__msg.is-ok{ color:#15803d; }
body .hsec--news .news__field input.is-bad{
  border-color:#b91c1c!important;
  box-shadow:0 0 0 3px rgba(185,28,28,.14)!important;
}

/* The hero's eyebrow line: a rule, then the company and what it does. Set
   small and wide-tracked so it introduces the headline instead of competing
   with it. */
.hero--still .hero__eyebrow{ display:flex; align-items:center; justify-content:center;
  gap:12px; margin:0 0 18px; font-size:13.5px; font-weight:700; letter-spacing:.06em;
  color:var(--primary,#1A3A6B); }
.hero--still .hero__eyebrow span{ display:none; }
.hero--still .hero__title br{ display:block; }

/* ═══════════════════════════════════════════════════════════════════════════
   NEWSLETTER CARD
   Two halves: the photograph on one side, the invitation on the other. The
   image is a BACKGROUND, not an <img> - it is decoration that has to crop with
   the card, and it carries no information a reader needs.
   Below 900px the picture is dropped rather than stacked: on a phone it would
   push the field a screen and a half down, and the field is the whole point.
   ═══════════════════════════════════════════════════════════════════════════ */
.hsec--news{ background:var(--gray,#F5F7FA); padding-inline:clamp(12px,3vw,30px); }
.nl{ max-width:1240px; margin:0 auto; background:#fff;
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  box-shadow:0 18px 50px rgba(8,16,32,.10); overflow:hidden; }
/* The invitation comes FIRST in an RTL page - it is what the reader is here
   for, and the picture supports it. Explicit order, so the source stays in
   reading order for anything that ignores the grid. */
.nl__body{ order:1; }
.nl__art{ order:2; position:relative; min-height:460px;
  /* Cropped to the photograph itself. The full artwork carries a navy strip and
     an empty white third - the strip is drawn below, and the white third was
     what left a gap beside the column. */
  background:url('assets/nl-art.webp') center/cover no-repeat; }
/* The navy strip with the wordmark, printed over the picture's own dark edge. */
.nl__badge{ position:absolute; inset-block:0; inset-inline-end:0; width:118px;
  background:rgba(11,27,55,.86); color:#fff; display:flex; flex-direction:column;
  justify-content:center; gap:10px; padding:0 20px;
  font-size:13px; font-weight:700; letter-spacing:.18em; line-height:1.7;
  direction:ltr; text-align:left; }
.nl__badge span{ display:block; width:34px; height:2px; background:#7aa7e6; }
.nl__body{ padding:clamp(28px,3.4vw,54px); display:flex; flex-direction:column;
  justify-content:center; }
.nl__eyebrow{ display:flex; align-items:center; gap:12px; margin:0 0 18px;
  font-size:13px; font-weight:700; letter-spacing:.22em; color:#5b8fd6; direction:ltr; }
.nl__eyebrow span{ display:none; }
.nl__h{ margin:0 0 16px; font-size:clamp(26px,2.7vw,40px); line-height:1.25;
  font-weight:800; color:var(--primary-2,#12294C); }
.nl__lead{ margin:0 0 26px; font-size:clamp(15px,1.15vw,17.5px); line-height:1.85;
  color:var(--text); max-width:46ch; }

/* The form: two squared blocks side by side, as in the reference. */
.hsec--news .news{ display:flex; gap:0; align-items:stretch; max-width:560px; }
.hsec--news .news__field{ flex:1 1 auto; min-width:0; display:block; }
.hsec--news .news__field input{ width:100%; height:56px; border:1px solid #d4deeb;
  border-radius:0; padding:0 18px; font:inherit; font-size:15.5px;
  background:#fff; color:var(--ink,#0F172A); outline:none; }
.hsec--news .news__field input:focus{ border-color:var(--primary-2,#12294C); }
.hsec--news .news__field input.is-bad{ border-color:#b91c1c; }
.hsec--news .news__go{ flex:0 0 auto; height:56px; padding:0 30px; border:0; border-radius:0;
  background:var(--primary-2,#12294C); color:#fff; font:inherit; font-size:15px; font-weight:800;
  cursor:pointer; transition:background .16s; }
.hsec--news .news__go:hover{ background:var(--primary,#1A3A6B); }
.hsec--news .news__hp{ position:absolute!important; width:1px; height:1px; opacity:0;
  pointer-events:none; }
.hsec--news .news__msg{ margin:12px 0 0; font-size:14px; font-weight:700; min-height:0; }
.hsec--news .news__msg.is-ok{ color:#15803d; }
.hsec--news .news__msg.is-err{ color:#b91c1c; }
/* The consent line is legal text, not a caption: it wraps like a paragraph and
   is set at a size a person can actually read before agreeing. */
.nl__fine{ margin:16px 0 0; max-width:52ch; font-size:12.5px; line-height:1.75;
  color:#8a97ab; }

@media (max-width:900px){
  .nl{ grid-template-columns:1fr; }
  .nl__art{ display:none; }
  .nl__body{ padding:28px 20px; }
}
@media (max-width:560px){
  .hsec--news .news{ flex-wrap:wrap; }
  .hsec--news .news__field input{ border-inline-start:1px solid #d4deeb; }
  .hsec--news .news__go{ width:100%; margin-top:10px; }
}


/* ═══════════════════════════════════════════════════════════════════════════
   Footer mockup — photo left, content right (RTL), Heebo, navy accents
   ═══════════════════════════════════════════════════════════════════════════ */
.ftr.ftr--pro{
  --ftr-ink:#12294C;
  --ftr-ink-soft:#2a3f5f;
  --ftr-muted:#5b6b82;
  --ftr-line:rgba(18,41,76,.14);
  --ftr-navy:#12294C;
  background:#eef3f8;
  color:var(--ftr-ink);
  border:0;border-radius:0;margin:0;padding:0;
  position:relative;overflow:hidden;
  font-family:'Heebo',Arial,sans-serif;
  min-height:0;
}
.ftr.ftr--pro::before{display:none!important;content:none!important}
.ftr-pro__bg{
  position:absolute;inset:0;z-index:0;
  width:100%;height:100%;
  object-fit:cover;object-position:left top;
  pointer-events:none;
}
.ftr-pro__shell{
  position:relative;z-index:1;
  display:grid;
  grid-template-columns:minmax(240px,34%) minmax(0,1fr);
  align-items:stretch;
  min-height:0;
  direction:ltr; /* keep photo column physically on the left */
}
.ftr-pro__stage{display:none}

/* The supplied artwork is the complete footer canvas; do not reserve a fake photo column. */
.ftr-pro__shell{display:block;min-height:inherit;direction:rtl}
.ftr-pro__visual{position:absolute;inset:0;z-index:0;min-height:0;padding:0;display:block;pointer-events:none}

.ftr-pro__visual{
  position:absolute;
  inset:0;
  min-height:0;
  padding:0;
  display:block;
  pointer-events:none;
  direction:ltr;
}
.ftr-pro__visual-he{
  margin:0;max-width:11ch;
  font-size:clamp(24px,2.35vw,34px);
  font-weight:800;line-height:1.22;letter-spacing:-.015em;
  color:var(--ftr-ink)!important;
  direction:rtl;text-align:right;
}
.ftr-pro__visual-en{
  margin:0 0 clamp(36px,5vw,64px);
  max-width:18ch;
  font-size:clamp(10px,.95vw,12px);
  font-weight:700;letter-spacing:.16em;line-height:1.4;
  text-transform:uppercase;color:#fff!important;
  direction:ltr;text-align:left;align-self:flex-start;
  padding:10px 12px 10px 14px;
  background:linear-gradient(105deg,rgba(18,41,76,.92) 0%,rgba(18,41,76,.72) 70%,transparent 100%);
}

.ftr.ftr--pro,
.ftr.ftr--pro h2,.ftr.ftr--pro h3,.ftr.ftr--pro p,.ftr.ftr--pro li,
.ftr.ftr--pro span,.ftr.ftr--pro a,.ftr.ftr--pro button,
.ftr.ftr--pro strong,.ftr.ftr--pro small{
  color:var(--ftr-ink)!important;text-align:start;font-family:'Heebo',Arial,sans-serif
}
.ftr.ftr--pro a{text-decoration:none}
.ftr.ftr--pro a:hover{color:#2497ef!important}
.ftr.ftr--pro a.ftr-pro__cta,
.ftr.ftr--pro a.ftr-pro__cta:hover,
.ftr.ftr--pro a.ftr-pro__cta span,
.ftr.ftr--pro a.ftr-pro__cta svg{color:#fff!important}

.ftr-pro__main{
  position:relative;
  display:flex;flex-direction:column;justify-content:flex-start;
  padding:clamp(30px,3.4vw,48px) clamp(18px,2.6vw,36px) 0 clamp(8px,1vw,16px);
  min-width:0;
  width:100%;
  direction:rtl;
}
.ftr-pro__main::before{display:none;content:none}

.ftr-pro__cols{
  display:grid;
  grid-template-columns:minmax(180px,1.2fr) repeat(4,minmax(0,1fr));
  gap:clamp(12px,1.5vw,24px);
  direction:rtl;align-items:start;width:100%;
}
.ftr-pro__cols:not(.ftr-pro__cols--links){
  grid-template-columns:1fr;
}
.ftr-pro__cols--links{
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin-top:clamp(8px,1.2vw,16px);
}
.ftr-pro__brand,.ftr-pro__col{padding:0;text-align:start;border:0!important}
.ftr-pro__col + .ftr-pro__col,
.ftr-pro__brand + .ftr-pro__col{border:0!important}

.ftr.ftr--pro .brandlogo--ftr{
  color:var(--ftr-ink)!important;margin:0;
  font-size:clamp(24px,2.1vw,30px)!important;font-weight:900!important;
  letter-spacing:.02em!important;line-height:1;
  display:flex;flex-direction:column;align-items:flex-start;
}
.ftr.ftr--pro .brandlogo--ftr::before{
  content:"";display:block;width:48px;height:2px;margin:0 0 12px;background:var(--ftr-ink);
}
.ftr.ftr--pro .brandlogo--ftr small{
  color:var(--ftr-ink-soft)!important;font-size:9px!important;
  letter-spacing:.2em!important;margin-top:9px;font-weight:500!important;
}
.ftr-pro__desc{
  margin:14px 0 0;padding:0;border:0;max-width:30ch;
  font-size:13px;line-height:1.7;color:var(--ftr-muted)!important;text-align:start;
}
.ftr-pro__brand-contacts{display:none}
.ftr-pro__brand-tools{
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:flex-start;
  gap:16px 22px;
  margin:14px auto 0;
  direction:rtl;
  width:min(calc(100% - 72px),1120px);
}
.ftr.ftr--pro .ftr-pro__soc{
  display:flex;gap:6px;margin:0;width:fit-content;justify-content:flex-start;flex:0 0 auto;
}
.ftr-pro__soc a{
  width:36px;height:36px;border:1px solid rgba(18,41,76,.12);border-radius:9px;
  display:grid;place-items:center;color:var(--ftr-ink)!important;
  background:rgba(205,218,234,.6);transition:.18s;
}
.ftr-pro__soc a:hover{background:#2497ef;border-color:#2497ef;color:#fff!important}
.ftr-pro__contacts--brand{
  display:flex;align-items:center;gap:16px;
  direction:rtl;padding:0;margin:0;
  flex:0 1 auto;min-width:0;
}

.ftr-pro__col h3{
  margin:0 0 14px;font-size:15px;font-weight:800;color:var(--ftr-ink)!important;
  display:inline-block;padding:0 0 7px;border-bottom:2px solid var(--ftr-ink);line-height:1.2;
}
.ftr-pro__col ul{list-style:none;margin:0;padding:0}
.ftr-pro__col li{margin:0;padding:0}
.ftr-pro__col a{
  display:block;padding:5px 0;font-size:13.5px;font-weight:500;
  color:var(--ftr-ink-soft)!important;line-height:1.45;
}
.ftr.ftr--pro .ftr-pro__col,
.ftr.ftr--pro .ftr-pro__col h3,
.ftr.ftr--pro .ftr-pro__col ul,
.ftr.ftr--pro .ftr-pro__col li,
.ftr.ftr--pro .ftr-pro__col a{text-align:start!important}

.ftr-pro__bar{
  margin-top:clamp(24px,3.2vw,40px);
  padding:0;
  border-top:1px solid var(--ftr-line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:clamp(8px,1.4vw,18px);
  direction:rtl;
  min-height:72px;
  flex-wrap:nowrap;
}
.ftr-pro__cta{
  flex:0 0 auto;
  align-self:stretch;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:0 26px 0 36px;
  background:var(--ftr-navy);color:#fff!important;
  font-size:14.5px;font-weight:700;white-space:nowrap;
  clip-path:polygon(14px 0,100% 0,100% 100%,0 100%);
  transition:background .18s;
  margin-inline-end:-12px;
  min-width:max-content;
  z-index:3;
}
.ftr-pro__cta span,.ftr-pro__cta svg{color:#fff!important}
.ftr-pro__cta:hover{background:#1a3a6b;color:#fff!important}
.ftr-pro__cta svg{transform:scaleX(-1)}

.ftr-pro__bar-mid{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  flex:1 1 auto;min-width:0;text-align:center;padding:8px 4px;
}
.ftr-pro__copy{
  margin:0;font-size:12px;font-weight:600;color:var(--ftr-muted)!important;white-space:nowrap;
}
.ftr-pro__legal{
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px 12px;direction:rtl;
}
.ftr-pro__legal a{
  flex:0 0 auto;
  font-size:11px;color:var(--ftr-muted)!important;opacity:.8;padding:0;border:0;background:none;cursor:pointer;
  text-decoration:none!important;min-height:auto;white-space:nowrap;
}
.ftr-pro__legal a:hover{color:#2497ef!important;opacity:1}

.ftr-pro__contacts{
  display:flex;align-items:center;gap:clamp(10px,1.4vw,18px);
  direction:rtl;padding:0;
  flex:0 1 auto;min-width:0;
}
.ftr-pro__contact{display:inline-flex;align-items:center;gap:8px;color:var(--ftr-ink)!important}
.ftr-pro__contact-ic{
  width:28px;height:28px;flex:none;display:grid;place-items:center;color:var(--ftr-ink)!important;
}
.ftr-pro__contact-txt{display:flex;flex-direction:column;align-items:flex-start;gap:1px;line-height:1.2}
.ftr-pro__contact-txt strong{font-size:12px;font-weight:800;color:var(--ftr-ink)!important;white-space:nowrap}
.ftr-pro__contact-txt small{font-size:10.5px;font-weight:500;color:var(--ftr-muted)!important}

@media (max-width:1100px){
  .ftr-pro__shell{grid-template-columns:minmax(200px,30%) minmax(0,1fr);min-height:0}
  .ftr-pro__cols{
    grid-template-columns:minmax(205px,1.35fr) repeat(4,minmax(0,1fr));
    gap:8px;
  }
  .ftr-pro__cols:not(.ftr-pro__cols--links){grid-template-columns:1fr}
  .ftr-pro__cols--links{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ftr.ftr--pro .brandlogo--ftr{font-size:20px!important}
  .ftr.ftr--pro .brandlogo--ftr small{font-size:7px!important;margin-top:6px}
  .ftr-pro__desc{font-size:11px;line-height:1.45;margin-top:9px}
  .ftr-pro__brand-tools{gap:8px 12px;margin-top:10px}
  .ftr.ftr--pro .ftr-pro__soc{gap:4px;margin:0}
  .ftr-pro__soc a{width:28px;height:28px}
  .ftr-pro__soc a svg{width:12px;height:12px}
  .ftr-pro__contacts--brand{gap:8px}
  .ftr-pro__col h3{font-size:13px;margin-bottom:7px;padding-bottom:4px}
  .ftr-pro__col a{font-size:11px;padding:3px 0;line-height:1.25}
  .ftr-pro__cta{margin-inline-end:0;font-size:11px;padding:0 12px 0 16px}
  .ftr-pro__bar{gap:5px;min-height:58px}
  .ftr-pro__contacts{gap:7px;padding:0;flex-wrap:nowrap}
  .ftr-pro__contact{gap:4px}
  .ftr-pro__contact-ic{width:22px;height:22px}
  .ftr-pro__contact-ic svg{width:13px;height:13px}
  .ftr-pro__contact-txt strong{font-size:9.5px}
  .ftr-pro__contact-txt small{font-size:8px}
  .ftr-pro__copy{font-size:9.5px}
  .ftr-pro__legal{gap:3px 7px;flex-wrap:nowrap}
  .ftr-pro__legal a{
    flex:0 0 auto;
    font-size:8.5px;
    white-space:nowrap;
  }
  .ftr-pro__bar-mid{gap:2px}
}
@media (max-width:900px){
  .ftr-pro__shell{grid-template-columns:1fr;min-height:0}
  .ftr-pro__visual{
    min-height:200px;
    background:linear-gradient(100deg,rgba(255,255,255,.08),rgba(255,255,255,.78) 78%);
  }
  .ftr-pro__visual-en{margin-bottom:16px}
  .ftr-pro__main{
    background:rgba(255,255,255,.94);
    padding:26px 18px 8px;
  }
  .ftr-pro__cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}
  .ftr-pro__cols:not(.ftr-pro__cols--links){grid-template-columns:1fr}
  .ftr-pro__cols--links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ftr-pro__brand{grid-column:auto}
  .ftr-pro__desc{max-width:44ch}
  .ftr-pro__brand-tools{width:100%;margin:12px 0 4px;gap:10px 14px;flex-wrap:nowrap;justify-content:flex-start}
  .ftr-pro__contacts--brand{justify-content:flex-start;flex-wrap:nowrap}
  .ftr-pro__bar{
    grid-template-columns:1fr;
    gap:14px;padding:16px 0 22px;min-height:0;
  }
  .ftr-pro__cta{
    width:100%;
    align-self:auto;
    min-height:54px;
    clip-path:none;border-radius:10px;padding:14px 18px;margin:0;
  }
  .ftr-pro__copy{white-space:normal}
}
@media (max-width:560px){
  .ftr-pro__main{padding:22px 14px 4px}
  .ftr-pro__cols{gap:16px 10px}
  .ftr-pro__brand{
    text-align:center!important;
  }
  .ftr.ftr--pro .brandlogo--ftr{
    align-items:center;
    white-space:nowrap;
  }
  .ftr-pro__desc{
    margin-inline:auto;
    text-align:center;
  }
  .ftr-pro__brand-tools{
    width:100%;
    justify-content:center;
    align-items:center;
    flex-wrap:wrap;
    gap:10px 12px;
    margin:12px 0 6px;
    overflow:visible;
  }
  .ftr.ftr--pro .ftr-pro__soc{
    margin:0;
    justify-content:center;
    gap:4px;
  }
  .ftr-pro__soc a{width:26px;height:26px}
  .ftr-pro__soc a svg{width:11px;height:11px}
  .ftr-pro__contacts--brand{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:8px;
    margin:0;
    padding:0;
    border:0;
  }
  .ftr-pro__contact{gap:4px}
  .ftr-pro__contact-txt strong{font-size:9.5px}
  .ftr-pro__contact-txt small{font-size:7.5px}
  .ftr-pro__contact-ic{width:18px;height:18px}
  .ftr-pro__contact-ic svg{width:12px;height:12px}
  .ftr-pro__brand-contacts{display:none!important}
  .ftr-pro__col,
  .ftr.ftr--pro .ftr-pro__col,
  .ftr.ftr--pro .ftr-pro__col h3,
  .ftr.ftr--pro .ftr-pro__col ul,
  .ftr.ftr--pro .ftr-pro__col li,
  .ftr.ftr--pro .ftr-pro__col a{
    text-align:center!important;
  }
  .ftr-pro__col h3{margin-bottom:7px;padding-bottom:4px}
  .ftr-pro__col a{padding:3px 0;font-size:12px;line-height:1.3}
  .ftr-pro__bar{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:12px;
  }
  .ftr-pro__bar-mid{
    order:2;
    width:100%;
  }
  .ftr-pro__cta{
    order:3;
  }
}

@media (min-width:901px){
  .ftr-pro__main{
    padding-top:clamp(42px,4vw,68px);
  }
  .ftr-pro__brand{grid-column:auto!important}
  .ftr-pro__cols,
  .ftr-pro__brand-tools{
    width:min(calc(100% - 72px),1120px);
    margin-inline:auto;
  }
  .ftr-pro__brand{min-width:0}
  .ftr.ftr--pro .brandlogo--ftr{white-space:nowrap}
}

/* ═══════════════════════════════════════════════════════════════════════════
   FAQ page — centered title, full background art left, accordion right
   ═══════════════════════════════════════════════════════════════════════════ */
.faq-page{background:#fff;color:#12294C}
.faq-page__stage{
  position:relative;overflow:hidden;
  min-height:clamp(560px,62vw,720px);
  padding:clamp(48px,6vw,88px) clamp(20px,4vw,56px) clamp(40px,5vw,56px);
  background-color:#f3f3f1;
  background-image:
    linear-gradient(105deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.78) 42%,rgba(255,255,255,.35) 62%,rgba(255,255,255,.08) 82%,transparent 100%),
    var(--faq-bg);
  background-position:center,center;
  background-size:auto,cover;
  background-repeat:no-repeat;
}
.faq-page__wrap{
  max-width:1180px;margin:0 auto;
}
.faq-page__intro{
  text-align:center;max-width:720px;margin:0 auto clamp(36px,5vw,56px);
}
.faq-page__rule{
  display:block;width:min(420px,72vw);height:1px;margin:0 auto 22px;
  background:linear-gradient(90deg,transparent,#c8d2df 18%,#c8d2df 82%,transparent);
}
.faq-page__title{
  margin:0;font-size:clamp(34px,3.4vw,48px);line-height:1.14;font-weight:900;
  letter-spacing:-.02em;color:#12294C;
}
.faq-page__lead{
  margin:16px auto 0;max-width:58ch;font-size:16px;line-height:1.75;color:#5b6b82;
}
.faq-page__split{
  display:block;
  direction:rtl;
}
.faq-page__columns{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(20px,2.8vw,28px);
  align-items:start;
}
.faq-page__col{
  display:flex;flex-direction:column;gap:clamp(12px,1.5vw,16px);
  min-width:0;direction:rtl;
}
.faq-page__item{
  position:relative;
  background:#fff;
  border:1px solid rgba(18,41,76,.12);
  border-radius:14px;
  box-shadow:0 18px 44px rgba(18,41,76,.08);
  overflow:hidden;
}
.faq-page__item summary{
  list-style:none;cursor:pointer;
  display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px;
  padding:20px 22px;direction:rtl;
}
.faq-page__item summary::-webkit-details-marker{display:none}
.faq-page__chev{
  width:28px;height:28px;flex:none;position:relative;
  border:1px solid rgba(18,41,76,.18);border-radius:50%;
  color:#12294C;transition:transform .2s ease,border-color .2s ease,color .2s ease;
}
.faq-page__chev::before{
  content:"";position:absolute;left:50%;top:50%;
  width:7px;height:7px;margin:-4px 0 0 -4px;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg);transition:transform .2s ease;
}
.faq-page__item[open] .faq-page__chev{
  color:#0e7aab;border-color:rgba(14,122,171,.35);
}
.faq-page__item[open] .faq-page__chev::before{transform:rotate(-135deg);margin-top:-1px}
.faq-page__q{
  min-width:0;
  font-size:clamp(14px,1vw,15.5px);font-weight:700;line-height:1.45;color:#12294C;
  text-align:right;transition:color .18s ease;
}
.faq-page__item[open] .faq-page__q{color:#0f6fa3}
.faq-page__item[open] summary{padding-bottom:12px}
.faq-page__a{padding:0 22px 20px 56px}
.faq-page__a p{
  margin:0;font-size:13.5px;line-height:1.7;color:#5b6b82;max-width:52ch;text-align:right;
}
@media (hover:hover){
  .faq-page__item:not([open]) summary:hover .faq-page__q{color:#0f3a6d}
}
@media (max-width:960px){
  .faq-page__stage{
    min-height:0;
    padding:40px 18px 28px;
    background-image:
      linear-gradient(180deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.9) 100%),
      var(--faq-bg);
    background-position:center,bottom;
    background-size:auto,cover;
  }
  .faq-page__columns{grid-template-columns:1fr;gap:12px}
  .faq-page__col{gap:12px}
  .faq-page__item summary{padding:18px 18px}
  .faq-page__a{padding:0 18px 18px 50px}
}

/* ── Home contact / lead band (shared: home + FAQ) ───────────────────────── */
/* ===== Home articles — premium editorial showcase ===== */
.home-articles{
  position:relative;overflow:hidden;
  background:#fff;
  font-family:"Heebo",var(--font,sans-serif);
  direction:rtl;
  margin-bottom:0;
}
.home-articles__geo{
  position:absolute;inset:0;pointer-events:none;z-index:0;
  opacity:.025;
  background-image:
    linear-gradient(#0d315b 1px, transparent 1px),
    linear-gradient(90deg, #0d315b 1px, transparent 1px);
  background-size:72px 72px;
}
.home-articles__in{
  position:relative;z-index:1;
  max-width:1600px;margin:0 auto;
  padding:72px 40px 88px;
}
.home-articles__head{
  display:flex;align-items:center;justify-content:space-between;
  gap:24px;margin-bottom:40px;
}
.home-articles__eyebrow{
  margin:0 0 12px;color:#17afe5;font-size:16px;font-weight:600;line-height:1;
}
.home-articles__title{
  margin:0 0 10px;padding:0;
  font-size:clamp(32px,3.4vw,52px);font-weight:800;line-height:1.08;
  color:#0d2d55;letter-spacing:-1px;
}
.home-articles__title::before{display:none}
.home-articles__lead{
  margin:0;max-width:650px;
  font-size:18px;line-height:1.65;color:#7d8998;
}
.home-articles__all{
  flex:0 0 auto;align-self:center;
  display:inline-flex;align-items:center;justify-content:center;
  height:48px;padding:0 24px;
  border:1px solid #153a67;border-radius:4px;
  background:transparent;color:#153a67;
  font-family:inherit;font-size:15px;font-weight:600;
  text-decoration:none;white-space:nowrap;
  transition:background .22s ease,color .22s ease;
}
.home-articles__all:hover{background:#0d315b;color:#fff}
.home-articles__grid{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);
  gap:30px;align-items:stretch;
  transition:opacity .26s ease;
}
.home-articles__grid.is-fading{opacity:.18;pointer-events:none;will-change:opacity}
@media (prefers-reduced-motion:reduce){
  .home-articles__grid{transition:none}
}
.home-articles__featured{
  display:flex;flex-direction:column;overflow:hidden;
  min-height:0;border-radius:8px;
  background:#fff;border:1px solid #e5eaf0;
  color:inherit;text-decoration:none;
  grid-column:1;grid-row:1 / span 2;
  box-shadow:0 10px 35px rgba(13,45,85,.06);
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.home-articles__featured:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 45px rgba(13,45,85,.11);
  border-color:#ccd9e8;
}
.home-articles__featured-media{
  display:block;overflow:hidden;flex:1 1 auto;
  min-height:300px;aspect-ratio:640/426;background:#eef2f6;
}
.home-articles__featured-img{
  width:100%;height:100%;min-height:300px;aspect-ratio:640/426;
  object-fit:cover;display:block;transition:transform .45s ease;
}
.home-articles__featured:hover .home-articles__featured-img{transform:scale(1.03)}
.home-articles__featured-body{
  position:relative;flex:0 0 auto;
  display:flex;flex-direction:column;
  padding:28px 34px 30px;direction:rtl;text-align:right;
}
.home-articles__featured-top,
.home-articles__card-top{
  display:grid;grid-template-columns:auto 1fr;
  gap:8px 28px;align-items:start;margin-bottom:12px;
  direction:ltr;
}
.home-articles__featured-title,
.home-articles__card-title{
  display:block;margin:0;
  direction:rtl;text-align:right;
}
.home-articles__featured-num,
.home-articles__card-num{
  font-size:clamp(42px,3.6vw,54px);font-weight:300;line-height:1;
  color:transparent;-webkit-text-stroke:1px #9ccfec;opacity:.85;
  pointer-events:none;user-select:none;padding-top:2px;
}
.home-articles__featured-title{
  font-size:clamp(24px,2vw,30px);font-weight:700;line-height:1.35;color:#102f56;
}
.home-articles__featured-excerpt{
  display:block;margin:0 0 auto;
  font-size:15px;line-height:1.7;color:var(--text);
}
.home-articles__featured-foot{
  display:flex;align-items:center;justify-content:flex-start;
  width:100%;gap:16px;margin-top:18px;padding-top:18px;
  border-top:1px solid #edf0f3;
}
.home-articles__cta{
  color:#10aee6;font-size:14px;font-weight:650;line-height:1;
}
.home-articles__time{
  display:inline-flex;align-items:center;gap:8px;
  font-size:14px;font-weight:500;
}
.home-articles__time svg{flex:0 0 auto;opacity:.85}
.home-articles__side{
  display:flex;flex-direction:column;gap:30px;
  grid-column:2;
}
@media(min-width:701px){
  .home-articles__card{align-items:stretch}
  .home-articles__card-body{height:100%}
}
@media(min-width:1101px){
  .home-articles__grid{align-items:stretch}
  .home-articles__featured{grid-row:1/3;align-self:stretch;min-height:100%}
  .home-articles__side{
    grid-row:1/3;display:flex;flex-direction:column;gap:30px;
    align-self:stretch;min-height:100%;
  }
  .home-articles__side .home-articles__card{flex:1 1 auto;min-height:270px}
}
.home-articles__card{
  display:grid;grid-template-columns:46% 54%;
  min-height:270px;overflow:hidden;
  background:#fff;border:1px solid #e5eaf0;border-radius:8px;
  color:inherit;text-decoration:none;direction:ltr;
  box-shadow:0 10px 35px rgba(13,45,85,.06);
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.home-articles__card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 45px rgba(13,45,85,.11);
  border-color:#ccd9e8;
}
.home-articles__card-media{display:block;overflow:hidden;background:#eef2f6;aspect-ratio:640/426}
.home-articles__card-media img{width:100%;height:100%;aspect-ratio:640/426;object-fit:cover;display:block;transition:transform .4s ease}
.home-articles__card:hover .home-articles__card-media img{transform:scale(1.04)}
.home-articles__card-body{
  position:relative;display:flex;flex-direction:column;
  min-height:100%;background:#fff;
  padding:26px 30px 28px;direction:rtl;text-align:right;
}
.home-articles__card-title{
  font-size:23px;font-weight:700;line-height:1.35;color:#102f56;
}
.home-articles__card-excerpt{
  display:block;margin:0;
  font-size:15px;line-height:1.7;color:var(--text);
}
.home-articles__card-foot{
  display:flex;align-items:center;justify-content:flex-start;
  gap:12px;margin-top:auto;padding-top:18px;
  border-top:1px solid #edf0f3;
}
.home-articles__cta--card{color:#10aee6;font-size:14px;font-weight:650}
.home-articles__time--card{color:var(--text);font-size:14px;font-weight:500}
.home-articles__empty{
  margin:0;padding:24px 0;text-align:center;color:#7d8998;font-size:16px;
}
@media(max-width:1100px){
  .home-articles__grid{grid-template-columns:1fr;gap:30px}
  .home-articles__featured{grid-column:auto;grid-row:auto}
  .home-articles__side{grid-column:auto}
}
@media(max-width:700px){
  .home-articles__in{padding:65px 20px}
  .home-articles__head{flex-direction:column;align-items:flex-start;gap:24px}
  .home-articles__title{font-size:38px;letter-spacing:-1px}
  .home-articles__all{width:100%;max-width:320px}
  .home-articles__featured-media{min-height:240px}
  .home-articles__featured-img{min-height:240px}
  .home-articles__featured-body{padding:22px 20px 24px}
  .home-articles__featured-top,.home-articles__card-top{gap:6px 20px}
  .home-articles__featured-num,.home-articles__card-num{font-size:40px}
  .home-articles__featured-title{font-size:24px}
  .home-articles__card{grid-template-columns:1fr;min-height:0}
  .home-articles__card-media{height:220px}
  .home-articles__card-body{padding:22px 20px 24px}
}

/* ===== Bramy Academy (/כל-המאמרים/) ===== */
/* Kill the site-wide fixed hero-bg on this page — zoom:1.1 subpixel gaps
   otherwise bleed the gray gradient through between cards and sidebar. */
html:has(body.bramy-academy-page){
  background:#fff!important;
  overflow-x:clip!important;
}
body.bramy-academy-page{
  background:#fff!important;
  background-image:none!important;
  background-attachment:scroll!important;
  overflow-x:clip!important;
  overscroll-behavior-x:none;
}
.bramy-academy{
  overflow-x:clip;
  max-width:100%;
  --navy:#0b2d50;
  --navy-deep:#081f3a;
  --blue:#2d8ed8;
  --text:#0e2b50;
  --muted:#718096;
  --white:#fff;
  --academy-sticky-head:clamp(76px,9vw,92px);
  font-family:"Heebo",var(--font,Arial,sans-serif);
  color:var(--text);
  background:#fff;
}
.bramy-academy *{box-sizing:border-box}
.bramy-academy .academy-container{
  width:min(1500px,calc(100% - 72px));
  margin-inline:auto;
}
.bramy-academy .screen-reader-text{
  position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
/* ===== Welcome hero ===== */
.bramy-academy--welcome .academy-hero{
  position:relative;display:flex;align-items:center;
  min-height:clamp(440px,45vw,540px);
  overflow:hidden;
  margin-bottom:0;
  background-color:#0b2d50;
  background-position:left center;
  background-size:cover;
  background-repeat:no-repeat;
}
.bramy-academy--welcome .academy-hero__body{
  position:relative;z-index:2;width:100%;
  padding:clamp(36px,5vw,56px) clamp(20px,4vw,48px) clamp(32px,4.5vw,44px);
}
.bramy-academy--welcome .academy-hero__body .academy-container{
  display:flex;justify-content:flex-start;align-items:center;
}
.bramy-academy--welcome .academy-hero__inner{
  display:flex;flex-direction:column;align-items:flex-start;
  flex:0 1 780px;width:100%;max-width:780px;
  color:#fff;text-align:right;
}
.bramy-academy--welcome .academy-hero h1{
  margin:0 0 16px;font-size:clamp(34px,4.2vw,52px);font-weight:800;
  line-height:1.12;letter-spacing:-.8px;color:#fff;text-align:right;
}
.bramy-academy--welcome .academy-hero__lead{
  margin:0;font-size:clamp(15px,1.5vw,18px);line-height:1.7;
  color:rgba(255,255,255,.9);font-weight:400;text-align:right;
}
.bramy-academy--welcome .academy-hero__tagline{
  margin:16px 0 24px;font-size:14px;line-height:1.6;color:rgba(255,255,255,.78);text-align:right;
}
.bramy-academy--welcome .academy-hero__lead,
.bramy-academy--welcome .academy-hero__tagline{
  text-align:right;
}
.bramy-academy--welcome .academy-hero__search{
  display:flex;align-items:center;gap:12px;
  width:100%;max-width:520px;height:52px;padding:0 18px;
  background:#fff;border-radius:999px;
  box-shadow:0 10px 30px rgba(0,0,0,.12);
}
.bramy-academy--welcome .academy-hero__search input{
  flex:1;min-width:0;border:0;background:transparent;outline:0;
  font-family:inherit;font-size:15px;color:#334155;text-align:right;
}
.bramy-academy--welcome .academy-hero__search input::placeholder{color:#94a3b8}
.bramy-academy--welcome .academy-hero__search-ic{
  flex:0 0 auto;color:#64748b;display:grid;place-items:center;
}
.bramy-academy--welcome .academy-hero__filters{
  display:flex;flex-wrap:nowrap;justify-content:flex-start;align-self:stretch;
  gap:10px;margin-top:18px;
  overflow-x:auto;-webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.bramy-academy--welcome .academy-hero__filters::-webkit-scrollbar{display:none}
.bramy-academy--welcome .academy-hero__chip{
  display:inline-flex;align-items:center;gap:8px;
  flex:0 0 auto;white-space:nowrap;
  min-height:38px;padding:0 16px;
  border:1px solid rgba(255,255,255,.32);border-radius:999px;
  background:rgba(255,255,255,.06);color:#fff;
  font-family:inherit;font-size:13px;font-weight:600;cursor:pointer;
  transition:background .2s,border-color .2s,color .2s;
}
.bramy-academy--welcome .academy-hero__chip:hover{background:rgba(255,255,255,.12)}
.bramy-academy--welcome .academy-hero__chip.is-active{
  background:#fff;color:var(--navy);border-color:#fff;
}
.bramy-academy--welcome .academy-hero__chip-ic{
  width:18px;height:18px;flex:0 0 18px;
  background:center/contain no-repeat;opacity:.95;
}
.bramy-academy--welcome .academy-hero__chip-ic--finish{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8'%3E%3Cpath d='M4 5.5A1.5 1.5 0 0 1 5.5 4H18a2 2 0 0 1 2 2v13.5A1.5 1.5 0 0 1 18.5 20H6a2 2 0 0 0-2 2V5.5Z'/%3E%3Cpath d='M8 8h8M8 12h8'/%3E%3C/svg%3E")}
.bramy-academy--welcome .academy-hero__chip.is-active .academy-hero__chip-ic--finish{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2d50' stroke-width='1.8'%3E%3Cpath d='M4 5.5A1.5 1.5 0 0 1 5.5 4H18a2 2 0 0 1 2 2v13.5A1.5 1.5 0 0 1 18.5 20H6a2 2 0 0 0-2 2V5.5Z'/%3E%3Cpath d='M8 8h8M8 12h8'/%3E%3C/svg%3E")}
.bramy-academy--welcome .academy-hero__chip-ic--envelope{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8'%3E%3Cpath d='M4 20V8l8-5 8 5v12H4Z'/%3E%3Cpath d='M4 8l8 5 8-5'/%3E%3C/svg%3E")}
.bramy-academy--welcome .academy-hero__chip.is-active .academy-hero__chip-ic--envelope{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2d50' stroke-width='1.8'%3E%3Cpath d='M4 20V8l8-5 8 5v12H4Z'/%3E%3Cpath d='M4 8l8 5 8-5'/%3E%3C/svg%3E")}
.bramy-academy--welcome .academy-hero__chip-ic--projects{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8'%3E%3Cpath d='M6 4h12v16H6zM9 8h6M9 12h6M9 16h4'/%3E%3C/svg%3E")}
.bramy-academy--welcome .academy-hero__chip.is-active .academy-hero__chip-ic--projects{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2d50' stroke-width='1.8'%3E%3Cpath d='M6 4h12v16H6zM9 8h6M9 12h6M9 16h4'/%3E%3C/svg%3E")}
.bramy-academy--welcome .academy-hero__chip-ic--renovation{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8'%3E%3Cpath d='M14 3c3 0 5 2 5 5 0 4-3 7-7 7H8l-3 3v3h14a2 2 0 0 0 2-2V3Z'/%3E%3C/svg%3E")}
.bramy-academy--welcome .academy-hero__chip.is-active .academy-hero__chip-ic--renovation{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2d50' stroke-width='1.8'%3E%3Cpath d='M14 3c3 0 5 2 5 5 0 4-3 7-7 7H8l-3 3v3h14a2 2 0 0 0 2-2V3Z'/%3E%3C/svg%3E")}
.bramy-academy--welcome .academy-hero__chip-ic--planning{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='1.8'%3E%3Cpath d='M4 20V4h16v16H4Z'/%3E%3Cpath d='M8 8h8M8 12h5'/%3E%3C/svg%3E")}
.bramy-academy--welcome .academy-hero__chip.is-active .academy-hero__chip-ic--planning{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2d50' stroke-width='1.8'%3E%3Cpath d='M4 20V4h16v16H4Z'/%3E%3Cpath d='M8 8h8M8 12h5'/%3E%3C/svg%3E")}

/* ===== Feed — sidebar + article grid (compact) ===== */
.bramy-academy--welcome .academy-feed{
  position:relative;z-index:2;
  margin-top:clamp(-48px,-5vw,-32px);
  padding:clamp(20px,2.5vw,28px) 0 clamp(32px,3.5vw,44px);
  background:#f4f7fb;
  overflow-x:clip;
}
.bramy-academy--welcome .academy-feed__overlay{
  display:block;
  position:absolute;inset:0;z-index:0;pointer-events:none;
  background-color:#f4f7fb;
  background-position:center top;
  background-size:cover;
  background-repeat:no-repeat;
}
.bramy-academy--welcome .academy-layout,
.bramy-academy--welcome .academy-main,
.bramy-academy--welcome .academy-sidebar{
  background:transparent;
}
.bramy-academy--welcome .academy-feed .academy-container{
  position:relative;z-index:1;
  width:min(1400px,calc(100% - 48px));
}
.bramy-academy--welcome .academy-feed__head{
  direction:rtl;text-align:center;
  margin:0 0 clamp(14px,1.8vw,20px);
  padding:clamp(10px,1.2vw,14px) 0 clamp(12px,1.4vw,16px);
  background:transparent;
}
.bramy-academy--welcome .academy-feed__title{
  margin:0 0 6px;font-size:clamp(22px,2.2vw,28px);font-weight:800;
  line-height:1.15;color:var(--navy);letter-spacing:-.3px;
}
.bramy-academy--welcome .academy-feed__lead{
  margin:0 auto;max-width:520px;
  font-size:clamp(12px,1.1vw,14px);line-height:1.55;color:var(--muted);
}
.bramy-academy--welcome .academy-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(200px,228px);
  gap:clamp(12px,1.6vw,20px);
  direction:ltr;
  align-items:start;
}
.bramy-academy--welcome .academy-main{order:1}
.bramy-academy--welcome .academy-sidebar{order:2}
.bramy-academy--welcome .academy-sidebar{
  direction:rtl;position:sticky;top:calc(var(--academy-sticky-head) + 10px);align-self:start;
}
.bramy-academy--welcome .academy-sidebar__title{
  margin:0 0 10px;padding-bottom:6px;
  font-size:clamp(16px,1.6vw,18px);font-weight:800;color:var(--navy);
  border-bottom:2px solid var(--blue);
  display:inline-block;line-height:1.2;
}
.bramy-academy--welcome .academy-sidebar__nav{
  display:flex;flex-direction:column;gap:8px;
}
.bramy-academy--welcome .academy-sidebar__cat{
  display:flex;align-items:center;gap:10px;width:100%;
  padding:11px 13px;border:0;border-radius:10px;
  background:#fff;color:var(--text);text-align:right;
  font-family:inherit;cursor:pointer;
  box-shadow:0 1px 8px rgba(13,43,80,.05);
  transition:background .2s,box-shadow .2s;
  position:relative;
}
.bramy-academy--welcome .academy-sidebar__cat:hover{
  box-shadow:0 4px 14px rgba(13,43,80,.08);
}
.bramy-academy--welcome .academy-sidebar__cat.is-active{
  background:#e3f0fb;
  box-shadow:0 4px 16px rgba(45,142,216,.12);
}
.bramy-academy--welcome .academy-sidebar__cat.is-active::after{
  content:"";position:absolute;top:50%;right:100%;left:auto;
  transform:translateY(-50%);
  border:7px solid transparent;border-right-color:#e3f0fb;
}
.bramy-academy--welcome .academy-sidebar__cat-ic{
  flex:0 0 34px;width:34px;height:34px;border-radius:8px;
  background-color:#e8f2fc;background-position:center;background-size:18px;background-repeat:no-repeat;
}
.bramy-academy--welcome .academy-sidebar__cat-ic--finish{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2d50' stroke-width='1.8'%3E%3Cpath d='M4 5.5A1.5 1.5 0 0 1 5.5 4H18a2 2 0 0 1 2 2v13.5A1.5 1.5 0 0 1 18.5 20H6a2 2 0 0 0-2 2V5.5Z'/%3E%3Cpath d='M8 8h8M8 12h8'/%3E%3C/svg%3E")}
.bramy-academy--welcome .academy-sidebar__cat-ic--envelope{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2d50' stroke-width='1.8'%3E%3Cpath d='M4 20V8l8-5 8 5v12H4Z'/%3E%3Cpath d='M4 8l8 5 8-5'/%3E%3C/svg%3E")}
.bramy-academy--welcome .academy-sidebar__cat-ic--projects{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2d50' stroke-width='1.8'%3E%3Cpath d='M6 4h12v16H6zM9 8h6M9 12h6M9 16h4'/%3E%3C/svg%3E")}
.bramy-academy--welcome .academy-sidebar__cat-ic--renovation{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2d50' stroke-width='1.8'%3E%3Cpath d='M14 3c3 0 5 2 5 5 0 4-3 7-7 7H8l-3 3v3h14a2 2 0 0 0 2-2V3Z'/%3E%3C/svg%3E")}
.bramy-academy--welcome .academy-sidebar__cat-ic--planning{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2d50' stroke-width='1.8'%3E%3Cpath d='M4 20V4h16v16H4Z'/%3E%3Cpath d='M8 8h8M8 12h5'/%3E%3C/svg%3E")}
.bramy-academy--welcome .academy-sidebar__cat-ic--contracts{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2d50' stroke-width='1.8'%3E%3Cpath d='M7 4h10a2 2 0 0 1 2 2v14l-4-2-4 2-4-2-4 2V6a2 2 0 0 1 2-2Z'/%3E%3Cpath d='M9 9h6M9 13h4'/%3E%3C/svg%3E")}
.bramy-academy--welcome .academy-sidebar__cat-text{
  display:flex;flex-direction:column;gap:1px;min-width:0;
}
.bramy-academy--welcome .academy-sidebar__cat-text strong{
  font-size:12px;font-weight:800;color:var(--navy);line-height:1.25;
}
.bramy-academy--welcome .academy-sidebar__cat-text span{
  font-size:10px;line-height:1.35;color:#8b97a8;font-weight:400;
  display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;
}
.bramy-academy--welcome .academy-main{
  direction:rtl;min-width:0;
}
.bramy-academy--welcome .academy-layout--domains{
  display:block;
}
.bramy-academy--welcome .academy-domains{
  display:flex;flex-direction:column;gap:0;width:100%;
}
.bramy-academy--welcome .academy-domain-row{
  display:grid;
  grid-template-columns:minmax(168px,200px) minmax(0,1fr);
  gap:clamp(12px,1.5vw,18px);
  align-items:stretch;
  padding:clamp(16px,2vw,22px) 0;
  border-bottom:1px solid #e8edf3;
  direction:rtl;
}
.bramy-academy--welcome .academy-domain-row:first-child{padding-top:0}
.bramy-academy--welcome .academy-domain-row:last-child{border-bottom:0;padding-bottom:0}
.bramy-academy--welcome .academy-domain-row.is-hidden{display:none}
.bramy-academy--welcome .academy-domain-row__label{
  display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;
  gap:0;text-align:center;overflow:hidden;
  padding:0;border-radius:12px;
  background:#fff;border:1px solid #e3e8ef;
  box-shadow:0 3px 14px rgba(13,43,80,.05);
}
.bramy-academy--welcome .academy-domain-row__label:not(.has-cover){
  align-items:center;justify-content:center;gap:10px;padding:14px 12px;
}
.bramy-academy--welcome .academy-domain-row__label-cover{
  display:block;aspect-ratio:4/3;overflow:hidden;background:#eef2f6;
}
.bramy-academy--welcome .academy-domain-row__label-cover img{
  width:100%;height:100%;object-fit:cover;
}
.bramy-academy--welcome .academy-domain-row__label.has-cover .academy-domain-row__text{
  padding:12px 10px 14px;
}
.bramy-academy--welcome .academy-domain-row__text h3{
  margin:0 0 4px;font-size:15px;font-weight:800;color:var(--navy);line-height:1.25;
}
.bramy-academy--welcome .academy-domain-row__text p{
  margin:0;font-size:11px;line-height:1.45;color:#8b97a8;
}
.bramy-academy--welcome .academy-domain-row__count{
  display:inline-block;margin-top:8px;padding:3px 10px;border-radius:999px;
  background:#e8f2fc;color:#0b2d50;font-size:10px;font-weight:700;
}
.bramy-academy--welcome .academy-domain-row__ic{
  flex:0 0 42px;width:42px;height:42px;border-radius:10px;
  background-color:#e8f2fc;background-position:center;background-size:20px;background-repeat:no-repeat;
}
.bramy-academy--welcome .academy-domain-row__ic--finish{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2d50' stroke-width='1.8'%3E%3Cpath d='M4 5.5A1.5 1.5 0 0 1 5.5 4H18a2 2 0 0 1 2 2v13.5A1.5 1.5 0 0 1 18.5 20H6a2 2 0 0 0-2 2V5.5Z'/%3E%3Cpath d='M8 8h8M8 12h8'/%3E%3C/svg%3E")}
.bramy-academy--welcome .academy-domain-row__ic--envelope{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2d50' stroke-width='1.8'%3E%3Cpath d='M4 20V8l8-5 8 5v12H4Z'/%3E%3Cpath d='M4 8l8 5 8-5'/%3E%3C/svg%3E")}
.bramy-academy--welcome .academy-domain-row__ic--projects{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2d50' stroke-width='1.8'%3E%3Cpath d='M6 4h12v16H6zM9 8h6M9 12h6M9 16h4'/%3E%3C/svg%3E")}
.bramy-academy--welcome .academy-domain-row__ic--renovation{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2d50' stroke-width='1.8'%3E%3Cpath d='M14 3c3 0 5 2 5 5 0 4-3 7-7 7H8l-3 3v3h14a2 2 0 0 0 2-2V3Z'/%3E%3C/svg%3E")}
.bramy-academy--welcome .academy-domain-row__ic--planning{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2d50' stroke-width='1.8'%3E%3Cpath d='M4 20V4h16v16H4Z'/%3E%3Cpath d='M8 8h8M8 12h5'/%3E%3C/svg%3E")}
.bramy-academy--welcome .academy-domain-row__ic--contracts{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2d50' stroke-width='1.8'%3E%3Cpath d='M7 4h10a2 2 0 0 1 2 2v14l-4-2-4 2-4-2-4 2V6a2 2 0 0 1 2-2Z'/%3E%3Cpath d='M9 9h6M9 13h4'/%3E%3C/svg%3E")}
.bramy-academy--welcome .academy-domain-row__track{
  display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;
  scrollbar-width:thin;padding-bottom:4px;
  overscroll-behavior-x:contain;min-width:0;
}
.bramy-academy--welcome .academy-domain-row__track::-webkit-scrollbar{height:6px}
.bramy-academy--welcome .academy-domain-row__track::-webkit-scrollbar-thumb{background:#d1dbe8;border-radius:999px}
.bramy-academy--welcome .academy-domain-row__track .academy-card{
  flex:0 0 calc((100% - 56px) / 5);
  min-width:168px;max-width:240px;
  scroll-snap-align:start;
}
.bramy-academy--welcome .academy-domain-row__track .academy-card__badge{display:none}
.bramy-academy--welcome .academy-card{
  display:flex;flex-direction:column;overflow:hidden;
  background:#fff;border:1px solid #e3e8ef;border-radius:12px;
  box-shadow:0 3px 14px rgba(13,43,80,.05);
  transition:transform .2s ease,box-shadow .2s ease;
}
.bramy-academy--welcome .academy-card:hover{
  transform:translateY(-2px);box-shadow:0 8px 22px rgba(13,43,80,.08);
}
.bramy-academy--welcome .academy-card__media{
  display:block;position:relative;aspect-ratio:16/10;overflow:hidden;background:#eef2f6;
}
.bramy-academy--welcome .academy-card__media img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .4s ease;
}
.bramy-academy--welcome .academy-card:hover .academy-card__media img{transform:scale(1.03)}
.bramy-academy--welcome .academy-card__badge{
  position:absolute;top:8px;inset-inline-start:8px;
  padding:3px 8px;border-radius:5px;
  background:rgba(45,142,216,.92);color:#fff;
  font-size:10px;font-weight:700;
  box-shadow:0 1px 6px rgba(0,0,0,.1);
}
.bramy-academy--welcome .academy-card__body{
  display:flex;flex-direction:column;flex:1;padding:14px 14px 12px;text-align:center;
}
.bramy-academy--welcome .academy-card h3{
  margin:0 0 8px;font-size:clamp(14px,1.2vw,16px);line-height:1.4;font-weight:800;color:var(--navy);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.bramy-academy--welcome .academy-card h3 a{color:inherit;text-decoration:none}
.bramy-academy--welcome .academy-card h3 a:hover{color:var(--blue)}
.bramy-academy--welcome .academy-card__excerpt{
  margin:0;font-size:clamp(12px,1vw,13px);line-height:1.55;color:#7b8796;text-align:center;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.bramy-academy--welcome .academy-filter-item.is-hidden{display:none}
.bramy-academy--welcome .academy-empty{
  margin:24px 0 0;padding:20px;text-align:center;border-radius:10px;
  background:#fff;color:var(--muted);font-size:14px;
}

@media (max-width:1200px){
  .bramy-academy--welcome .academy-hero{
    min-height:clamp(480px,58vw,620px);
    background-position:center top;
  }
}
@media (max-width:992px){
  .bramy-academy--welcome .academy-domain-row{
    grid-template-columns:1fr;
  }
  .bramy-academy--welcome .academy-domain-row__label:not(.has-cover){
    flex-direction:row;align-items:center;text-align:right;gap:12px;padding:14px 12px;
  }
  .bramy-academy--welcome .academy-domain-row__label.has-cover .academy-domain-row__label-cover{
    aspect-ratio:16/9;
  }
  .bramy-academy--welcome .academy-domain-row__label.has-cover .academy-domain-row__text{
    text-align:right;padding:12px 14px 14px;
  }
  .bramy-academy--welcome .academy-domain-row__text{text-align:right}
  .bramy-academy--welcome .academy-domain-row__track .academy-card{
    flex:0 0 min(68vw,240px);min-width:0;max-width:none;
  }
}
@media (max-width:768px){
  .bramy-academy .academy-container{width:calc(100% - 32px)}
  .bramy-academy--welcome .academy-hero__body .academy-container{justify-content:center}
  .bramy-academy--welcome .academy-hero__inner{max-width:none;flex:1 1 auto}
  .bramy-academy--welcome .academy-hero__filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}
  .bramy-academy--welcome .academy-hero__chip{white-space:nowrap;flex:0 0 auto}
}
@media (max-width:520px){
  .bramy-academy--welcome .academy-feed .academy-container{width:calc(100% - 28px)}
  .bramy-academy--welcome .academy-domain-row__track .academy-card{
    flex:0 0 min(82vw,280px);
  }
}

/* Legacy articles showcase (before contact) ===== */
.articles-showcase{
  position:relative;overflow:hidden;
  background:#0b2d58;
  font-family:var(--font,'Heebo',sans-serif);
}
.articles-showcase__bg{
  position:absolute;inset:0;z-index:0;
  width:100%;height:100%;
  object-fit:fill;
  pointer-events:none;
}
.articles-showcase__shell{
  position:relative;z-index:2;
  overflow:hidden;
}
.articles-showcase__head{
  min-height:clamp(230px,19vw,272px);
  padding:clamp(36px,3.8vw,48px) clamp(20px,4vw,40px) clamp(60px,5.2vw,72px);
  width:min(820px,100%);margin:0 auto;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;
}
.articles-showcase__head h2{
  margin:0 0 10px;color:#102d58;font-size:clamp(26px,2.7vw,36px);line-height:1.16;font-weight:900;
}
.articles-showcase__head h2::after{
  content:"";display:block;width:52px;height:3px;margin:11px auto 0;background:#2497ef;
}
.articles-showcase__lead{
  margin:0;max-width:640px;color:#5c6572;font-size:clamp(14px,1.2vw,16px);line-height:1.62;
}

/* ===== Home article cards (mockup grid) ===== */
.articles-section{
  direction:rtl;
  font-family:"Heebo",var(--font,sans-serif);
  position:relative;z-index:3;
  width:100%;
  margin:-54px auto 0;
  padding:0 0 80px;
}
.articles-section__empty{
  position:relative;z-index:3;
  max-width:1500px;margin:-20px auto 0;padding:0 30px 60px;
  text-align:center;color:#5c6572;font-size:16px;
}
.bramy-articles{width:100%}
.bramy-articles-grid{
  width:min(94%,1500px);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:26px;
}
.bramy-article-card{
  position:relative;
  display:flex;flex-direction:column;
  background:#fff;
  border:1px solid #e7ebf1;
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 4px 14px rgba(15,42,78,.04),0 12px 32px rgba(15,42,78,.05);
  transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.bramy-article-card:hover{
  transform:translateY(-5px);
  border-color:#d8e0ea;
  box-shadow:0 8px 20px rgba(15,42,78,.06),0 18px 42px rgba(15,42,78,.08);
}
.bramy-article-image{
  position:relative;
  width:100%;
  aspect-ratio:16/10;
  overflow:hidden;
  background:#eef1f5;
}
.bramy-article-image a{display:block;width:100%;height:100%}
.bramy-article-image img{
  width:100%;height:100%;
  display:block;
  object-fit:cover;
  transition:transform .55s ease;
}
.bramy-article-card:hover .bramy-article-image img{transform:scale(1.025)}
.bramy-article-category{
  position:absolute;top:18px;right:18px;
  display:inline-flex;align-items:center;gap:7px;
  padding:8px 13px;
  background:rgba(255,255,255,.96);
  color:#153b69;
  border:1px solid rgba(20,60,105,.08);
  border-radius:8px;
  font-size:14px;font-weight:600;line-height:1;
  box-shadow:0 3px 10px rgba(15,42,78,.08);
}
.category-dot{
  width:6px;height:6px;flex:0 0 6px;
  border-radius:50%;
  background:#2296ee;
}
.bramy-article-content{
  flex:1;
  display:flex;flex-direction:column;
  padding:23px 25px 24px;
  text-align:right;
}
.bramy-article-meta{
  display:flex;align-items:center;gap:12px;
  margin-bottom:18px;
  color:#7d8794;
  font-size:13px;font-weight:400;
}
.meta-divider{
  width:1px;height:14px;
  background:#d7dde4;
}
.bramy-article-title{
  margin:0 0 10px;
  color:#112f55;
  font-size:24px;font-weight:700;
  line-height:1.3;
  letter-spacing:-.3px;
}
.bramy-article-title a{
  color:inherit;text-decoration:none;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;
}
.bramy-article-title a:hover{color:#126eb9}
.bramy-article-description{
  margin:0 0 28px;
  color:#727d8b;
  font-size:16px;font-weight:400;line-height:1.8;
  display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;
}
.bramy-article-link{
  width:fit-content;
  margin-top:auto;
  display:inline-flex;align-items:center;gap:9px;
  position:relative;
  color:#126eb9;
  font-size:15px;font-weight:700;
  text-decoration:none;
  padding-bottom:7px;
}
.bramy-article-link::after{
  content:"";
  position:absolute;right:0;bottom:0;
  width:38px;height:2px;
  background:#2296ee;
  transition:width .25s ease;
}
.bramy-article-link:hover::after{width:100%}
.bramy-article-link .article-arrow{
  font-size:17px;
  transition:transform .25s ease;
}
.bramy-article-link:hover .article-arrow{transform:translateX(-4px)}
.articles-showcase__foot{
  display:flex;justify-content:center;
  margin-top:clamp(28px,3vw,36px);
  padding-inline:16px;
}
.articles-showcase__all{
  display:inline-flex;align-items:center;gap:10px;
  padding:14px 28px;
  border:1px solid #153b69;
  border-radius:999px;
  background:rgba(232,238,246,.72);
  color:#153b69;
  font-size:15px;font-weight:700;
  text-decoration:none;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.articles-showcase__all:hover{
  background:#fff;
  border-color:#2296ee;
  transform:translateY(-1px);
}
.articles-showcase__all .article-arrow{font-size:17px}
@media(max-width:1100px){
  .bramy-articles-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:650px){
  .articles-section{padding-bottom:56px}
  .bramy-articles-grid{
    width:calc(100% - 32px);
    grid-template-columns:1fr;
    gap:22px;
  }
  .bramy-article-card{border-radius:15px}
  .bramy-article-content{padding:20px}
  .bramy-article-title{font-size:22px}
  .bramy-article-description{font-size:15px}
  .bramy-article-category{
    top:14px;right:14px;
    padding:7px 11px;
    font-size:13px;
  }
}
@media(max-width:900px){
  .articles-showcase__head{
    min-height:clamp(196px,29vw,238px);
    padding-bottom:clamp(64px,10vw,76px);
  }
  .articles-section{margin-top:-48px;padding-bottom:64px}
}
@media(max-width:640px){
  .articles-showcase__head{
    min-height:0;padding:26px 16px 62px;
  }
  .articles-section{margin-top:-44px}
  .articles-showcase__head h2{font-size:clamp(26px,7vw,34px)}
}
@media(min-width:901px){
  .articles-showcase__bg{object-fit:fill}
}
@media(max-width:900px){
  .articles-showcase__bg{object-fit:cover;object-position:center top}
}

.home-contact{min-height:560px;background:#062b58 center/cover no-repeat;color:#fff;display:flex;align-items:center;padding:48px clamp(24px,8vw,120px);position:relative;overflow:visible;z-index:1}
.home-contact__grid{width:100%;max-width:1100px;margin:auto;display:grid;grid-template-columns:minmax(340px,420px) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:center;direction:ltr;position:relative;z-index:1}
.home-contact__form{width:100%;background:#fff;border-radius:18px;box-shadow:0 22px 48px rgba(0,14,37,.28);padding:28px 26px 24px;direction:rtl;color:#173866}
.home-contact__form h2{font-size:23px;text-align:center;margin:0 0 18px;color:#153967;font-weight:800}
.home-contact__row{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.home-contact__lab{display:block;font-size:13px;font-weight:700;color:#3d5473;margin:0 0 6px 2px}
.home-contact__field{width:100%;height:46px;border:1.5px solid #dce4ec;border-radius:8px;background:#fff;padding:0 14px;margin:0 0 14px;color:#263f60;font:15px var(--font);text-align:right;appearance:none}
.home-contact__field:focus{outline:none;border-color:#0e7aab;box-shadow:0 0 0 3px rgba(14,122,171,.15)}
.home-contact select.home-contact__field{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236b7c93' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:left 14px center;padding-inline-start:34px}
.home-contact textarea.home-contact__field{height:84px;padding-top:12px;resize:vertical}
.home-contact__form button{width:100%;height:50px;border:0;border-radius:8px;background:#0e7aab;color:#fff;font:800 16px var(--font);cursor:pointer;box-shadow:0 10px 20px rgba(14,122,171,.28);margin-top:4px}
.home-contact__form button:hover{background:#159ce0}
.home-contact__content{direction:rtl;text-align:right;align-self:center;justify-self:end;width:fit-content;max-width:min(520px,100%);margin:0;padding:8px 0}
.home-contact__content h2{margin:0;color:#fff;font-size:clamp(30px,2.9vw,44px);line-height:1.14;font-weight:900}
.home-contact__content > p{font-size:clamp(15px,1.15vw,17px);line-height:1.65;color:rgba(255,255,255,.9);margin:14px 0 20px}
.home-contact__details{width:fit-content;max-width:100%;margin:0 0 0 auto;border:0;border-block:1px solid rgba(41,184,239,.55);padding:0;display:flex;flex-direction:column;align-items:stretch;gap:0;font-size:16px;color:#fff;background:transparent;direction:ltr}
.home-contact__details a{display:flex;align-items:center;gap:11px;color:#fff;text-decoration:none;white-space:nowrap;direction:ltr;padding:11px 2px;background:transparent;border:0;font-weight:600;letter-spacing:.01em}
.home-contact__details a + a{border-top:1px solid rgba(41,184,239,.55)}
.home-contact__details a:hover{color:#33c0f5}
.home-contact__ico{display:grid;place-items:center;color:#25bdf3;flex:0 0 auto;border:0;background:none;width:auto;height:auto;border-radius:0;padding:0}
.home-contact__ico svg{width:20px;height:20px;display:block}
.home-contact__tags{display:flex;width:fit-content;max-width:100%;margin:12px 0 0 auto;justify-content:flex-start;gap:14px;color:#fff;font-size:13.5px;font-weight:600;direction:rtl}
.home-contact__tags span+span{border-inline-start:1.5px solid rgba(255,255,255,.55);padding-inline-start:14px}
@media(max-width:900px){
  .home-contact{
    min-height:0;margin-top:0;padding:36px 16px 28px;
    background-position:68% center;overflow:hidden;position:relative;
  }
  .home-contact::before{
    content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
    background:linear-gradient(180deg,rgba(4,28,58,.78) 0%,rgba(4,28,58,.62) 45%,rgba(4,28,58,.82) 100%);
  }
  .home-contact__grid{position:relative;z-index:1;grid-template-columns:1fr;gap:22px;max-width:480px}
  .home-contact__content{order:1;text-align:center;padding:4px 4px 0;max-width:none;width:100%;margin:0;justify-self:stretch}
  .home-contact__content h2{font-size:clamp(26px,7.2vw,34px);text-shadow:0 2px 14px rgba(0,0,0,.25)}
  .home-contact__content>p{font-size:14.5px;margin:12px auto 16px;max-width:34ch;line-height:1.7}
  .home-contact__details{margin:0 auto;font-size:15px}
  .home-contact__details a{justify-content:center;padding:10px 2px}
  .home-contact__tags{margin:14px auto 0;justify-content:center;font-size:13px}
  .home-contact__form{
    order:2;padding:22px 18px 20px;max-width:100%;width:100%;margin:0;
    border-radius:14px;box-shadow:0 16px 36px rgba(0,10,30,.28);
  }
  .home-contact__form h2{font-size:20px;margin-bottom:14px}
  .home-contact__row{grid-template-columns:1fr;gap:0}
  .home-contact__lab{font-size:12.5px;margin-bottom:5px}
  .home-contact__field{height:44px;font-size:15px;margin-bottom:12px;padding:0 13px}
  .home-contact textarea.home-contact__field{height:76px;padding-top:11px}
  .home-contact__form button{height:48px;font-size:15.5px}
}
@media (prefers-reduced-motion:reduce){
  .faq-page__chev,.faq-page__chev::before{transition:none}
}

/* ═══════════════════════════════════════════════════════════════════════════
   Home FAQ showcase — hero + numbered cards grid + CTA (mockup 1:1)
   ═══════════════════════════════════════════════════════════════════════════ */
.home-faq{
  position:relative;overflow:hidden;
  background:#fff;color:#12294C;
  font-family:"Heebo",var(--font,sans-serif);
}
.home-faq--embed .home-faq__body::before{display:none}
.home-faq__intro{
  max-width:1180px;margin:0 auto;
  padding:clamp(28px,3vw,40px) clamp(20px,3vw,40px) 0;
  text-align:center;
}
.home-faq__intro-title{
  margin:0;
  font-size:clamp(28px,3vw,40px);line-height:1.12;font-weight:900;
  color:#0b2d59;letter-spacing:-.02em;
}
.home-faq__intro-lead{
  margin:12px auto 0;max-width:720px;
  font-size:clamp(15px,1.6vw,17px);line-height:1.7;font-weight:500;
  color:#4a5a70;
}
.home-faq--embed .home-faq__body{
  padding-top:clamp(12px,2vw,20px);
}
.article-main .home-faq--embed{
  margin:clamp(28px,4vw,48px) 0 clamp(8px,1.5vw,16px);
  border-top:1px solid rgba(18,41,76,.08);
  padding-top:clamp(8px,1.5vw,16px);
}
.article-main .home-faq--embed .home-faq__intro{
  padding-inline:0;text-align:start;
}
.article-main .home-faq--embed .home-faq__intro-title{
  font-size:clamp(24px,2.6vw,32px);
}
.article-main .home-faq--embed .home-faq__intro-lead{
  margin-inline:0;max-width:640px;
}
.home-faq__hero{
  position:relative;min-height:0;
  padding:clamp(40px,4.5vw,52px) clamp(24px,4vw,48px) clamp(28px,3vw,36px);
  background-color:#08274b;
  background-image:var(--home-faq-blueprint);
  background-position:center;
  background-size:cover;
  background-repeat:no-repeat;
}
.home-faq__hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(4,37,76,.28) 0%,rgba(4,37,76,.52) 100%);
}
.home-faq__hero-in{
  position:relative;z-index:1;max-width:1180px;margin:0 auto;text-align:center;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
}
.home-faq__title{
  margin:0;width:100%;text-align:center;
  font-size:clamp(44px,4.8vw,64px);line-height:1.08;font-weight:900;letter-spacing:-.02em;
  color:#fff;
  text-shadow:0 2px 24px rgba(0,0,0,.28);
}
.home-faq__lead{
  margin:16px auto 0;max-width:58ch;
  font-size:clamp(15px,1.25vw,17px);line-height:1.75;color:rgba(255,255,255,.9);
}
.home-faq__body{
  position:relative;
  max-width:1180px;margin:0 auto;
  padding:clamp(28px,3.5vw,40px) clamp(24px,3.5vw,40px) clamp(32px,4vw,48px);
  background:#fff;
}
.home-faq__body::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.97) 18%,#fff 100%),
    var(--home-faq-marble) center top/cover no-repeat;
  opacity:1;
}
.home-faq__grid{
  position:relative;z-index:1;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;
  align-items:start;
}
.home-faq__col{
  display:flex;flex-direction:column;gap:16px;min-width:0;
}
.home-faq__card{
  position:relative;
  background:#fff;border:1px solid rgba(18,41,76,.08);border-radius:12px;
  box-shadow:0 12px 32px rgba(18,41,76,.08);
  overflow:hidden;
}
.home-faq__card-head{
  list-style:none;cursor:pointer;
  display:grid;grid-template-columns:32px 1fr minmax(44px,auto);gap:16px;align-items:start;
  padding:20px 22px;direction:ltr;
}
.home-faq__card[open] .home-faq__card-head{padding-bottom:0}
.home-faq__card-head::-webkit-details-marker{display:none}
.home-faq__chev{
  width:32px;height:32px;position:relative;flex:none;margin-top:2px;
  border:1px solid rgba(18,41,76,.14);border-radius:50%;color:#5b6b82;
  transition:border-color .2s ease,color .2s ease;
}
.home-faq__chev::before{
  content:"";position:absolute;left:50%;top:50%;
  width:7px;height:7px;margin:-5px 0 0 -4px;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(-135deg);transition:transform .2s ease;
}
.home-faq__card[open] .home-faq__chev::before{transform:rotate(45deg);margin-top:-3px}
.home-faq__card[open] .home-faq__chev{color:#0e7aab;border-color:rgba(14,122,171,.35)}
.home-faq__q{
  margin:0;padding-top:2px;min-width:0;
  font-size:clamp(14px,1vw,15.5px);font-weight:700;line-height:1.45;color:#0d315b;
  direction:rtl;text-align:right;
}
.home-faq__card[open] .home-faq__q{color:#0f6fa3}
.home-faq__a-wrap{
  padding:8px 22px 20px 64px;direction:rtl;text-align:right;
}
.home-faq__card:not([open]) .home-faq__a-wrap{display:none}
.home-faq__a{
  margin:0;font-size:13.5px;line-height:1.7;color:#5b6b82;
}
.home-faq__num{
  display:block;align-self:start;
  font-size:clamp(36px,2.6vw,46px);font-weight:300;line-height:1;
  font-variant-numeric:tabular-nums;
  color:transparent;-webkit-text-stroke:1px #9ccfec;opacity:.88;
  pointer-events:none;user-select:none;padding-top:2px;
}
.home-faq__cta{
  position:relative;z-index:1;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  margin-top:clamp(24px,3vw,32px);
  padding:clamp(22px,2.5vw,28px) 0 0;
}
.home-faq__cta-copy{
  position:relative;z-index:1;
  display:flex;flex-direction:column;gap:4px;
}
.home-faq__cta-copy strong{font-size:clamp(20px,2vw,26px);font-weight:900;color:#0b2d59}
.home-faq__cta-copy span{font-size:16px;color:#5b6b82}
.home-faq__cta-btn{
  position:relative;z-index:1;
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-width:200px;height:56px;padding:0 30px;
  border-radius:8px;background:#0b2d59;color:#fff;
  font-size:16px;font-weight:800;text-decoration:none;
  box-shadow:0 12px 28px rgba(11,45,89,.18);
  transition:transform .2s ease,background .2s ease;
}
.home-faq__cta-btn:hover{background:#12386d;transform:translateY(-2px)}
@media (max-width:960px){
  .home-faq__hero{padding:36px 18px 24px}
  .home-faq__title{
    white-space:nowrap;
    font-size:clamp(18px,5.2vw,34px);
    letter-spacing:-.03em;
    line-height:1.15;
    max-width:100%;
  }
  .home-faq__grid{grid-template-columns:1fr;gap:12px}
  .home-faq__col{gap:12px}
  .home-faq__card-head{grid-template-columns:28px 1fr minmax(40px,auto);gap:12px;padding:16px 16px 0}
  .home-faq__num{font-size:34px;padding-top:0}
  .home-faq__a-wrap{padding:8px 16px 16px 52px}
  .home-faq__cta{flex-direction:column;align-items:stretch;text-align:center}
  .home-faq__cta-btn{width:100%;max-width:320px;margin:0 auto}
}
@media (hover:hover){
  .home-faq__card:not([open]) .home-faq__card-head:hover .home-faq__q{color:#0e7aab}
}

/* ═══════════════════════════════════════════════════════════════════════════
   Services page — תחומי הפעילות (hero tiles + tabs + detail columns)
   ═══════════════════════════════════════════════════════════════════════════ */
.services-page{background:#fff;color:#12294C}
.services-hero{
  position:relative;overflow:hidden;
  background:#f4f6f8 var(--svc-blueprint) right -8% center / min(52%,620px) auto no-repeat;
}
.services-hero__layout{
  display:grid;
  grid-template-columns:minmax(280px,.92fr) minmax(360px,1.2fr);
  direction:rtl;
  align-items:stretch;
  min-height:clamp(560px,62vh,720px);
  max-width:1320px;margin:0 auto;
}
.services-hero__intro{
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start;
  padding:clamp(48px,6vw,90px) clamp(28px,4vw,64px);
  text-align:right;
}
.services-hero__eyebrow{
  display:inline-flex;align-items:center;gap:14px;
  margin:0 0 20px;color:#0e7aab;font-size:15px;font-weight:700;
}
.services-hero__eyebrow::before{
  content:"";width:42px;height:2px;background:#0e7aab;flex:0 0 auto;
}
.services-hero__title{
  margin:0;font-size:clamp(36px,3.6vw,56px);line-height:1.12;font-weight:900;
  letter-spacing:-.02em;color:#12294C;
}
.services-hero__lead{
  margin:18px 0 28px;max-width:34ch;font-size:clamp(15px,1.15vw,18px);
  line-height:1.7;color:#5b6b82;
}
.services-hero__cta{
  display:inline-flex;align-items:center;gap:14px;
  min-height:52px;padding:14px 24px;
  background:#0e7aab;color:#fff!important;border-radius:2px;
  font-size:15px;font-weight:800;text-decoration:none;
  box-shadow:0 10px 24px rgba(14,122,171,.28);
  transition:background .18s ease,transform .18s ease;
}
.services-hero__cta:hover{background:#159ce0;color:#fff!important;transform:translateY(-1px)}
.services-hero__cta:active{transform:scale(.98)}

.services-hero__tiles{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  direction:rtl;gap:0;min-height:100%;background:#0d2d59;
}
.services-hero__tile{
  position:relative;isolation:isolate;min-width:0;overflow:hidden;color:#fff;
  border-inline-start:3px solid #fff;text-decoration:none;
  outline-offset:-6px;transition:transform .22s cubic-bezier(.23,1,.32,1);
}
.services-hero__tile:last-child{border-inline-start:0}
.services-hero__tile img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;
  transition:transform .25s ease;
}
.services-hero__tile::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(to bottom,rgba(7,30,61,0) 28%,rgba(8,35,71,.35) 55%,rgba(7,30,61,.96) 100%);
}
.services-hero__meta{
  position:absolute;inset-inline:0;bottom:clamp(36px,4vw,64px);
  display:flex;flex-direction:column;align-items:center;text-align:center;padding:18px;gap:10px;
}
.services-hero__num{font-size:clamp(28px,2.2vw,40px);font-weight:300;line-height:1;color:#fff}
.services-hero__name{font-size:clamp(16px,1.3vw,22px);font-weight:800;line-height:1.25;color:#fff}
.services-hero__tile.is-active::after,
.services-hero__tile:hover::after{background:linear-gradient(to bottom,rgba(7,30,61,0) 22%,rgba(8,35,71,.28) 50%,rgba(7,30,61,.92) 100%)}
@media(hover:hover){
  .services-hero__tile:hover{transform:translateY(-6px)}
  .services-hero__tile:hover img{transform:scale(1.04)}
}

.services-tabs{background:#0d2d59;color:#fff}
.services-tabs__inner{
  max-width:1320px;margin:0 auto;
  display:flex;justify-content:flex-start;align-items:stretch;
  direction:rtl;gap:0;padding:0 clamp(16px,3vw,40px);
}
.services-tabs__btn{
  appearance:none;border:0;background:transparent;color:rgba(255,255,255,.72);
  font:700 15px var(--font);cursor:pointer;
  display:inline-flex;align-items:center;gap:10px;
  padding:18px 22px;position:relative;
  transition:color .18s ease;
}
.services-tabs__btn:hover{color:#fff}
.services-tabs__btn.is-active{color:#fff}
.services-tabs__btn.is-active::after{
  content:"";position:absolute;left:50%;bottom:0;transform:translate(-50%,100%);
  width:0;height:0;
  border-inline:9px solid transparent;
  border-top:10px solid #0d2d59;
}
.services-tabs__num{color:#0e7aab;font-weight:800}
.services-tabs__btn.is-active .services-tabs__num{color:#7ad4ff}

.services-details{background:#fff;padding:clamp(36px,5vw,64px) clamp(16px,3vw,40px) clamp(48px,6vw,80px)}
.services-details__grid{
  max-width:1320px;margin:0 auto;
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  direction:rtl;gap:0;
}
.services-details__card{
  padding:clamp(22px,2.5vw,36px) clamp(18px,2.2vw,32px);
  border-inline-start:1px solid rgba(18,41,76,.12);
  display:flex;flex-direction:column;align-items:flex-start;text-align:right;
  min-height:260px;transition:background .18s ease;
}
.services-details__card:last-child{border-inline-start:0}
.services-details__card.is-active{background:#f7fbfe}
.services-details__num{
  font-size:clamp(36px,3vw,52px);font-weight:300;line-height:1;color:#0e7aab;margin-bottom:14px;
}
.services-details__title{
  margin:0 0 12px;font-size:clamp(18px,1.4vw,22px);font-weight:900;color:#12294C;
}
.services-details__copy{
  margin:0;font-size:15px;line-height:1.75;color:#5b6b82;max-width:36ch;
}
.services-details__more{
  margin-top:auto;padding-top:22px;
  color:#0e7aab;font-size:22px;line-height:1;text-decoration:none;
  transition:transform .18s ease,color .18s ease;
}
.services-details__more:hover{color:#0f6fa3;transform:translateX(-3px)}

@media(max-width:960px){
  .services-hero{background-size:min(80%,480px) auto;background-position:center top}
  .services-hero__layout{grid-template-columns:1fr;min-height:0}
  .services-hero__intro{align-items:center;text-align:center;padding:40px 20px 28px}
  .services-hero__eyebrow{justify-content:center}
  .services-hero__lead{margin-inline:auto}
  .services-hero__tiles{
    order:2;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;
    scrollbar-width:none;gap:3px;background:#fff;min-height:0;
  }
  .services-hero__tiles::-webkit-scrollbar{display:none}
  .services-hero__tile{
    flex:0 0 min(78vw,340px);height:min(108vw,460px);
    border:0;scroll-snap-align:start;
  }
  .services-tabs__inner{justify-content:center;flex-wrap:wrap;padding:6px 10px}
  .services-tabs__btn{padding:14px 14px;font-size:13.5px}
  .services-tabs__btn.is-active::after{display:none}
  .services-details__grid{grid-template-columns:1fr}
  .services-details__card{
    border-inline-start:0;border-bottom:1px solid rgba(18,41,76,.1);
    min-height:0;align-items:center;text-align:center;
  }
  .services-details__card:last-child{border-bottom:0}
  .services-details__copy{max-width:42ch;margin-inline:auto}
}
@media(prefers-reduced-motion:reduce){
  .services-hero__tile,.services-hero__tile img,.services-hero__cta,.services-details__more{transition:none}
}

/* ═══════════════════════════════════════════════════════════════════════════
   About page — diagonal hero + values band
   ═══════════════════════════════════════════════════════════════════════════ */
.about-page{background:#f4f6f8;color:#12294C}
.about-hero{
  position:relative;isolation:isolate;overflow:hidden;
  min-height:clamp(450px,58vh,600px);
  display:flex;align-items:center;
  /* Physical right — not flex-end (RTL flips flex-end to the left). */
  justify-content:flex-start;
  background-color:#0a1d47;
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
  padding:clamp(44px,5vw,72px) clamp(20px,5vw,80px);
  direction:ltr;
  /* Inverted half-moon: hero dips down into the band below (center low, edges high). */
  margin-bottom:-48px;
  border-radius:0 0 50% 50% / 0 0 48px 48px;
  z-index:2;
}
.about-hero__in{
  position:relative;z-index:1;
  width:min(560px,52%);
  margin-left:auto; /* pin to physical right over the navy half */
  margin-right:clamp(8px,2vw,28px);
  text-align:right;direction:rtl;color:#fff;
  transform:translateY(clamp(-42px,-3vw,-24px));
}
.about-hero__eyebrow{
  display:inline-flex;align-items:center;gap:14px;
  margin:0 0 20px;color:#0e7aab;font-size:15px;font-weight:700;
}
.about-hero__eyebrow::before{
  content:"";width:42px;height:2px;background:#0e7aab;flex:0 0 auto;
}
.about-hero__title{
  margin:0;font-size:clamp(44px,4.8vw,66px);line-height:1.08;font-weight:900;
  letter-spacing:-.02em;color:#fff;
}
.about-hero__lead{
  margin:20px 0 32px;max-width:32ch;font-size:clamp(16px,1.45vw,20px);
  line-height:1.7;color:rgba(255,255,255,.9);
}
.about-hero__cta{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:56px;padding:15px 27px;
  border:1.5px solid #0e7aab;border-radius:2px;
  background:rgba(8,30,70,.35);color:#fff;font-size:15px;font-weight:800;
  text-decoration:none;transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.about-hero__cta:hover{background:#0e7aab;border-color:#0e7aab;color:#fff;transform:translateY(-1px)}
.about-hero__cta:active{transform:scale(.98)}

.about-intro{
  position:relative;z-index:1;
  background:#fff;
  padding:clamp(58px,6vw,84px) clamp(18px,4vw,56px);
  overflow:hidden;
}
.about-intro__inner{
  position:relative;z-index:1;
  max-width:1180px;margin:0 auto;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(36px,4vw,60px);align-items:start;direction:rtl;
}
.about-intro__group{text-align:right;padding-top:4px}
.about-intro__title{
  margin:0 0 18px;font-size:clamp(30px,2.8vw,42px);line-height:1.15;font-weight:900;
  color:#12294C;letter-spacing:-.02em;
}
.about-intro__title::after{
  content:"";display:block;width:72px;height:3px;background:#0e7aab;margin-top:14px;
}
.about-intro__lead{
  margin:0 0 12px;font-size:16px;line-height:1.82;color:#12294C;
}
.about-intro__copy{
  margin:0 0 12px;font-size:14.5px;line-height:1.82;color:#12294C;
}
.about-intro__commitment{
  position:relative;min-height:100%;
  padding:4px clamp(28px,3vw,46px) clamp(18px,2vw,26px) 0;
  border-inline-start:1px solid rgba(18,41,76,.12);
  text-align:right;direction:rtl;
}
.about-intro__commitment-quote{
  position:absolute;inset-inline-start:0;top:-20px;
  color:#0e7aab;font:700 58px/.62 Georgia,serif;
}
.about-intro__commitment h2{
  margin:0 0 18px;color:#12294C;font-size:36px;
  font-weight:900;line-height:1.18;letter-spacing:-.02em;
  white-space:nowrap;
}
.about-intro__commitment h2::after{
  content:"";display:block;width:62px;height:3px;margin-top:14px;background:#0e7aab;
}
.about-intro__commitment p{
  max-width:none;margin:0 0 14px;color:#12294C;font-size:15px;font-weight:400;line-height:1.85;
}
.about-intro__commitment p:first-of-type{font-size:16px}
.about-intro__commitment p:last-child{margin-bottom:0}
.about-intro__commitment-sign{
  display:block;margin-top:22px;color:#12294C;font-size:13px;font-weight:900;
}

.about-founder{
  position:relative;height:100%;padding:clamp(12px,2vw,24px) 0 0;
  border-top:1px solid rgba(18,41,76,.12);
  border-bottom:1px solid rgba(18,41,76,.12);
  text-align:right;direction:rtl;
}
.about-founder::before{
  content:"";position:absolute;top:-1px;inset-inline-end:0;width:78px;height:3px;
  background:#0e7aab;
}
.about-founder__head{
  display:flex;align-items:flex-start;gap:14px;margin-bottom:18px;
}
.about-founder__quote{
  display:block;color:#0e7aab;font:700 62px/.65 Georgia,serif;
  transform:translateY(5px);
}
.about-founder__badge{
  display:block;margin-bottom:8px;color:#0e7aab;
  font-size:12px;font-weight:800;letter-spacing:.1em;
}
.about-founder__name{
  margin:0 0 5px;font-size:clamp(26px,2.4vw,34px);font-weight:900;line-height:1.1;
  color:#12294C!important;letter-spacing:-.02em;
}
.about-founder__brand{
  margin:0;font:700 10px/1 var(--font);letter-spacing:.24em;color:#7a8aa3;
  text-transform:uppercase;
}
.about-founder__lead{
  margin:0 0 14px;font-size:clamp(16px,1.1vw,18px);line-height:1.8;color:#12294C;
}
.about-founder__copy{
  margin:0 0 22px;font-size:14.5px;line-height:1.85;color:#5b6b82;
}
.about-founder__copy strong{color:#12294C;font-weight:800}
.about-founder__points{
  list-style:none;margin:0;padding:0;border-top:1px solid rgba(18,41,76,.12);
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
}
.about-founder__points li{
  min-width:0;padding:14px 10px;text-align:center;color:#12294C;
  font-size:12.5px;font-weight:800;line-height:1.35;
}
.about-founder__points li + li{
  border-inline-start:1px solid rgba(18,41,76,.12);
}
.about-founder__points span{
  display:block;margin-bottom:4px;color:#0e7aab;font-size:10.5px;
  font-weight:900;letter-spacing:.08em;direction:ltr;
}

.about-way{
  position:relative;background:#fff;
  margin-top:0;padding:clamp(56px,6vw,80px) clamp(18px,4vw,56px) clamp(56px,7vw,96px);
  border-radius:0;
  z-index:1;
}
.about-way::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.12;
  background:var(--about-way-art) right 8% center / min(420px,38%) auto no-repeat;
}
.about-way__inner{
  position:relative;z-index:1;
  max-width:1180px;margin:0 auto;
  display:grid;grid-template-columns:minmax(260px,.95fr) minmax(320px,1.2fr);
  gap:clamp(28px,4vw,56px);align-items:start;direction:rtl;
}
.about-way__story{text-align:right;padding-top:6px}
.about-way__quote{
  display:block;color:#0e7aab;font-size:64px;line-height:.7;font-weight:700;
  margin:0 0 8px;font-family:Georgia,serif;
}
.about-way__title{
  margin:0 0 16px;font-size:clamp(28px,2.6vw,40px);line-height:1.2;font-weight:900;color:#12294C;
}
.about-way__title::after{
  content:"";display:block;width:72px;height:3px;background:#0e7aab;margin-top:14px;
}
.about-way__copy{
  margin:18px 0 0;max-width:36ch;font-size:16px;line-height:1.8;color:#5b6b82;
}
.about-way__values{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  direction:rtl;gap:0;align-items:start;
}
.about-way__card{
  padding:8px clamp(14px,1.8vw,26px);
  border-inline-start:1px solid rgba(18,41,76,.12);
  text-align:right;
}
.about-way__card:last-child{border-inline-start:0}
.about-way__ico{display:inline-grid;color:#0e7aab;margin-bottom:14px}
.about-way__card-title{
  margin:0 0 10px;font-size:18px;font-weight:900;color:#12294C;
}
.about-way__card-copy{
  margin:0;font-size:14.5px;line-height:1.7;color:#5b6b82;
}

@media(max-width:960px){
  .about-hero{
    min-height:0;justify-content:center;direction:rtl;
    padding:56px 18px 72px;
    background-position:28% center;
  }
  .about-hero::before{
    content:"";position:absolute;inset:0;z-index:0;
    background:linear-gradient(180deg,rgba(6,24,56,.55) 0%,rgba(6,24,56,.78) 100%);
  }
  .about-hero__in{width:100%;max-width:480px;margin:0 auto;text-align:center;transform:translateY(-12px)}
  .about-hero__title{font-size:clamp(36px,10vw,46px)}
  .about-hero__lead{font-size:16px;margin:16px auto 26px}
  .about-hero__cta{min-height:52px;padding:14px 24px}
  .about-hero__eyebrow{justify-content:center}
  .about-hero__lead{margin-inline:auto}
  .about-hero{margin-bottom:-36px;border-radius:0 0 40% 40% / 0 0 36px 36px}
  .about-intro{padding-top:72px;padding-bottom:48px}
  .about-intro__inner{grid-template-columns:1fr;gap:24px}
  .about-intro__group{text-align:center}
  .about-intro__title::after{margin-inline:auto}
  .about-intro__commitment{
    padding:28px 0 0;border-inline-start:0;border-top:1px solid rgba(18,41,76,.12);
    text-align:center;
  }
  .about-intro__commitment-quote{position:static;display:block;margin:0 0 10px;font-size:54px}
  .about-intro__commitment h2{white-space:normal}
  .about-intro__commitment h2::after{margin-inline:auto}
  .about-intro__commitment p{margin-inline:auto}
}
@media(prefers-reduced-motion:reduce){
  .about-hero__cta{transition:none}
}

/* ═══════════════════════════════════════════════════════════════════════════
   Shared article — editorial hero and reading layout
   ═══════════════════════════════════════════════════════════════════════════ */
.article-page{background:#fff;color:#12294C}
.article-hero{
  position:relative;display:grid;
  grid-template-columns:minmax(0,1.06fr) minmax(340px,.94fr);
  min-height:clamp(300px,32vw,400px);
  overflow:hidden;direction:ltr;
  background:#071a36;
}
.article-hero__media{
  background-image:var(--article-hero-image);
  background-size:cover;background-position:center;
  min-height:100%;
}
.article-hero__inner{
  display:flex;flex-direction:column;justify-content:center;
  padding:clamp(28px,4vw,44px) clamp(24px,4.5vw,56px);
  background:linear-gradient(155deg,#0c315f 0%,#071a36 100%);
  color:#fff;direction:rtl;text-align:right;
  width:auto;margin:0;
}
.article-hero__eyebrow{
  margin:0 0 10px;color:#38b9f1;font-size:13px;font-weight:800;letter-spacing:.05em;
}
.article-hero__eyebrow span{color:rgba(255,255,255,.55);padding-inline:9px}
.article-hero h1{
  margin:0;color:#fff;font-size:clamp(28px,2.6vw,38px);line-height:1.2;
  font-weight:800;letter-spacing:-.02em;
}
.article-hero__lead{
  max-width:39ch;margin:15px 0 21px;color:rgba(255,255,255,.88);
  font-size:17px;line-height:1.68;
}
.article-hero__meta{
  display:flex;align-items:center;flex-wrap:wrap;gap:0;
  padding-top:15px;border-top:1px solid rgba(255,255,255,.2);
  color:rgba(255,255,255,.85);font-size:12px;font-weight:600;
}
.article-hero__meta span{padding-inline:14px;border-inline-start:1px solid rgba(255,255,255,.3)}
.article-hero__meta span:first-child{padding-inline-start:0;border:0}
.article-main{padding:clamp(48px,6vw,80px) clamp(18px,4vw,56px) clamp(68px,8vw,110px)}
.article-main__inner{max-width:1180px;margin:0 auto}
.article-page .article-layout{
  grid-template-columns:minmax(220px,290px) minmax(0,1fr);
  gap:clamp(32px,4vw,56px);align-items:start;direction:ltr;
}
.article-page .article-layout--solo .article-body{
  grid-column:2;max-width:760px;
}
.article-page .article-toc{
  padding:0;padding-inline-start:28px;border:0;border-radius:0;background:transparent;box-shadow:none;
  border-inline-start:1px solid rgba(18,41,76,.13);
}
.article-page .article-toc summary{
  padding-bottom:12px;border-bottom:2px solid #0e7aab;color:#12294C;font-size:17px;
}
.article-page .article-toc ol{
  list-style:none;counter-reset:article-toc;margin-top:12px;padding:0;gap:0;
}
.article-page .article-toc li{
  display:flex;align-items:baseline;gap:10px;counter-increment:article-toc;padding:10px 0;
  border-bottom:1px solid rgba(18,41,76,.11);font-size:13.5px;
}
.article-page .article-toc li::before{
  content:counter(article-toc, decimal-leading-zero);position:static;flex:0 0 24px;
  color:#0e7aab;font-weight:800;font-size:11px;direction:ltr;text-align:right;
}
.article-page .article-toc a{min-width:0;color:#5b6b82}
.article-page .article-toc li:first-child a{color:#1596d0;font-weight:800}
.article-page .article-body{max-width:760px}
.article-page .article-body > p:first-child{
  margin-top:0;font-size:clamp(18px,1.35vw,21px);line-height:1.8;color:#334b6c;
}
.article-page .article-body > p:first-child strong{color:#12294C}
.article-page .article-body h2{
  position:relative;margin:40px 0 16px;padding-top:16px;color:#12294C;
  font-size:clamp(24px,2.2vw,34px);line-height:1.25;font-weight:900;
}
.article-page .article-body h2:first-of-type{margin-top:28px}
.article-page .article-body h2::before{
  content:"";position:absolute;top:0;right:0;width:36px;height:3px;background:#0e7aab;
}
.article-page .related-showcase{clear:both;overflow:visible}
.article-page .related-showcase__head h2{position:static;padding-top:0;margin:0}
.article-page .article-body p{
  margin:0 0 1.15em;font-size:16px;line-height:1.9;color:#526581;
}
.article-page .article-body ul,
.article-page .article-body ol{
  margin:0 0 1.4em;padding-inline-start:1.35em;
  font-size:16px;line-height:1.85;color:#526581;
}
.article-page .article-body li{margin-bottom:.4em}
.article-page .article-body li::marker{color:#0e7aab}
.article-page .article-body strong{color:#12294C}
.article-page .article-body a{color:#1596d0;text-decoration:underline;text-underline-offset:3px}
.article-page .article-body a:hover{color:#0b2d50}
@media(max-width:900px){
  .article-hero{
    grid-template-columns:1fr;
    min-height:0;
  }
  .article-hero__media{
    min-height:clamp(200px,42vw,280px);
    order:1;
  }
  .article-hero__inner{
    order:2;
    padding:36px 24px 40px;
  }
  .article-hero h1{font-size:clamp(24px,6.2vw,32px);line-height:1.22}
  .article-hero__meta{gap:8px}
  .article-hero__meta span{padding-inline:9px}
  .article-main{padding:42px 18px 68px}
  .article-page .article-layout,
  .article-page .article-layout--solo{display:block}
  .article-page .article-layout--solo .article-body,
  .article-page .article-toc{position:static;margin-bottom:34px;padding:0;border-inline-start:0}
  .article-page .article-body{max-width:none}
}

/* Article decision CTA */
.article-next-step{position:relative;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);margin-top:74px;overflow:hidden;direction:rtl;background:#fff;border:1px solid #dce6f1;box-shadow:0 16px 40px rgba(12,38,76,.1)}
.article-next-step__intro{position:relative;z-index:1;display:flex;min-height:410px;flex-direction:column;justify-content:center;padding:46px clamp(30px,5vw,68px);color:#fff;background:linear-gradient(145deg,#0c315f,#061d42)}
.article-next-step__intro::before{content:"";position:absolute;inset:0;opacity:.17;background:linear-gradient(135deg,transparent 45%,#54d3fa 45.2%,transparent 45.5%),repeating-linear-gradient(90deg,transparent 0 30px,rgba(126,222,255,.28) 31px 32px)}
.article-next-step__intro>*{position:relative}
.article-next-step__intro p{margin:0 0 10px;color:#32c5f4;font-size:13px;font-weight:800}
.article-next-step__intro h2{margin:0;color:#fff;font-size:clamp(30px,3.5vw,48px);line-height:1.12;font-weight:900}
.article-next-step__intro span{margin-top:17px;color:rgba(255,255,255,.82);font-size:15px;line-height:1.7}
.article-next-step__options{padding:34px clamp(24px,4vw,48px) 28px;background:#fff}
.article-next-step__question{margin:0 0 18px;color:#112e58;font-size:24px;font-weight:900}
.article-next-step__option{position:relative;display:grid;grid-template-columns:70px minmax(0,1fr) 22px;gap:14px;align-items:center;min-height:77px;margin-top:10px;padding:12px 17px;border:1px solid #d8e2ed;color:#19375f;text-decoration:none;transition:border-color .18s,background .18s,transform .18s}
.article-next-step__option{width:100%;font:inherit;text-align:right;cursor:pointer}
.article-next-step__option:hover{transform:translateX(-3px);border-color:#20bdf2;background:#f7fcff}
.article-next-step__option.is-featured{border-right:5px solid #20bdf2;background:#f5fbff}
.article-next-step__option>b{padding-left:14px;border-left:1px solid #d6e0ea;color:transparent;font-size:40px;font-weight:300;line-height:1;-webkit-text-stroke:1px #33c3f2;direction:ltr}
.article-next-step__option strong{display:block;font-size:16px;font-weight:900}
.article-next-step__option small{display:block;margin-top:4px;color:#75849a;font-size:12px;line-height:1.5}
.article-next-step__option i{width:20px;height:20px;border:2px solid #90a4bd;border-radius:50%}
.article-next-step__option.is-featured i{position:relative;border-color:#18bdf3}
.article-next-step__option.is-featured i::after{content:"";position:absolute;inset:4px;border-radius:50%;background:#18bdf3}
.article-next-step__cta{display:inline-flex;align-items:center;gap:24px;margin-top:19px;padding:14px 22px;background:#102f5a;color:#fff;font-size:14px;font-weight:800;text-decoration:none}
.article-next-step__cta span{font-size:23px;line-height:.6}
.article-next-step__details{padding:34px clamp(24px,4vw,48px) 28px;background:#fff}
.article-next-step__detail{color:#60718a;text-align:right}
.article-next-step__eyebrow{margin:0 0 10px!important;color:#20bdf2!important;font-size:13px!important;font-weight:800}
.article-next-step__selected{display:block;padding:10px 16px;background:#eff9ff;color:#2abcf0;font-size:30px;font-weight:300;line-height:1}
.article-next-step__selected span{margin-right:20px;color:#16355e;font-size:16px;font-weight:900;vertical-align:middle}
.article-next-step__detail h3{margin:18px 0 7px;color:#112e58;font-size:clamp(28px,3vw,42px);line-height:1.08;font-weight:900}
.article-next-step__detail>p:not(.article-next-step__eyebrow){max-width:49ch;margin:0;color:#66778e;font-size:15px;line-height:1.7}
.article-next-step__detail ol{margin:22px 0 20px;padding:0;list-style:none;counter-reset:next-step}
.article-next-step__detail li{position:relative;min-height:40px;padding:10px 72px 8px 0;border-bottom:1px solid #d9e3ee;counter-increment:next-step;color:#243f65;font-size:14px;font-weight:800}
.article-next-step__detail li::before{content:counter(next-step,decimal-leading-zero);position:absolute;right:10px;top:4px;color:transparent;font-size:29px;font-weight:300;-webkit-text-stroke:1px #25bff1;direction:ltr}
.article-next-step__detail>a{display:inline-flex;align-items:center;gap:22px;padding:13px 20px;background:#102f5a;color:#fff;font-size:13px;font-weight:800;text-decoration:none}
.article-next-step__detail>a span{font-size:23px;line-height:.6}
.article-next-step__back{margin-right:16px;border:0;background:transparent;color:#18365e;font:inherit;font-size:12px;cursor:pointer}
@media(max-width:850px){
  .article-next-step{grid-template-columns:1fr;margin-top:54px}
  .article-next-step__intro{min-height:0;padding:40px 28px}
}
@media(max-width:520px){
  .article-next-step__options{padding:28px 16px 22px}
  .article-next-step__details{padding:28px 16px 22px}
  .article-next-step__question{font-size:21px}
  .article-next-step__option{grid-template-columns:48px minmax(0,1fr) 18px;gap:10px;padding:11px}
  .article-next-step__option>b{padding-left:9px;font-size:31px}
  .article-next-step__option strong{font-size:14px}
  .article-next-step__option small{font-size:11px}
}

/* ═══════════════════════════════════════════════════════════════════════════
   Service / pillar pages — hero + content (not article editorial)
   ═══════════════════════════════════════════════════════════════════════════ */
.service-page{background:#fff;color:#12294C}
.service-hero{
  position:relative;isolation:isolate;overflow:hidden;
  min-height:clamp(380px,48vh,520px);
  display:flex;align-items:center;justify-content:flex-start;
  background-color:#0a1d47;background-position:center;background-size:cover;
  padding:clamp(44px,5vw,72px) clamp(20px,5vw,80px);
  direction:ltr;
}
.service-hero::after{
  content:"";position:absolute;inset:0;z-index:0;
  background:linear-gradient(135deg,rgba(8,28,64,.9) 0%,rgba(8,28,64,.62) 52%,rgba(8,28,64,.28) 100%);
}
.service-hero__in{
  position:relative;z-index:1;
  width:min(620px,54%);
  margin-left:auto;margin-right:clamp(8px,2vw,28px);
  text-align:right;direction:rtl;color:#fff;
}
.service-hero__title{
  margin:0;font-size:clamp(36px,4.2vw,58px);line-height:1.08;font-weight:900;
  letter-spacing:-.02em;color:#fff;
}
.service-hero__lead{
  margin:18px 0 28px;max-width:38ch;font-size:clamp(16px,1.35vw,19px);
  line-height:1.75;color:rgba(255,255,255,.9);
}
.service-hero__cta{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:52px;padding:14px 26px;
  border:1.5px solid #0e7aab;border-radius:2px;
  background:rgba(8,30,70,.35);color:#fff;font-size:15px;font-weight:800;
  text-decoration:none;transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.service-hero__cta:hover{background:#0e7aab;border-color:#0e7aab;color:#fff;transform:translateY(-1px)}
.service-body{
  padding:clamp(48px,6vw,80px) clamp(18px,4vw,56px) clamp(32px,4vw,48px);
}
.service-body__inner{max-width:820px;margin:0 auto}
.service-body__content h2{
  margin:40px 0 14px;padding-top:16px;color:#12294C;
  font-size:clamp(26px,2.3vw,34px);line-height:1.15;font-weight:900;
}
.service-body__content h2:first-child{margin-top:0;padding-top:0}
.service-body__content h2::before{
  content:"";display:block;width:36px;height:3px;background:#0e7aab;margin-bottom:14px;
}
.service-body__content h3{
  margin:28px 0 10px;color:#16355e;font-size:20px;font-weight:800;
}
.service-body__content p,
.service-body__content ul,
.service-body__content ol{
  font-size:16px;line-height:1.9;color:#526581;
}
.service-body__content p{margin:0 0 16px}
.service-body__content ul,
.service-body__content ol{margin:0 0 18px;padding-inline-start:24px}
.service-body__content li{margin-bottom:8px}
.service-body__content strong{color:#12294C}
.service-body__content a:not(.btn){color:#1596d0;text-decoration:underline;text-underline-offset:3px}
.service-page .home-contact{margin-top:0}
@media(max-width:900px){
  .service-hero{min-height:360px;padding:40px 20px 48px}
  .service-hero__in{width:100%;max-width:560px;margin:0 auto}
  .service-hero__title{font-size:clamp(32px,8vw,44px)}
}
@media(prefers-reduced-motion:reduce){
  .service-hero__cta{transition:none}
}


/* Mobile drawer: not rendered at all while closed, painted fresh on open.
   Parking it off-screen with transform + delayed visibility left iOS Safari
   showing an unpainted white layer stuck mid-slide. */
@media (max-width:768px){
  .sidebar,html[dir="ltr"] .sidebar{
    display:none; visibility:visible; opacity:1;
    -webkit-transform:none; transform:none; will-change:auto;
    -webkit-backface-visibility:visible; backface-visibility:visible;
    transition:none;
    background:#08274b !important;
  }
  .sidebar.open,html[dir="ltr"] .sidebar.open{
    display:flex; -webkit-transform:none !important; transform:none !important;
    -webkit-animation:sbIn .28s cubic-bezier(.22,1,.36,1); animation:sbIn .28s cubic-bezier(.22,1,.36,1);
  }
  html[dir="ltr"] .sidebar.open{ -webkit-animation-name:sbInL; animation-name:sbInL; }
  html.nav-instant .sidebar.open{ -webkit-animation:none; animation:none; }
}
@-webkit-keyframes sbIn{ from{ -webkit-transform:translate3d(100%,0,0); } to{ -webkit-transform:none; } }
@keyframes sbIn{ from{ transform:translate3d(100%,0,0); } to{ transform:none; } }
@-webkit-keyframes sbInL{ from{ -webkit-transform:translate3d(-100%,0,0); } to{ -webkit-transform:none; } }
@keyframes sbInL{ from{ transform:translate3d(-100%,0,0); } to{ transform:none; } }
@media (max-width:768px) and (prefers-reduced-motion:reduce){ .sidebar.open{ -webkit-animation:none; animation:none; } }
