/* ==================================================================
   Shay Klain — design tokens.
   These mirror the Global Colors and Global Fonts set in Elementor,
   so changing a colour there and here keeps everything in step.
   ================================================================== */
:root{
--sk-ground:#080C12;
--sk-surface:#0E141D;
--sk-surface2:#141C27;
--sk-line:#1E2A38;
--sk-linesoft:#151E29;
--sk-text:#E8EEF6;
--sk-text2:#B4C2D2;
--sk-muted:#7E90A6;
--sk-amber:#F5A524;
--sk-ambersoft:#FFC468;
--sk-amberdim:rgba(245,165,36,.13);
--sk-signal:#3FA9C9;
--sk-sans:"IBM Plex Sans Hebrew","Segoe UI",system-ui,sans-serif;
--sk-serif:"Frank Ruhl Libre",Georgia,serif;
--sk-mono:"IBM Plex Mono",ui-monospace,monospace;
}
body{
background:var(--sk-ground);
color:var(--sk-text);
font-family:var(--sk-sans);
-webkit-font-smoothing:antialiased;
}
/* ==================================================================
   Shay Klain — decoration layer for native Elementor widgets.
   Nothing here holds content. Every class is applied to an Elementor
   element through its "CSS Classes" field, so the layout, spacing,
   colours and text all stay editable in the Elementor UI.
   ================================================================== */

/* ---------- animated hero background ---------- */
.sk-hero-bg{position:relative;overflow:hidden;isolation:isolate}
.sk-hero-bg > .e-con-inner,
.sk-hero-bg > .elementor-widget-wrap{position:relative;z-index:2}
.sk-hero-bg canvas.sk-net{position:absolute;inset:0;width:100%;height:100%;z-index:0;opacity:.55;pointer-events:none}
.sk-hero-bg::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.55;
 background-image:linear-gradient(to right,var(--sk-linesoft) 1px,transparent 1px),
                  linear-gradient(to bottom,var(--sk-linesoft) 1px,transparent 1px);
 background-size:72px 72px;
 -webkit-mask-image:radial-gradient(75% 75% at 50% 40%,#000,transparent);
 mask-image:radial-gradient(75% 75% at 50% 40%,#000,transparent)}
.sk-hero-bg::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
 background:radial-gradient(58% 62% at 78% 18%,rgba(245,165,36,.16),transparent 62%)}

/* softer variant for inner-page heroes */
.sk-hero-bg.sk-hero-sm::before{background-size:64px 64px;
 -webkit-mask-image:linear-gradient(#000,transparent 88%);mask-image:linear-gradient(#000,transparent 88%)}

/* glow anchored to the bottom, for the closing CTA band */
.sk-glow-bottom{position:relative;overflow:hidden;isolation:isolate}
.sk-glow-bottom > .e-con-inner{position:relative;z-index:2}
.sk-glow-bottom::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
 background:radial-gradient(50% 70% at 50% 100%,rgba(245,165,36,.15),transparent 65%)}

/* ---------- headline reveal ---------- */
.sk-rise .elementor-heading-title{overflow:hidden}
.sk-anim .sk-rise .elementor-heading-title > span{display:block;transform:translateY(105%);
 animation:skRise .9s cubic-bezier(.2,.75,.25,1) forwards}

@keyframes skRise{to{transform:none}}

/* ---------- scroll reveal, applied by class ---------- */
.sk-anim .sk-fade{opacity:0;transform:translateY(20px);
 transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1)}
.sk-anim .sk-fade.in{opacity:1;transform:none}

/* ---------- hairline rule that sits beside a label ---------- */
.sk-rule .elementor-divider-separator{border-top-color:var(--sk-line)}

/* ---------- card surface, applied to a container ---------- */
.sk-card{transition:background .25s,border-color .25s}
.sk-card:hover{background:var(--sk-surface2)!important;border-color:#2C3C50!important}

/* ---------- numbered step marker ---------- */
.sk-step{position:relative}
.sk-step::before{content:"";position:absolute;top:-31px;inset-inline-start:0;width:12px;height:12px;
 border-radius:50%;background:var(--sk-ground);border:1px solid var(--sk-line);
 transition:background .4s,border-color .4s,box-shadow .4s}
.sk-steps.in .sk-step::before{background:var(--sk-amber);border-color:var(--sk-amber);
 box-shadow:0 0 0 4px var(--sk-amberdim)}
.sk-steps{position:relative}
.sk-steps::before{content:"";position:absolute;top:-25px;inset-inline:6px;height:1px;background:var(--sk-line)}
.sk-steps::after{content:"";position:absolute;top:-25px;inset-inline-start:6px;height:1px;width:0;
 background:var(--sk-amber);transition:width 1.5s cubic-bezier(.3,.8,.3,1)}
.sk-steps.in::after{width:calc(100% - 12px)}
@media(max-width:1024px){.sk-steps::before,.sk-steps::after{display:none}.sk-step::before{display:none}}

/* ---------- quote bar ---------- */
.sk-quote-bar{border-inline-start:2px solid var(--sk-amber)}

/* ---------- counter ---------- */
.elementor-widget-counter .elementor-counter-number-wrapper{font-variant-numeric:tabular-nums}

/* ---------- jet-tabs, brought into the palette ---------- */
.sk-tabs .jet-tabs__control{border-color:var(--sk-line)!important}
.sk-tabs .jet-tabs__control-inner{justify-content:flex-start}
.sk-tabs .jet-tabs__content-wrapper{border-color:var(--sk-line)!important}

/* ---------- listing grids ---------- */
.sk-logos .jet-listing-grid__item{display:flex;align-items:center;justify-content:center;
 background:var(--sk-surface);border:1px solid var(--sk-line);border-radius:3px;
 height:104px;padding:16px 18px;overflow:hidden;position:relative;
 transition:border-color .2s,background .2s,transform .2s}
.sk-logos .jet-listing-grid__item::before{content:"";position:absolute;inset:0;pointer-events:none;
 background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 55%)}
.sk-logos .jet-listing-grid__item:hover{border-color:var(--sk-amber);background:var(--sk-surface2);transform:translateY(-2px)}
/* every mark is normalised to one weight of white, then lifts on hover */
.sk-logos .jet-listing-grid__item img{background:#fff;
 max-height:56px!important;max-width:88%!important;width:auto!important;height:auto!important;
 object-fit:contain;border-radius:3px;padding:7px 9px;
 filter:grayscale(1);opacity:.86;
 transition:opacity .25s,filter .25s,transform .25s}
.sk-logos .jet-listing-grid__item:hover img{filter:none;opacity:1;transform:scale(1.03)}
/* names still waiting for a mark are set in the same rhythm */
.sk-logos .jet-listing-dynamic-field__content{color:var(--sk-text2)!important;font-size:.96rem;font-weight:600;
 text-align:center;line-height:1.35;letter-spacing:-.01em;transition:color .2s}
.sk-logos .jet-listing-grid__item:hover .jet-listing-dynamic-field__content{color:var(--sk-text)!important}
.sk-logos .jet-listing-grid__item:has(img) .jet-listing-dynamic-field{display:none}
.sk-logos .jet-listing-grid__item .elementor-widget-jet-listing-dynamic-image,
.sk-logos .jet-listing-grid__item .jet-listing-dynamic-image,
.sk-logos .jet-listing-grid__item .elementor-widget-container{
 display:flex;align-items:center;justify-content:center;width:100%;max-height:100%}
.sk-logos .jet-listing-grid__item > .elementor{display:flex;align-items:center;justify-content:center;
 width:100%;height:100%;position:relative;z-index:2}

.sk-posts .jet-listing-grid__item{border:1px solid var(--sk-line);background:var(--sk-surface);
 border-radius:3px;overflow:hidden;transition:border-color .22s,transform .22s;height:100%}
.sk-posts .jet-listing-grid__item:hover{border-color:#33475C;transform:translateY(-2px)}
.sk-posts img{width:100%;height:170px;object-fit:cover;display:block;
 border-bottom:1px solid var(--sk-line)}

/* ---------- testimonials ----------
   JetTestimonials paints its own accent-coloured comment block, which put
   white type on amber. These rules give the card the site's own surface. */
.sk-quotes .jet-testimonials__item{padding:0 8px}
.sk-quotes .jet-testimonials__item-inner{height:100%}
.sk-quotes .jet-testimonials__content{
 background:var(--sk-surface)!important;
 border:1px solid var(--sk-line)!important;
 border-radius:3px!important;
 padding:28px 26px 24px!important;
 height:100%;display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden}
.sk-quotes .jet-testimonials__content::before{content:"";position:absolute;inset:0;pointer-events:none;
 background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 40%)}
.sk-quotes .jet-testimonials__comment{
 background:transparent!important;
 color:var(--sk-text)!important;
 font-family:var(--sk-serif)!important;
 font-size:1.08rem!important;line-height:1.55!important;
 padding:0!important;margin:0!important;border:0!important;position:relative;z-index:2}
.sk-quotes .jet-testimonials__comment::after{display:none!important}
.sk-quotes .jet-testimonials__name{margin-top:auto!important;padding-top:14px;
 border-top:1px solid var(--sk-linesoft);position:relative;z-index:2}
.sk-quotes .jet-testimonials__name span{color:var(--sk-text)!important;font-weight:600;font-size:.95rem}
.sk-quotes .jet-testimonials__position{margin:0!important;position:relative;z-index:2}
.sk-quotes .jet-testimonials__position span{color:var(--sk-muted)!important;font-size:.85rem}
.sk-quotes .jet-arrow{color:var(--sk-muted)}
.sk-quotes .jet-arrow:hover{color:var(--sk-amber)}
.sk-quotes .jet-slick-dots li button{background:var(--sk-line)}
.sk-quotes .jet-slick-dots li.slick-active button{background:var(--sk-amber)}

/* ---------- media placeholder, applied to an image widget ---------- */
.sk-slot img{border:1px dashed #2C3E54;border-radius:3px;background:var(--sk-surface)}

/* ---------- article reading column ---------- */
.sk-article{color:var(--sk-text2);font-size:1.06rem;line-height:1.85}
.sk-article h2{color:var(--sk-text);font-size:clamp(1.4rem,2.6vw,1.9rem);margin:44px 0 14px;line-height:1.25}
.sk-article h3{color:var(--sk-text);font-size:1.22rem;margin:32px 0 10px}
.sk-article p{margin:0 0 20px}
.sk-article a{color:var(--sk-ambersoft);text-decoration:underline;text-underline-offset:3px}
.sk-article ul,.sk-article ol{margin:0 0 22px;padding-inline-start:22px}
.sk-article li{margin-bottom:9px}
.sk-article img{max-width:100%;height:auto;border:1px solid var(--sk-line);border-radius:3px;margin:14px 0}
.sk-article blockquote{border-inline-start:2px solid var(--sk-amber);margin:26px 0;padding:4px 22px;
 font-family:var(--sk-serif);font-size:1.3rem;line-height:1.5;color:var(--sk-text)}
.sk-article table{width:100%;border-collapse:collapse;margin:24px 0;font-size:.95rem}
.sk-article th,.sk-article td{border:1px solid var(--sk-line);padding:11px 14px;text-align:right}
.sk-article th{background:var(--sk-surface);color:var(--sk-text);font-weight:600}
.sk-article code{background:var(--sk-surface);border:1px solid var(--sk-line);padding:2px 6px;
 border-radius:2px;font-family:var(--sk-mono);font-size:.88em}
.sk-article strong{color:var(--sk-text)}

/* ---------- sticky header ---------- */
.sk-header{position:sticky;top:0;z-index:120;backdrop-filter:blur(14px)}

/* ---------- reduced motion ---------- */
@media (prefers-reduced-motion:reduce){
 .sk-fade{opacity:1;transform:none;transition:none}
 .sk-rise .elementor-heading-title > span{transform:none;animation:none}
 .sk-steps::after{width:calc(100% - 12px);transition:none}
}

/* ==================================================================
   Depth pass — the difference between "clean" and "considered"
   ================================================================== */

/* eyebrow labels draw their own hairline across the remaining width */
.sk-label .elementor-heading-title{display:flex;align-items:center;gap:16px;white-space:nowrap}
.sk-label .elementor-heading-title::after{content:"";flex:1;height:1px;background:var(--sk-line);
 min-width:24px;white-space:normal}

/* cards get a top-edge light and a lifted hover, so they read as objects */
.sk-card{position:relative;overflow:hidden;
 transition:background .25s,border-color .25s,transform .25s,box-shadow .25s}
.sk-card::before{content:"";position:absolute;inset:0;pointer-events:none;
 background:linear-gradient(180deg,rgba(255,255,255,.035),transparent 42%)}
.sk-card::after{content:"";position:absolute;top:0;inset-inline:14%;height:1px;pointer-events:none;
 background:linear-gradient(90deg,transparent,rgba(255,255,255,.16),transparent);opacity:.7}
.sk-card:hover{transform:translateY(-2px);border-color:#33475C!important;
 box-shadow:0 14px 34px -18px rgba(0,0,0,.85)}
.sk-card:hover::after{background:linear-gradient(90deg,transparent,rgba(245,165,36,.5),transparent);opacity:1}

/* listing cards share the same physics */
.sk-posts .jet-listing-grid__item{position:relative;overflow:hidden;
 box-shadow:0 10px 28px -20px rgba(0,0,0,.8)}
.sk-posts .jet-listing-grid__item::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
 background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 30%)}
.sk-posts .jet-listing-grid__item:hover{box-shadow:0 18px 40px -20px rgba(0,0,0,.9)}

/* logo tiles */
.sk-logos .jet-listing-grid__item{position:relative;overflow:hidden}
.sk-logos .jet-listing-grid__item::before{content:"";position:absolute;inset:0;pointer-events:none;
 background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 55%)}

/* FAQ */
.sk-faqs .jet-listing-grid__item{height:100%}
.sk-faqs h3{margin:0}
.sk-faqs .jet-listing-dynamic-field{position:relative;z-index:2}

/* the seven-step rail reads better with room to breathe */
.sk-steps .sk-step{position:relative}
.sk-steps .sk-step::after{content:"";position:absolute;inset-block:0;inset-inline-start:0;width:1px;
 background:linear-gradient(180deg,transparent,var(--sk-linesoft) 22%,var(--sk-linesoft) 78%,transparent)}
.sk-steps .sk-step:first-child::after{display:none}
@media(max-width:1024px){.sk-steps .sk-step::after{display:none}}

/* buttons pick up a soft glow on the primary action */
.elementor-button.elementor-size-md{transition:background .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s}
.sk-hero-bg .elementor-button:not([class*=border]):hover{box-shadow:0 10px 26px -12px rgba(245,165,36,.55)}

/* selection + focus in brand colour */
::selection{background:rgba(245,165,36,.28);color:var(--sk-text)}
:focus-visible{outline:2px solid var(--sk-ambersoft);outline-offset:3px}

/* thin, dark scrollbar so the chrome does not fight the page */
*{scrollbar-width:thin;scrollbar-color:#25344a transparent}

/* ------------------------------------------------------------------
   The vee accessibility drawer is positioned off-canvas but not fixed,
   so it stretches the document and creates a horizontal scrollbar.
   `clip` removes the overflow without creating a scroll container,
   which keeps the sticky header working.
   ------------------------------------------------------------------ */
/* removed: overflow on html killed page scrolling */

/* ==================================================================
   RTL corrections
   ================================================================== */

/* A number and its suffix are one left-to-right run. Without an isolate
   the "+" is treated as neutral and lands on the wrong side of the
   digits, so "100+" renders as "+100". */
.elementor-counter-number-wrapper{
 direction:ltr;
 unicode-bidi:isolate;
 display:flex;
 justify-content:flex-start;
 gap:0;
}
.elementor-counter .elementor-counter-number-prefix,
.elementor-counter .elementor-counter-number-suffix{flex:0 0 auto;width:auto;text-align:initial}
.elementor-counter-title{text-align:start}

/* Same rule for any figure written inline in Hebrew copy */
.sk-num{direction:ltr;unicode-bidi:isolate;display:inline-block}

/* JetTabs: the control column belongs on the right in Hebrew */
.sk-tabs .jet-tabs.jet-tabs-position-left,
.sk-tabs .jet-tabs.jet-tabs-position-right{flex-direction:row-reverse}
.sk-tabs .jet-tabs__control-wrapper{border-inline-start:1px solid var(--sk-line);border-inline-end:0}
@media(max-width:767px){
 .sk-tabs .jet-tabs.jet-tabs-position-left,
 .sk-tabs .jet-tabs.jet-tabs-position-right{flex-direction:column}
}
.sk-tabs .jet-tabs__control{text-align:start;justify-content:flex-start}
.sk-tabs .jet-tabs__control-inner{justify-content:flex-start;text-align:start}

/* dynamic fields and links inherit the page direction */
.jet-listing-dynamic-field,
.jet-listing-dynamic-link,
.jet-listing-dynamic-terms{text-align:start}

/* icon lists keep their bullets on the reading side */
.elementor-icon-list-items .elementor-icon-list-item{justify-content:flex-start}

/* mono labels containing digits stay unbroken */
.sk-label .elementor-heading-title{unicode-bidi:plaintext}

/* real photography: framed to match the card language */
.sk-photo img{border:1px solid var(--sk-line);border-radius:3px;display:block;width:100%;height:auto;
 filter:saturate(.92) contrast(1.04)}
.sk-photo{position:relative}

/* the before / after simulator */
.sk-sim .jet-switcher{padding:26px 0 0}
.sk-sim .jet-switcher__label{color:var(--sk-muted)}
.sk-sim .jet-switcher__label-active{color:var(--sk-text)}
.sk-sim .jet-progress-bar__bar{border-radius:2px;overflow:hidden}
.sk-sim .jet-progress-bar__title{color:var(--sk-text)}
.sk-sim .jet-progress-bar{margin-bottom:14px}
.sk-sim .elementor-jet-circle-progress .circle-progress-title{color:var(--sk-text)}

/* the bar carries the proportion; the minutes are written in the label */
.sk-sim .jet-progress-bar__percent{display:none}
.sk-sim .jet-progress-bar__title{margin-bottom:7px}
.sk-sim .jet-progress-bar__title-text{display:block}
.sk-sim .jet-progress-bar__wrapper{background:#141C27;border-radius:3px;overflow:hidden}
.sk-sim .circle-progress-percent{display:none}


/* ==================================================================
   Third-party UI that inherits the page text colour.
   `body { color }` cascades into plugin panels that paint their own
   light backgrounds, which produced near-white text on white.
   These blocks give that UI its own explicit colours.
   ================================================================== */

/* ---------- Complianz cookie banner, brought onto the dark palette ---------- */
.cmplz-cookiebanner{
 background:var(--sk-surface)!important;
 color:var(--sk-text2)!important;
 border:1px solid var(--sk-line)!important;
 border-radius:4px!important;
 box-shadow:0 24px 60px -28px rgba(0,0,0,.9)!important;
 font-family:var(--sk-sans)!important;
}
.cmplz-cookiebanner *{font-family:var(--sk-sans)!important}
.cmplz-cookiebanner .cmplz-title,
.cmplz-cookiebanner .cmplz-header .cmplz-title{color:var(--sk-text)!important;font-weight:700}
.cmplz-cookiebanner .cmplz-body,
.cmplz-cookiebanner .cmplz-message,
.cmplz-cookiebanner .cmplz-description,
.cmplz-cookiebanner p,
.cmplz-cookiebanner label,
.cmplz-cookiebanner .cmplz-categories{color:var(--sk-text2)!important}
.cmplz-cookiebanner .cmplz-links a,
.cmplz-cookiebanner a{color:var(--sk-ambersoft)!important}
.cmplz-cookiebanner .cmplz-close{color:var(--sk-muted)!important}

.cmplz-cookiebanner .cmplz-btn{
 border-radius:2px!important;font-weight:600!important;
 border:1px solid var(--sk-line)!important;
}
.cmplz-cookiebanner .cmplz-btn.cmplz-accept{
 background:var(--sk-amber)!important;color:#130D02!important;border-color:var(--sk-amber)!important}
.cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover{background:var(--sk-ambersoft)!important}
.cmplz-cookiebanner .cmplz-btn.cmplz-deny,
.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences,
.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences{
 background:transparent!important;color:var(--sk-text2)!important}
.cmplz-cookiebanner .cmplz-btn.cmplz-deny:hover,
.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences:hover{
 border-color:var(--sk-amber)!important;color:var(--sk-ambersoft)!important}
.cmplz-cookiebanner .cmplz-categories .cmplz-category{
 background:var(--sk-surface2)!important;border-color:var(--sk-line)!important}
.cmplz-cookiebanner .cmplz-category-header .cmplz-category-title{color:var(--sk-text)!important}

/* ---------- the vee accessibility drawer keeps its own light theme ---------- */
.vplugin-interface,.vplugin-interface *,
.vp-wrapper,.vp-wrapper *{color:initial}
.vplugin-interface{color:#1a1a1a}

/* ---------- anything else that paints a light surface keeps dark type ------- */
.wp-block-search__input,
input[type=text],input[type=email],input[type=tel],input[type=search],textarea,select{
 background:var(--sk-surface2);color:var(--sk-text);
 border:1px solid var(--sk-line);border-radius:2px;font-family:var(--sk-sans)}
input::placeholder,textarea::placeholder{color:var(--sk-muted)}

/* ==================================================================
   Mobile navigation. Elementor's dropdown ships with a white panel,
   which left light-grey links on white on every phone.
   ================================================================== */
.elementor-nav-menu--dropdown,
.elementor-nav-menu__container.elementor-nav-menu--dropdown{
 background-color:var(--sk-surface)!important;
 border:1px solid var(--sk-line)!important;
 border-top:0!important;
 box-shadow:0 26px 50px -24px rgba(0,0,0,.9)!important;
}
.elementor-nav-menu--dropdown a,
.elementor-nav-menu--dropdown a.elementor-item{
 color:var(--sk-text2)!important;
 font-family:var(--sk-sans)!important;
 border-bottom:1px solid var(--sk-linesoft)!important;
 padding:16px 22px!important;
}
.elementor-nav-menu--dropdown a:hover,
.elementor-nav-menu--dropdown a.elementor-item:hover,
.elementor-nav-menu--dropdown a.elementor-item.elementor-item-active{
 color:var(--sk-amber)!important;
 background-color:var(--sk-surface2)!important;
}
.elementor-nav-menu--dropdown li:last-child a{border-bottom:0!important}
.elementor-menu-toggle{color:var(--sk-text)!important;background:transparent!important}
.elementor-menu-toggle svg{fill:var(--sk-text)!important}

/* JetPopup keeps the palette too, if one is ever opened */
.jet-popup__container-inner{background:var(--sk-surface)!important;color:var(--sk-text2)!important;
 border:1px solid var(--sk-line)!important;border-radius:4px!important}
.jet-popup__container-inner h1,.jet-popup__container-inner h2,
.jet-popup__container-inner h3,.jet-popup__container-inner h4{color:var(--sk-text)!important}
.jet-popup__close-button{color:var(--sk-muted)!important}

/* any Elementor light-background utility that slipped through */
.elementor-widget-container > .elementor-background-overlay{pointer-events:none}

/* ==================================================================
   JetFormBuilder — the readiness assessment.
   Answers read as selectable cards rather than bare radio dots, which
   makes an eight-question form feel like two minutes instead of ten.
   ================================================================== */
.sk-quiz .jet-form-builder{display:flex;flex-direction:column;gap:0}
.sk-quiz .jet-form-builder__field-wrap{width:100%}

/* section headings inside the form */
.sk-quiz .jet-form-builder__heading{margin:0 0 6px}
.sk-quiz .jet-form-builder__heading .jet-form-builder__label-text,
.sk-quiz .jet-form-builder__heading h4{
 color:var(--sk-text)!important;font-family:var(--sk-sans);font-size:1.35rem;font-weight:700;
 letter-spacing:-.015em}
.sk-quiz .jet-form-builder__heading-desc{color:var(--sk-muted)!important;font-size:.95rem;
 line-height:1.65;margin-top:6px}

/* the question itself */
.sk-quiz .jet-form-builder-row{margin-bottom:30px}
.sk-quiz .jet-form-builder__label{
 color:var(--sk-text)!important;font-family:var(--sk-sans);font-size:1.02rem;font-weight:600;
 margin-bottom:12px;display:block;line-height:1.5}
.sk-quiz .jet-form-builder__required{color:var(--sk-amber)!important;margin-inline-start:3px}

/* answers as cards */
.sk-quiz .jet-form-builder__fields-group{display:grid;gap:8px}
.sk-quiz .jet-form-builder__field-wrap{position:relative}
.sk-quiz .jet-form-builder__field-wrap .jet-form-builder__field-label{
 display:flex;align-items:center;gap:12px;width:100%;
 background:var(--sk-surface);border:1px solid var(--sk-line);border-radius:3px;
 padding:13px 16px;cursor:pointer;margin:0;
 color:var(--sk-text2)!important;font-size:.98rem;line-height:1.4;
 transition:border-color .18s,background .18s,color .18s}
.sk-quiz .jet-form-builder__field-wrap .jet-form-builder__field-label:hover{
 border-color:#33475C;background:var(--sk-surface2);color:var(--sk-text)!important}
.sk-quiz .jet-form-builder__field-wrap input[type=radio]{
 appearance:none;-webkit-appearance:none;flex:0 0 auto;
 width:16px;height:16px;border-radius:50%;margin:0;
 border:1px solid #3A4B60;background:transparent;transition:border-color .18s,box-shadow .18s}
.sk-quiz .jet-form-builder__field-wrap input[type=radio]:checked{
 border-color:var(--sk-amber);box-shadow:inset 0 0 0 4px var(--sk-amber)}
.sk-quiz .jet-form-builder__field-label.is-chosen,
.sk-quiz .jet-form-builder__field-label:has(input:checked){
 border-color:var(--sk-amber)!important;background:var(--sk-amberdim)!important;color:var(--sk-text)!important}
.sk-quiz .jet-form-builder__field-label.is-chosen input[type=radio],
.sk-quiz .jet-form-builder__field-label input[type=radio]:checked{
 border-color:var(--sk-amber)!important;box-shadow:inset 0 0 0 4px var(--sk-amber)!important}
.sk-quiz .jet-form-builder__field-label:has(input:focus-visible){outline:2px solid var(--sk-ambersoft);outline-offset:2px}

/* the score */
.sk-quiz .sk-score{margin:6px 0 26px;padding:26px 24px;text-align:center;
 background:var(--sk-surface);border:1px solid var(--sk-line);border-radius:3px}
.sk-quiz .sk-score .jet-form-builder__calculated-field-val{
 font-family:var(--sk-sans);font-size:3.2rem;font-weight:700;color:var(--sk-amber);
 letter-spacing:-.035em;font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate}
.sk-quiz .sk-score .jet-form-builder__calculated-field-suffix{
 font-family:var(--sk-sans);font-size:1rem;color:var(--sk-muted);margin-inline-start:8px}
.sk-quiz .jet-form-builder__calculated-field{display:flex;align-items:baseline;
 justify-content:center;gap:0}

/* navigation and submit */
.sk-quiz .jet-form-builder__next-page,
.sk-quiz .jet-form-builder__prev-page,
.sk-quiz .jet-form-builder__submit{
 font-family:var(--sk-sans)!important;font-weight:600!important;font-size:.97rem!important;
 padding:14px 28px!important;border-radius:2px!important;cursor:pointer;
 transition:background .2s,color .2s,border-color .2s,transform .2s}
.sk-quiz .jet-form-builder__next-page,
.sk-quiz .jet-form-builder__submit{
 background:var(--sk-amber)!important;color:#130D02!important;border:1px solid var(--sk-amber)!important}
.sk-quiz .jet-form-builder__next-page:hover,
.sk-quiz .jet-form-builder__submit:hover{background:var(--sk-ambersoft)!important;transform:translateY(-1px)}
.sk-quiz .jet-form-builder__prev-page{
 background:transparent!important;color:var(--sk-text2)!important;border:1px solid var(--sk-line)!important}
.sk-quiz .jet-form-builder__prev-page:hover{border-color:var(--sk-amber)!important;color:var(--sk-ambersoft)!important}
.sk-quiz .jet-form-builder__next-page-wrap,
.sk-quiz .jet-form-builder__action-button-wrapper{
 display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}

/* text inputs on the last step */
.sk-quiz input.jet-form-builder__field[type=text],
.sk-quiz input.jet-form-builder__field[type=email],
.sk-quiz input.jet-form-builder__field[type=tel],
.sk-quiz .jet-form-builder__field.text-field{
 background:var(--sk-surface2)!important;color:var(--sk-text)!important;
 border:1px solid var(--sk-line)!important;border-radius:2px!important;
 padding:12px 14px!important;font-family:var(--sk-sans)!important;font-size:1rem!important;width:100%}
.sk-quiz input.jet-form-builder__field:focus{border-color:var(--sk-amber)!important;outline:none}

/* messages */
.sk-quiz .jet-form-builder-messages-wrap{color:var(--sk-text2);border-color:var(--sk-line)!important;
 background:var(--sk-surface)!important;border-radius:3px;padding:16px 18px}
.sk-quiz .jet-form-builder__field-error{color:#F0846B!important;font-size:.86rem;margin-top:5px}

@media(max-width:640px){
 .sk-quiz .jet-form-builder__field-wrap .jet-form-builder__field-label{padding:12px 14px;font-size:.94rem}
 .sk-quiz .sk-score .jet-form-builder__calculated-field-val{font-size:2.6rem}
}

/* ==================================================================
   Client space: the resources chosen for one organisation
   ================================================================== */
.sk-space-meta{font-family:var(--sk-mono);font-size:.78rem;letter-spacing:.06em;color:var(--sk-muted)}
.sk-space-note p{margin:0 0 16px}
.sk-space-note p:last-child{margin-bottom:0}

.sk-resources .jet-listing-grid__item{height:100%}
.sk-resources .sk-res-dept .jet-listing-dynamic-terms__link,
.sk-resources .sk-res-dept{color:var(--sk-text2)}
.sk-resources .jet-listing-dynamic-field__content{white-space:pre-line}

/* the description block keeps its line breaks, prompts read as written */
.sk-resources .jet-listing-dynamic-field[data-post-object="post_content"] p{margin:0 0 10px}

/* department chips */
.sk-resources .sk-res-dept .jet-listing-dynamic-terms__prefix,
.sk-resources .sk-res-dept{display:block;margin-top:2px;padding-top:10px;
 border-top:1px solid var(--sk-linesoft);font-size:.8rem;color:var(--sk-muted)}

/* the action sits at the foot of the card, whatever the text length */
.sk-resources .elementor-widget-shortcode{margin-top:auto}
.sk-res-link{display:inline-flex;align-items:center;gap:7px;
 font-family:var(--sk-sans);font-size:.88rem;font-weight:600;
 color:var(--sk-ambersoft);text-decoration:none;
 border:1px solid var(--sk-line);border-radius:2px;padding:9px 16px;
 transition:border-color .2s,background .2s}
.sk-res-link::after{content:"←";font-size:.9em}
.sk-res-link:hover{border-color:var(--sk-amber);background:var(--sk-amberdim)}

/* the English page runs left to right inside an RTL document */
.sk-ltr,.sk-ltr *{direction:ltr;text-align:left}
.sk-ltr .sk-label .elementor-heading-title::after{margin-inline-start:0}
.sk-ltr .elementor-icon-list-item{justify-content:flex-start}

/* --- signed recommendation letters --- */
.sk-letter{position:relative;overflow:hidden;transition:border-color .25s ease,transform .25s ease}
.sk-letter::before{content:"";position:absolute;inset-inline-start:0;top:0;bottom:0;width:2px;
  background:linear-gradient(180deg,var(--sk-amber),transparent 70%);opacity:.55}
.sk-letter:hover{border-color:#2C3B4E;transform:translateY(-2px)}
.sk-letter img{filter:none;mix-blend-mode:normal}
.sk-letter .elementor-widget-text-editor p{margin:0}
.sk-letter .elementor-button{align-self:flex-start;margin-top:18px}
.sk-letter .elementor-button::after{content:" ↗";font-size:.85em;opacity:.8}
@media (max-width:767px){.sk-letter::before{width:0}}

/* ---------- Elementor editor canvas ----------
   The reveal script does not run inside the editor's preview iframe, so the
   entry animations would leave every .sk-fade block sitting at opacity:0 and
   the canvas would look empty. Nothing here reaches the published page. */
body.elementor-editor-active .sk-fade,
body.elementor-editor-preview .sk-fade,
body.elementor-editor-active .sk-fade.in{opacity:1!important;transform:none!important;transition:none!important}
body.elementor-editor-active .sk-rise .elementor-heading-title > span,
body.elementor-editor-preview .sk-rise .elementor-heading-title > span{transform:none!important;animation:none!important}
body.elementor-editor-active .sk-steps::after,
body.elementor-editor-preview .sk-steps::after{width:calc(100% - 12px);transition:none}
/* the hero canvas is painted by the same script - keep the grid visible instead */
body.elementor-editor-active .sk-hero-bg canvas,
body.elementor-editor-preview .sk-hero-bg canvas{opacity:.35}

/* ---------- footer ---------- */
.sk-footer{position:relative}
.sk-footer::before{content:"";position:absolute;top:-1px;inset-inline-start:0;width:180px;height:1px;
  background:linear-gradient(90deg,var(--sk-amber),transparent)}
.sk-fbrand .elementor-heading-title{position:relative;display:inline-block;text-decoration:none}
.sk-fbrand .elementor-heading-title::after{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;
  background:var(--sk-amber);margin-inline-start:8px;vertical-align:middle}
.sk-fstats span{color:var(--sk-text);font-weight:600}
.sk-flinks .elementor-icon-list-item{margin:0}
.sk-flinks .elementor-icon-list-icon{display:none}
.sk-flinks .elementor-icon-list-text{padding:0!important;position:relative;transition:color .2s ease}
.sk-flinks a{text-decoration:none;display:inline-block}
.sk-flinks .elementor-icon-list-text::after{content:"";position:absolute;inset-inline-start:0;bottom:-3px;
  width:0;height:1px;background:var(--sk-amber);transition:width .25s ease}
.sk-flinks a:hover .elementor-icon-list-text::after{width:100%}
.sk-finline .elementor-icon-list-items{gap:22px}
.sk-fbottom{font-variant-numeric:tabular-nums}
.sk-fbottom p{margin:0}
@media (max-width:767px){
 .sk-fbottom{flex-direction:column;align-items:flex-start!important}
 .sk-finline .elementor-icon-list-items{gap:16px;flex-wrap:wrap}
}

/* ---------- floating WhatsApp ---------- */
.sk-wa{position:fixed!important;right:22px;left:auto;bottom:22px;z-index:110;
  width:auto!important;padding:0!important;pointer-events:none}
.sk-wa > .e-con-inner{padding:0!important}
.sk-wa .elementor-widget{pointer-events:auto}
.sk-wabtn .elementor-button{box-shadow:0 6px 22px rgba(0,0,0,.45);transition:transform .2s ease,box-shadow .2s ease}
.sk-wabtn .elementor-button:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(31,168,85,.35)}
.sk-wabtn .elementor-button-icon svg{width:19px;height:19px;fill:currentColor}
@media (max-width:767px){
 .sk-wa{right:14px;left:auto;bottom:14px}
 .sk-wabtn .elementor-button-text{display:none}
 .sk-wabtn .elementor-button{padding:14px!important;border-radius:50%!important}
 .sk-wabtn .elementor-button-icon{margin:0!important}
}
@media print{.sk-wa{display:none}}

/* four columns, with the brand column given more room */
.sk-footer .e-con-inner > .e-con.e-grid{grid-template-columns:1.7fr 1fr 1fr 1.25fr!important}
@media (max-width:1024px){.sk-footer .e-con-inner > .e-con.e-grid{grid-template-columns:1fr 1fr!important}}
@media (max-width:600px){.sk-footer .e-con-inner > .e-con.e-grid{grid-template-columns:1fr!important}}


/* ---------- hero prompt demo ---------- */
.sk-demo-data{display:none!important}
.sk-herosplit{align-items:center}
.sk-demo{backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);min-height:268px}
.sk-demo .sk-dlab .elementor-heading-title{white-space:nowrap}
.sk-demo .sk-dlab{flex:0 0 46px;padding-top:3px}
.sk-drow{align-items:flex-start}
.sk-demo p{margin:0}
.sk-demo .sk-demo-bad p{text-decoration:line-through;text-decoration-color:rgba(126,144,166,.42)}
.sk-demo .sk-demo-gain{margin-top:auto;padding-top:13px;border-top:1px solid var(--sk-linesoft)}
.sk-demo .sk-demo-gain p{font-size:14px;line-height:1.7}
.sk-demo .sk-demo-gain b{color:var(--sk-ambersoft);font-weight:600}
.sk-caret{display:inline-block;width:2px;height:1.05em;background:var(--sk-amber);
  vertical-align:-2px;margin-inline-start:2px;animation:skBlink 1.05s step-end infinite}
@keyframes skBlink{50%{opacity:0}}
.sk-dpips{display:flex;gap:6px;margin-top:12px}
.sk-dpip{width:22px;height:2px;background:var(--sk-line);border-radius:2px;transition:background .3s}
.sk-dpip.is-on{background:var(--sk-amber)}
@media (max-width:1024px){
 .sk-demo{min-height:0}
}
@media (prefers-reduced-motion:reduce){
 .sk-caret{animation:none}
}

/* the hero grid must be a single row: copy beside the panel, not above it */
.sk-herosplit{grid-template-rows:auto!important}
@media (max-width:1024px){.sk-herosplit{grid-template-columns:1fr!important;grid-template-rows:auto auto!important}}


/* The hero copy now shares the row with the demo panel, so the headline is
   set a step down and allowed to break where it reads best. */
.sk-herosplit h1.elementor-heading-title{font-size:clamp(30px,3.3vw,46px)!important;line-height:1.13!important}
.sk-herosplit .elementor-widget-text-editor p{max-width:44ch}
@media (max-width:1024px){
 .sk-herosplit h1.elementor-heading-title{font-size:clamp(28px,6vw,40px)!important}
 .sk-demo{margin-top:6px}
}
/* the attention map should read as texture, not disappear */
.sk-hero-bg canvas.sk-net{opacity:.85}


/* ---------- movement on scroll ---------- */
/* a block that is entering from above slides down instead of up, so the
   motion always agrees with the direction the reader is travelling */
.sk-anim .sk-fade.from-top{transform:translateY(-20px)}
.sk-anim .sk-fade.from-top.in{transform:none}

.sk-rail{position:fixed;top:0;left:0;right:0;height:3px;z-index:500;pointer-events:none;
  background:rgba(30,42,56,.85)}
.sk-rail i{display:block;height:100%;transform-origin:right center;transform:scaleX(0);
  background:linear-gradient(90deg,#FFD9A0,var(--sk-amber));
  box-shadow:0 0 10px rgba(245,165,36,.7),0 0 3px rgba(245,165,36,.9);
  will-change:transform}

/* the hero texture drifts a touch against the copy */
.sk-hero-bg canvas.sk-net{transform:translateY(var(--sk-shift,0px));will-change:transform}

/* the numbered eyebrow warms up while its section holds the screen */
.sk-label{transition:color .35s ease,letter-spacing .35s ease}
.sk-label.is-near .elementor-heading-title{color:var(--sk-amber)!important;letter-spacing:2.2px}

@media (prefers-reduced-motion:reduce){
 .sk-rail{display:none}
 .sk-hero-bg canvas.sk-net{transform:none}
 .sk-label.is-near .elementor-heading-title{letter-spacing:inherit}
}


/* ---------- keep the document the scroller ----------
   Something in the stack sets overflow-x:hidden on body. Per spec that
   forces overflow-y to compute as auto, which turns body into its own
   scroll container: window.scrollTo stops working, in-page anchors jump
   nowhere and pageYOffset is stuck at 0. `clip` prevents the sideways
   overflow without creating a scroll box, so the body must not become its
   own scroll container. */


/* ---------- horizontal overflow ----------
   Never put overflow on html or body: on the root it propagates to the
   viewport and disables scrolling. Sideways overflow is contained
   per-section instead, which is where it actually originates. */
.elementor-section,.e-con,.e-con-inner{max-width:100%}
.sk-hero-bg,.sk-footer,[class*="sk-"]>.e-con-inner{overflow-x:clip}


/* ---------- logo wall: the mark fills its chip ----------
   The uploaded files are 440x220 with the mark centred on white, so the
   chip is given the same ratio and the image is contained inside it. */
.sk-logos .jet-listing-grid__item{height:118px;padding:14px}
.sk-logos .jet-listing-grid__item > .elementor{padding:0}
.sk-logos .jet-listing-grid__item img{
  background:#fff;width:100%!important;max-width:100%!important;
  height:90px!important;max-height:90px!important;
  object-fit:contain;object-position:center;
  border-radius:4px;padding:10px 14px;
  filter:grayscale(1);opacity:.88;
  transition:opacity .25s,filter .25s,transform .25s}
.sk-logos .jet-listing-grid__item:hover img{filter:none;opacity:1;transform:scale(1.04)}
@media (max-width:767px){
 .sk-logos .jet-listing-grid__item{height:96px;padding:10px}
 .sk-logos .jet-listing-grid__item img{height:74px!important;max-height:74px!important;padding:8px 10px}
}
/* logo chips are sized to the tile */


/* ---------- staggered arrival ----------
   Each card in a revealed block waits its turn, so a grid assembles itself
   instead of appearing in one lump. */
.sk-anim .sk-fade .sk-stag{opacity:0;transform:translateY(26px);
  transition:opacity .55s cubic-bezier(.2,.7,.3,1) var(--sk-d,0ms),
             transform .55s cubic-bezier(.2,.7,.3,1) var(--sk-d,0ms)}
.sk-anim .sk-fade.from-top .sk-stag{transform:translateY(-26px)}
.sk-anim .sk-fade.in .sk-stag{opacity:1;transform:none}

/* a longer travel on the block itself so the movement reads at a glance */
.sk-anim .sk-fade{transform:translateY(30px)}
.sk-anim .sk-fade.from-top{transform:translateY(-30px)}
.sk-anim .sk-fade.in,
.sk-anim .sk-fade.from-top.in{transform:none}

@media (prefers-reduced-motion:reduce){
 .sk-anim .sk-fade .sk-stag{opacity:1;transform:none;transition:none}
}


/* ---------- language switch ----------
   Both buttons ship in the header; the body class WordPress puts on the
   English page decides which one is shown, so the header stays one
   cacheable template. */
.sk-lang-he{display:none!important}
body.page-id-19945 .sk-lang-en{display:none!important}
body.page-id-19945 .sk-lang-he{display:inline-flex!important}
.sk-en .elementor-button{transition:border-color .2s,color .2s}
.sk-en .elementor-button:hover{border-color:var(--sk-amber)!important;color:var(--sk-amber)!important}


/* ---------- workshop cards ---------- */
.sk-workshops .jet-listing-grid__item{height:100%}
.sk-wcard{height:100%;transition:border-color .25s ease,transform .25s ease,background .25s ease}
.sk-wcard:hover{border-color:#33475C!important;background:var(--sk-surface2)!important;transform:translateY(-2px)}
.sk-wtax{margin:0 0 2px}
.sk-wcard .jet-listing-dynamic-field__content{margin:0}
.sk-wcard h3{margin:0}
.sk-wlink{margin-top:auto}
.sk-wlink .jet-listing-dynamic-link__link{display:inline-flex;align-items:center;gap:6px;
  font-family:var(--sk-sans);font-size:14.5px;font-weight:600;color:var(--sk-amber);
  text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}
.sk-wlink .jet-listing-dynamic-link__link::after{content:"←";font-size:1.05em;transition:transform .2s}
.sk-wcard:hover .sk-wlink .jet-listing-dynamic-link__link{border-bottom-color:var(--sk-amber)}
.sk-wcard:hover .sk-wlink .jet-listing-dynamic-link__link::after{transform:translateX(-3px)}


/* ==================================================================
   Header on small screens
   The row is logo | burger | EN | call. On a 390px phone that only fits
   if every part is trimmed, so sizes step down twice: once at the tablet
   breakpoint where the burger appears, once on phones.
   ================================================================== */

/* shrinks once the page has been scrolled, so the header stops eating
   the screen on a phone */
.sk-header{transition:padding .25s ease,background-color .25s ease}
.sk-header.is-stuck{background-color:rgba(8,12,18,.92)}
.sk-header.is-stuck > .e-con-inner{padding-top:8px;padding-bottom:8px}

@media (max-width:1024px){
  .sk-header > .e-con-inner{padding-top:12px;padding-bottom:12px;gap:12px}
  .sk-header .elementor-widget-theme-site-logo img{max-height:40px;width:auto}
  /* the burger sits next to the buttons rather than floating mid-row */
  .sk-header .elementor-widget-nav-menu{margin-inline-start:auto}
  .sk-header .elementor-menu-toggle{
    background:transparent!important;border:1px solid var(--sk-line);border-radius:3px;
    width:40px;height:40px;color:var(--sk-text2)!important}
  .sk-header .elementor-menu-toggle:hover{border-color:var(--sk-amber);color:var(--sk-amber)!important}
}

@media (max-width:767px){
  .sk-header > .e-con-inner{padding-inline:16px;gap:8px;flex-wrap:nowrap}
  .sk-header .elementor-widget-theme-site-logo img{max-height:32px}
  /* language chip: square and quiet */
  .sk-header .sk-en .elementor-button{padding:8px 9px!important;font-size:11px!important;letter-spacing:.5px!important}
  /* the call to action keeps its words but loses the padding */
  .sk-header .elementor-widget-button:not(.sk-en) .elementor-button{
    padding:9px 12px!important;font-size:13px!important;white-space:nowrap}
  .sk-header .elementor-menu-toggle{width:36px;height:36px}
  /* nothing in the header may wrap to a second line */
  .sk-header .e-con,.sk-header .e-con-inner{min-width:0}
}

@media (max-width:400px){
  .sk-header .elementor-widget-theme-site-logo img{max-height:28px}
  .sk-header .elementor-widget-button:not(.sk-en) .elementor-button{padding:8px 10px!important;font-size:12.5px!important}
  /* language button: see the mobile header block at the end of this file */
}

/* the open menu panel: full width, comfortable targets */
@media (max-width:1024px){
  .elementor-nav-menu--dropdown{
    background:var(--sk-surface)!important;
    border:1px solid var(--sk-line);border-top:0;
    box-shadow:0 18px 40px rgba(0,0,0,.5)}
  .elementor-nav-menu--dropdown a.elementor-item{
    padding:15px 20px!important;font-size:16px!important}
}


/* ---------- workshop cards, second pass ----------
   A hairline of colour along the top edge, an audience chip instead of
   loose text, and the practical details pinned to the bottom so every
   card ends on the same line whatever the length of its summary. */
.sk-wcard{position:relative;overflow:hidden}
.sk-wcard::before{content:"";position:absolute;top:0;inset-inline:0;height:2px;
  background:linear-gradient(90deg,var(--sk-amber),rgba(245,165,36,0));
  opacity:.45;transition:opacity .25s ease}
.sk-wcard:hover::before{opacity:1}
.sk-wcard::after{content:"";position:absolute;inset-block-start:-40%;inset-inline-end:-30%;
  width:220px;height:220px;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle,rgba(245,165,36,.10),transparent 68%);
  opacity:0;transition:opacity .3s ease}
.sk-wcard:hover::after{opacity:1}

/* audience reads as a label, not as a stray line of text */
.sk-wtax .jet-listing-dynamic-terms__link,
.sk-wtax .jet-listing-dynamic-terms__inner{
  display:inline-block;border:1px solid rgba(245,165,36,.32);
  background:rgba(245,165,36,.08);border-radius:2px;
  padding:4px 9px;text-decoration:none;color:var(--sk-amber)!important}

.sk-wcard h3{font-size:23px!important;line-height:1.22!important;letter-spacing:-.01em}
.sk-wmeta{margin-top:auto!important}
.sk-wmeta .jet-listing-dynamic-field__content{margin:0}
.sk-wlink{margin-top:14px}

@media (max-width:767px){
  .sk-wcard h3{font-size:20px!important}
  .sk-wcard{padding:22px 20px 20px!important}
}


/* ---------- single workshop ---------- */
.sk-wsgrid{align-items:center}
.sk-wsimg img{width:100%;height:auto;border-radius:5px;border:1px solid var(--sk-line);
  display:block;aspect-ratio:4/3;object-fit:cover}
.sk-chips{align-items:stretch}
.sk-chip{height:100%}
.sk-chip .jet-listing-dynamic-field__content,
.sk-chip .jet-listing-dynamic-terms{margin:0}
.sk-chip .jet-listing-dynamic-terms__link{color:inherit!important;text-decoration:none;pointer-events:none}

/* the body of the workshop, set for reading */
.sk-wsbody{color:var(--sk-text2);font-size:16.5px;line-height:1.9}
.sk-wsbody h2{font-family:var(--sk-serif);color:var(--sk-text);font-size:25px;font-weight:700;
  margin:38px 0 14px;line-height:1.3}
.sk-wsbody p{margin:0 0 16px}
.sk-wsbody ul{margin:0 0 18px;padding-inline-start:20px}
.sk-wsbody li{margin:0 0 9px}
.sk-wsbody strong{color:var(--sk-text)}

/* the enquiry form */
.sk-wsform .elementor-field-group>label{color:var(--sk-muted)!important;margin-bottom:6px}
.sk-wsform .elementor-field-textual{
  background:#080C12!important;border:1px solid var(--sk-line)!important;color:var(--sk-text)!important;
  border-radius:3px!important;padding:12px 14px!important;min-height:46px}
.sk-wsform .elementor-field-textual:focus{border-color:var(--sk-amber)!important;
  box-shadow:0 0 0 3px rgba(245,165,36,.14)!important;outline:none}
.sk-wsform .elementor-field-textual::placeholder{color:#5B6B7E!important}
.sk-wsform .elementor-button[type="submit"]{
  background:var(--sk-amber)!important;color:#130D02!important;border:0!important;
  border-radius:2px!important;font-weight:700;padding:14px 22px!important;font-size:15.5px}
.sk-wsform .elementor-button[type="submit"]:hover{background:var(--sk-ambersoft)!important}
.sk-wsform .elementor-message{font-size:14.5px}

@media (max-width:767px){
  .sk-wsimg img{aspect-ratio:16/10}
  .sk-wsbody{font-size:16px}
  .sk-wsbody h2{font-size:22px;margin-top:30px}
}


/* ---------- archive ---------- */
.sk-cats{align-items:center}
.sk-catchip .elementor-button{transition:border-color .2s,color .2s,background .2s}
.sk-catchip .elementor-button:hover{
  border-color:var(--sk-amber)!important;color:var(--sk-amber)!important;
  background:rgba(245,165,36,.07)!important}
/* the chip for the category being viewed */
body.category .sk-catchip:first-child .elementor-button{opacity:.55}

/* an empty archive should still look designed */
.sk-empty{max-width:520px;margin:0 auto;padding:64px 20px 72px;text-align:center}
.sk-empty-mark{font-family:var(--sk-mono);font-size:34px;color:var(--sk-amber);opacity:.6;
  letter-spacing:6px;margin-bottom:18px}
.sk-empty h3{font-family:var(--sk-serif);font-size:27px;font-weight:700;color:var(--sk-text);
  margin:0 0 14px;line-height:1.3}
.sk-empty p{color:var(--sk-text2);font-size:16px;line-height:1.85;margin:0 0 12px}
.sk-empty .sk-empty-alt{color:var(--sk-muted);font-size:15px}
.sk-empty a{color:var(--sk-amber);text-decoration:none;border-bottom:1px solid rgba(245,165,36,.4)}
.sk-empty a:hover{border-bottom-color:var(--sk-amber)}
.jet-listing-not-found{padding:0!important;color:inherit!important}

@media (max-width:767px){
  .sk-cats{gap:8px!important}
  .sk-catchip .elementor-button{font-size:13px!important;padding:8px 14px!important}
  .sk-empty{padding:44px 16px 52px}
  .sk-empty h3{font-size:23px}
}


/* exactly one archive heading is shown: the static one on the posts page,
   the dynamic one on every real term archive */
.sk-arch-static{display:none}
body.blog .sk-arch-static{display:block}
body.blog .sk-arch-dyn{display:none}


/* ---------- workshop cards, third pass: a picture on top ---------- */
.sk-wcard{padding:0 0 24px!important;overflow:hidden}
.sk-wpic{width:100%;margin:0 0 18px}
.sk-wpic .jet-listing-dynamic-image{display:block;line-height:0}
.sk-wpic img{width:100%;height:150px;object-fit:cover;display:block;
  filter:saturate(.85) contrast(1.02);transition:transform .4s ease,filter .3s ease}
.sk-wcard:hover .sk-wpic img{transform:scale(1.04);filter:none}
.sk-wpic::after{content:"";position:absolute;inset-inline:0;top:112px;height:56px;pointer-events:none;
  background:linear-gradient(180deg,transparent,#0E141D)}
.sk-wpic{position:relative}

/* everything below the picture keeps a common gutter */
.sk-wcard > .e-con-inner > *:not(.sk-wpic),
.sk-wcard > *:not(.sk-wpic){padding-inline:24px}
.sk-wcard .sk-wpic{padding-inline:0}

.sk-wcard h3{font-size:21px!important;line-height:1.25!important;color:var(--sk-text)!important}
.sk-wtax{margin-top:-4px}
.sk-wmeta{padding-top:13px!important}

@media (max-width:767px){
  .sk-wpic img{height:170px}
  .sk-wpic::after{top:132px}
  .sk-wcard > *:not(.sk-wpic){padding-inline:20px}
}


/* The audience taxonomy is not public, so its term link only redirects. The
   whole card is already a link, so the chip lets that click through. */
.sk-wtax .jet-listing-dynamic-terms__link{pointer-events:none;cursor:inherit}
/* keep the overlay link under the real call to action so both still work */
.sk-wcard{position:relative}
.jet-engine-listing-overlay-link{z-index:2}
.sk-wlink{position:relative;z-index:3}

/* full-bleed proof band: edge to edge, no frame, cropped to a strip */
.sk-band img{border:0;border-radius:0;width:100%;height:clamp(240px,34vw,420px);
  object-fit:cover;object-position:center 38%}
.sk-band{position:relative}
.sk-band::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(8,12,18,.55) 0%,rgba(8,12,18,0) 26%,rgba(8,12,18,0) 62%,rgba(8,12,18,.85) 100%)}
@media(max-width:767px){.sk-band img{height:230px}}

/* named-clinician video testimonial: portrait clip, framed like the photos */
.sk-vidwrap{max-width:340px;margin-inline:auto;width:100%}
.sk-vidtest .elementor-wrapper{border:1px solid var(--sk-line);border-radius:6px;overflow:hidden;
  background:#05080C;box-shadow:0 18px 48px rgba(0,0,0,.45)}
.sk-vidtest video{display:block;width:100%;height:auto}
.sk-vidtest .elementor-custom-embed-image-overlay{background-size:cover;background-position:center 22%}
.sk-muted-note{color:var(--sk-muted)!important;opacity:.82}
.sk-muted-note p{margin:0}
@media(max-width:1024px){.sk-vidwrap{max-width:300px}}


/* ---------- motion off ----------
   Reached three ways: the OS setting, the accessibility widget's "pause
   animations", or the button below. Anything that animates INTO position has
   to be handed its final state here, or switching motion off would hide it.
   The hero headline is the one that bites: it starts at translateY(105%)
   inside an overflow:hidden box and only @keyframes skRise brings it up. */
html.sk-nomotion .sk-rise .elementor-heading-title > span{transform:none!important;animation:none!important}
html.sk-nomotion .sk-fade,
html.sk-nomotion .sk-fade.from-top,
html.sk-nomotion .sk-fade .sk-stag{opacity:1!important;transform:none!important;transition:none!important}
html.sk-nomotion .sk-steps::after{transition:none!important}
html.sk-nomotion .sk-rail{display:none!important}
html.sk-nomotion .sk-hero-bg canvas.sk-net{transform:none!important}
html.sk-nomotion .sk-caret{animation:none!important;opacity:1}
html.sk-nomotion .sk-dpip{transition:none!important}

/* The same safety net for the widget's own stylesheet, which sets
   animation:none on * but knows nothing about where our elements start. */
#ea11y-widget-pause-animations-styles ~ * .sk-rise .elementor-heading-title > span,
html:has(#ea11y-widget-pause-animations-styles) .sk-rise .elementor-heading-title > span{
 transform:none!important;animation:none!important}
html:has(#ea11y-widget-pause-animations-styles) .sk-fade,
html:has(#ea11y-widget-pause-animations-styles) .sk-fade .sk-stag{
 opacity:1!important;transform:none!important}

/* ---------- the site's own pause control ---------- */
.sk-motion-btn{position:absolute;inset-inline-end:18px;bottom:16px;z-index:6;
 display:inline-flex;align-items:center;gap:8px;cursor:pointer;
 padding:7px 13px;border-radius:30px;
 border:1px solid var(--sk-line);background:rgba(8,12,18,.72);
 -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
 color:var(--sk-muted);font:600 12.5px/1 "IBM Plex Sans Hebrew",system-ui,sans-serif;
 transition:color .2s,border-color .2s,background .2s}
.sk-motion-btn:hover{color:var(--sk-text);border-color:var(--sk-amber);background:rgba(8,12,18,.9)}
.sk-motion-btn:focus-visible{outline:2px solid var(--sk-amber);outline-offset:3px}
.sk-motion-ico{width:9px;height:11px;flex:none;background:currentColor;
 clip-path:polygon(0 0,32% 0,32% 100%,0 100%,0 0,68% 0,100% 0,100% 100%,68% 100%)}
.sk-motion-btn[aria-pressed="true"] .sk-motion-ico{clip-path:polygon(0 0,100% 50%,0 100%)}
html.sk-nomotion .sk-motion-btn{transition:none}
@media(max-width:767px){.sk-motion-btn{inset-inline-end:12px;bottom:10px;padding:6px 11px;font-size:11.5px}}
@media print{.sk-motion-btn{display:none}}


/* ================= article page ================= */

.sk-crumbs, .sk-crumbs a{color:var(--sk-muted);font-size:13px}
.sk-crumbs a:hover{color:var(--sk-amber)}
.sk-crumbs .elementor-widget-container{opacity:.85}

/* the category, as a chip rather than a line of text */
.sk-art-cat .elementor-post-info__item{padding:0}
.sk-art-cat .elementor-post-info__terms-list-item{
 display:inline-block;padding:5px 13px;border-radius:30px;
 border:1px solid var(--sk-line);color:#B4C2D2;
 font:600 12.5px/1 "IBM Plex Sans Hebrew",system-ui,sans-serif;text-decoration:none}
.sk-art-cat .elementor-post-info__terms-list-item:hover{border-color:var(--sk-amber);color:var(--sk-text)}
.sk-art-cat .elementor-inline-item:after{display:none}

.sk-art-lede p{margin:0}

/* byline row: separated by a dot, never by a wall of icons */
.sk-art-meta .elementor-post-info{display:flex;flex-wrap:wrap;gap:0;align-items:center}
.sk-art-meta .elementor-post-info__item{
 color:var(--sk-muted);font-size:13.5px;font-weight:500;padding:0}
.sk-art-meta .elementor-inline-item:not(:last-child):after{
 content:"·";margin:0 10px;color:#33455C;border:0}

/* ---------- share ---------- */
.sk-share{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.sk-share-l{color:var(--sk-muted);font-size:12.5px;font-weight:600;margin-inline-end:2px}
.sk-share-b{
 display:inline-flex;align-items:center;padding:6px 13px;border-radius:30px;cursor:pointer;
 border:1px solid var(--sk-line);background:transparent;color:#B4C2D2;
 font:600 12.5px/1 "IBM Plex Sans Hebrew",system-ui,sans-serif;text-decoration:none;
 transition:color .2s,border-color .2s}
.sk-share-b:hover{color:var(--sk-text);border-color:var(--sk-amber)}
.sk-share-b:focus-visible{outline:2px solid var(--sk-amber);outline-offset:2px}
.sk-share-b.is-done{color:var(--sk-amber);border-color:var(--sk-amber)}

.sk-art-hero-img img{border-radius:16px;width:100%;height:auto;display:block}

/* ---------- the two columns ---------- */
.sk-art-grid > .e-con-inner{align-items:start}
.sk-art-grid > .sk-art-body{min-width:0}
.sk-art-side{position:sticky;top:96px;align-self:start}
@media(max-width:1024px){.sk-art-side{position:static;top:auto}}
.sk-side-amber{box-shadow:inset 0 0 0 1px rgba(245,165,36,.10)}

/* ---------- the article itself ----------
   One measure, one rhythm. Everything the editor can emit gets a rule here,
   because a post written in 2023 will contain markup nobody plans for. */
.sk-art-body{color:#C6D2E0;font-size:17.5px;line-height:1.85;
 font-family:"IBM Plex Sans Hebrew",system-ui,sans-serif}
.sk-art-body p{margin:0 0 1.15em}
.sk-art-body > .elementor-widget-container > *:first-child{margin-top:0}
.sk-art-body h2,.sk-art-body h3,.sk-art-body h4{
 color:var(--sk-text);font-family:"Frank Ruhl Libre",Georgia,serif;
 font-weight:800;line-height:1.25;margin:1.9em 0 .55em}
.sk-art-body h2{font-size:30px}
.sk-art-body h3{font-size:23px}
.sk-art-body h4{font-size:19px;font-family:"IBM Plex Sans Hebrew",system-ui,sans-serif}
@media(max-width:767px){
 .sk-art-body{font-size:16.5px;line-height:1.8}
 .sk-art-body h2{font-size:25px}
 .sk-art-body h3{font-size:20px}
}
.sk-art-body a{color:var(--sk-amber);text-decoration:underline;text-underline-offset:3px;
 text-decoration-thickness:1px;text-decoration-color:rgba(245,165,36,.4)}
.sk-art-body a:hover{text-decoration-color:var(--sk-amber)}
.sk-art-body strong,.sk-art-body b{color:var(--sk-text);font-weight:700}
.sk-art-body ul,.sk-art-body ol{margin:0 0 1.25em;padding-inline-start:1.35em}
.sk-art-body li{margin:0 0 .5em}
.sk-art-body li::marker{color:var(--sk-amber)}
.sk-art-body img{max-width:100%;height:auto;border-radius:14px;display:block;margin:1.6em 0}
.sk-art-body figure{margin:1.6em 0}
.sk-art-body figcaption{color:var(--sk-muted);font-size:13.5px;margin-top:.6em;text-align:center}
.sk-art-body blockquote{
 margin:1.8em 0;padding:2px 20px;border-inline-start:2px solid var(--sk-amber);
 color:var(--sk-text);font-family:"Frank Ruhl Libre",Georgia,serif;
 font-size:21px;line-height:1.6}
.sk-art-body blockquote p:last-child{margin-bottom:0}
.sk-art-body hr{border:0;border-top:1px solid var(--sk-line);margin:2.4em 0}
.sk-art-body code{background:#0F1620;border:1px solid var(--sk-line);border-radius:5px;
 padding:2px 6px;font-size:.9em;color:#D8E2EE}
.sk-art-body pre{background:#0B1119;border:1px solid var(--sk-line);border-radius:12px;
 padding:16px 18px;overflow-x:auto;margin:1.6em 0}
.sk-art-body pre code{background:none;border:0;padding:0}
/* a wide table must scroll inside itself, never push the page sideways */
.sk-art-body .wp-block-table,.sk-art-body figure.wp-block-table{overflow-x:auto}
.sk-art-body table{width:100%;border-collapse:collapse;margin:1.6em 0;font-size:15.5px}
.sk-art-body th,.sk-art-body td{
 border:1px solid var(--sk-line);padding:11px 14px;text-align:start;vertical-align:top}
.sk-art-body th{background:#0B1119;color:var(--sk-text);font-weight:700}
.sk-art-body iframe,.sk-art-body video{max-width:100%;border-radius:14px}

/* ---------- the form ---------- */
.sk-art-form .elementor-field-group>label{
 color:var(--sk-muted);font-size:13px;font-weight:600;margin-bottom:6px}
.sk-art-form .elementor-field-textual{
 background:#0B1119;border:1px solid var(--sk-line);border-radius:10px;
 color:var(--sk-text);padding:12px 14px;font-size:15px;
 font-family:"IBM Plex Sans Hebrew",system-ui,sans-serif}
.sk-art-form .elementor-field-textual:focus{
 border-color:var(--sk-amber);box-shadow:0 0 0 3px rgba(245,165,36,.12);outline:none}
.sk-art-form .elementor-field-textual::placeholder{color:#5C6E85}
.sk-art-form .elementor-button{
 background:var(--sk-amber);color:#0B0E13;border:0;border-radius:30px;
 padding:12px 30px;font-weight:700;font-size:15px;cursor:pointer}
.sk-art-form .elementor-button:hover{filter:brightness(1.08)}
.sk-art-formnote,.sk-art-formnote p{color:var(--sk-muted);font-size:13.5px;margin:0}
.sk-art-formnote a{color:var(--sk-muted);text-decoration:underline}
.sk-art-formnote a:hover{color:var(--sk-amber)}

/* ---------- previous / next ---------- */
.sk-art-nav .elementor-post-navigation{border-color:var(--sk-line)}
.sk-art-nav .post-navigation__prev--label,
.sk-art-nav .post-navigation__next--label{color:var(--sk-muted);font-size:12.5px;font-weight:600}
.sk-art-nav .post-navigation__prev--title,
.sk-art-nav .post-navigation__next--title{color:#B4C2D2;font-size:15.5px;line-height:1.45}
.sk-art-nav a:hover .post-navigation__prev--title,
.sk-art-nav a:hover .post-navigation__next--title{color:var(--sk-amber)}
.sk-art-nav .elementor-post-navigation__separator{background:var(--sk-line)}
@media(max-width:767px){
 .sk-art-nav .elementor-post-navigation{flex-direction:column;gap:14px}
 .sk-art-nav .elementor-post-navigation__separator{display:none}
}

/* byline and lede, now rendered by our own shortcodes */
.sk-lede{margin:0;color:#B4C2D2;font-size:18.5px;line-height:1.7}
@media(max-width:767px){.sk-lede{font-size:17px}}
.sk-byline{display:flex;flex-wrap:wrap;align-items:center;
 color:var(--sk-muted);font-size:13.5px;font-weight:500}
.sk-byline span:not(:last-child):after{content:"·";margin:0 10px;color:#33455C}
/* Post Info draws an icon per item whether or not it was asked to. */
.sk-art-cat .elementor-icon-list-icon{display:none}
.sk-art-cat ul{margin:0;padding:0;list-style:none}

/* Two equal columns would give the article the same width as its sidebar.
   Elementor's grid control only takes a count, so the proportion lives here.
   Writing the measure in ch keeps the line length readable on a wide screen
   instead of letting it stretch with the viewport. */
/* A boxed Elementor container is two elements: the one carrying the class and
   an .e-con-inner that actually lays the children out. Styling the outer one
   built a second, empty column beside the article and squeezed the text into
   402px. The columns belong on the inner element. */
@media(min-width:1025px){
 .sk-art-grid > .e-con-inner{
  grid-template-columns:minmax(0,1.75fr) minmax(0,1fr)!important;
  align-items:start}
 .sk-art-body{max-width:72ch}
}
.sk-art-grid > .e-con-inner{align-items:start}

/* ---------- article hero, rendered by us ---------- */
.sk-art-h1{
 margin:14px 0 0;color:var(--sk-text);
 font-family:"Frank Ruhl Libre",Georgia,serif;font-weight:800;
 font-size:46px;line-height:1.16;letter-spacing:-.5px}
@media(max-width:1024px){.sk-art-h1{font-size:38px}}
@media(max-width:767px){.sk-art-h1{font-size:29px;line-height:1.2}}

.sk-cats-row{display:flex;flex-wrap:wrap;gap:8px}
.sk-cat-chip{
 display:inline-block;padding:5px 14px;border-radius:30px;
 border:1px solid var(--sk-line);color:#B4C2D2;text-decoration:none;
 font:600 12.5px/1.5 "IBM Plex Sans Hebrew",system-ui,sans-serif;
 transition:color .2s,border-color .2s}
.sk-cat-chip:hover{color:var(--sk-text);border-color:var(--sk-amber)}

.sk-featured{margin:0}
.sk-featured img,.sk-featured-img{
 display:block;width:100%;height:auto;max-height:420px;object-fit:cover;
 object-position:center;border-radius:16px;border:1px solid var(--sk-line)}
@media(max-width:767px){.sk-featured img,.sk-featured-img{max-height:260px}}
.sk-featured figcaption{
 color:var(--sk-muted);font-size:13.5px;margin-top:10px;text-align:center}

/* An article hero is for reading, so it gets a quiet gradient rather than
   the moving attention map the marketing pages use. */
.sk-art-hero{
 background:radial-gradient(120% 90% at 78% 0%,rgba(245,165,36,.09) 0%,rgba(8,12,18,0) 58%),#080C12}
.sk-art-hero .sk-crumbs{margin-bottom:2px}

/* ---------- long-form prose outside an article ----------
   The same type scale as the article body, for pages that carry real reading
   rather than marketing lines. */
.sk-prose{color:#C6D2E0;font-size:17px;line-height:1.85;max-width:74ch}
.sk-prose p{margin:0 0 1.1em}
.sk-prose p:last-child{margin-bottom:0}
.sk-prose strong{color:var(--sk-text);font-weight:700}
.sk-prose a{color:var(--sk-amber);text-decoration:underline;text-underline-offset:3px}
.sk-prose ul{margin:0;padding:0;list-style:none}
.sk-prose li{position:relative;margin:0 0 .72em;padding-inline-start:22px}
.sk-prose li:before{
 content:"";position:absolute;inset-inline-start:0;top:.62em;
 width:7px;height:7px;border-radius:50%;background:var(--sk-amber);opacity:.8}
@media(min-width:900px){
 .sk-prose-2col ul{columns:2;column-gap:44px;max-width:none}
 .sk-prose-2col li{break-inside:avoid}
 .sk-prose-2col{max-width:none}
}
/* a closing line that should land like a statement, not a paragraph */
.sk-pull .elementor-heading-title{
 color:var(--sk-text);line-height:1.5;
 padding-inline-start:18px;border-inline-start:2px solid var(--sk-amber)}
@media(max-width:767px){.sk-prose{font-size:16.5px}}

/* ================= always-available contact ================= */
/* Sits directly above the WhatsApp button, which is fixed 22px from the
   bottom and 45px tall, so this clears it with room to breathe. */
/* physical right, to stack above the WhatsApp button rather than land
   on the accessibility widget in the opposite corner */
.sk-dock-btn{
 position:fixed;right:20px;left:auto;bottom:80px;z-index:109;
 display:inline-flex;align-items:center;gap:9px;cursor:pointer;
 padding:12px 20px;border-radius:30px;border:0;
 background:var(--sk-amber);color:#0B0E13;
 font:700 14.5px/1 "IBM Plex Sans Hebrew",system-ui,sans-serif;
 box-shadow:0 8px 26px rgba(0,0,0,.45);
 transition:transform .2s,box-shadow .2s,filter .2s}
.sk-dock-btn:hover{filter:brightness(1.07);transform:translateY(-2px);
 box-shadow:0 12px 30px rgba(0,0,0,.55)}
.sk-dock-btn:focus-visible{outline:3px solid #fff;outline-offset:2px}
.sk-dock-ico{width:15px;height:15px;flex:none;background:currentColor;
 -webkit-mask:center/contain no-repeat var(--sk-mail);mask:center/contain no-repeat var(--sk-mail)}
:root{--sk-mail:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 5h20v14H2z' fill='none' stroke='black' stroke-width='2'/%3E%3Cpath d='m3 6 9 7 9-7' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E")}
@media(max-width:767px){
 .sk-dock-btn{right:14px;left:auto;bottom:74px;padding:11px 16px;font-size:13.5px}
}
@media print{.sk-dock-btn,.sk-dock-panel,.sk-dock-veil{display:none!important}}

.sk-dock-veil{position:fixed;inset:0;z-index:1200;background:rgba(4,7,11,.66);
 -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.sk-dock-panel{
 position:fixed;right:20px;left:auto;bottom:20px;z-index:1201;
 width:min(380px,calc(100vw - 40px));max-height:min(86vh,720px);overflow-y:auto;
 background:#0B1119;border:1px solid var(--sk-line);border-radius:18px;
 padding:22px 22px 18px;box-shadow:0 30px 70px rgba(0,0,0,.6)}
@media(max-width:520px){
 .sk-dock-panel{right:10px;left:10px;bottom:10px;width:auto;padding:18px 16px 14px}
}
.sk-dock-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.sk-dock-eyebrow{color:var(--sk-amber);font-size:11.5px;font-weight:700;
 letter-spacing:.14em;text-transform:uppercase}
.sk-dock-panel h2{margin:6px 0 0;color:var(--sk-text);
 font-family:"Frank Ruhl Libre",Georgia,serif;font-size:23px;font-weight:800;line-height:1.25}
.sk-dock-x{background:none;border:0;color:var(--sk-muted);font-size:26px;line-height:1;
 cursor:pointer;padding:0 4px}
.sk-dock-x:hover{color:var(--sk-text)}
.sk-dock-x:focus-visible{outline:2px solid var(--sk-amber);outline-offset:2px}
.sk-dock-body{margin-top:16px}
.sk-dock-body .elementor-field-group{margin-bottom:12px}
.sk-dock-foot{margin:14px 0 0;color:var(--sk-muted);font-size:12.5px}
.sk-dock-foot a{color:var(--sk-muted);text-decoration:underline}
.sk-dock-foot a:hover{color:var(--sk-amber)}

/* ---------- numbered stages ---------- */
.sk-stage:last-child{border-bottom:0!important}
.sk-stage > .e-con-inner{align-items:start}
@media(min-width:900px){
 .sk-stage > .e-con-inner{grid-template-columns:minmax(0,.85fr) minmax(0,2fr)!important}
}
.sk-stage-n .elementor-heading-title{line-height:1;opacity:.9}
.sk-stage-out p{margin:0;color:var(--sk-muted);font-size:14.5px;line-height:1.6}
.sk-stage-out strong{color:#B4C2D2}

/* ---------- technology columns ---------- */
.sk-stack ul{margin:0;padding:0;list-style:none}
.sk-stack li{
 color:#B4C2D2;font-size:15px;line-height:1.5;padding:9px 0;
 border-bottom:1px solid #161F2B}
.sk-stack li:last-child{border-bottom:0}
.sk-hero-note p{margin:0;color:var(--sk-muted);font-size:14px;line-height:1.7}

/* ================= development pipeline ================= */
.sk-flow{margin:0}
.sk-flow-track{
 list-style:none;margin:0;padding:0;
 display:grid;grid-template-columns:repeat(5,1fr);gap:0;
 position:relative}

/* the rail the dots sit on, drawn once behind them */
.sk-flow-track:before{
 content:"";position:absolute;top:23px;inset-inline:8%;height:2px;
 background:linear-gradient(to left,#1E2A38,#F5A524 18%,#F5A524 82%,#1E2A38);
 opacity:.45}

.sk-flow-step{
 position:relative;display:flex;flex-direction:column;align-items:center;
 text-align:center;padding:0 10px}
.sk-flow-dot{
 position:relative;z-index:1;display:grid;place-items:center;
 width:46px;height:46px;border-radius:50%;
 background:#080C12;border:2px solid #F5A524;
 box-shadow:0 0 0 6px rgba(8,12,18,1)}
.sk-flow-dot i{
 font-style:normal;color:#F5A524;
 font:800 15px/1 "Frank Ruhl Libre",Georgia,serif}
.sk-flow-t{
 margin-top:14px;color:var(--sk-text);
 font:700 17px/1.3 "IBM Plex Sans Hebrew",system-ui,sans-serif}
.sk-flow-d{
 margin-top:7px;color:var(--sk-muted);
 font:400 14px/1.6 "IBM Plex Sans Hebrew",system-ui,sans-serif}

/* the loop back, as a band under the rail rather than a curved arrow that
   would need an SVG and would not survive being made narrow */
.sk-flow-loop{
 margin-top:34px;padding:18px 22px;border-radius:14px;
 background:#0B1119;border:1px solid #2A2013;
 display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px}
.sk-flow-loop:before{
 content:"\21BA";color:#F5A524;font-size:20px;line-height:1;margin-inline-end:2px}
.sk-flow-loop-l{
 color:#F5A524;font:700 12.5px/1.4 "IBM Plex Sans Hebrew",system-ui,sans-serif;
 letter-spacing:.12em}
.sk-flow-loop-d{
 color:var(--sk-muted);flex:1 1 260px;
 font:400 15px/1.65 "IBM Plex Sans Hebrew",system-ui,sans-serif}

/* Tablet: three across, then two - never squeeze five columns of Hebrew
   into a phone. */
@media(max-width:1024px){
 .sk-flow-track{grid-template-columns:repeat(3,1fr);gap:34px 0}
 .sk-flow-track:before{display:none}
}
@media(max-width:767px){
 /* Vertical, with the rail running down the side of the numbers. */
 .sk-flow-track{grid-template-columns:1fr;gap:0}
 .sk-flow-step{
  flex-direction:row;align-items:flex-start;text-align:start;
  gap:16px;padding:0 0 26px 0}
 .sk-flow-step:before{
  content:"";position:absolute;top:44px;bottom:0;
  inset-inline-start:22px;width:2px;background:#1E2A38}
 .sk-flow-step:last-child{padding-bottom:0}
 .sk-flow-step:last-child:before{display:none}
 .sk-flow-dot{width:44px;height:44px;flex:none;box-shadow:none}
 .sk-flow-step > .sk-flow-t{margin-top:9px}
 .sk-flow-t,.sk-flow-d{align-self:flex-start}
 .sk-flow-step{display:grid;grid-template-columns:44px 1fr;
  grid-template-areas:"dot title" ". desc";column-gap:16px;row-gap:4px}
 .sk-flow-dot{grid-area:dot}
 .sk-flow-t{grid-area:title;margin-top:11px}
 .sk-flow-d{grid-area:desc;margin-top:2px}
 .sk-flow-loop{margin-top:26px;padding:16px 18px}
}

/* ================= mobile header =================
   Targeted at .sk-header itself. The earlier block aimed at
   .sk-header > .e-con-inner, which this header does not have, so none of it
   ever took effect. One row, one height, everything reachable with a thumb. */
@media(max-width:767px){
 /* mobile header, targeted at the element that actually exists */
 .sk-header{
  display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
  align-items:center!important;justify-content:space-between!important;
  gap:10px!important;
  padding:8px 14px!important;min-height:62px}

 /* logo first, at a size someone can actually recognise */
 .sk-header > .elementor-widget-theme-site-logo{flex:0 0 auto;order:0;margin:0!important}
 .sk-header > .elementor-widget-theme-site-logo,
 .sk-header .elementor-widget-theme-site-logo .elementor-widget-container{
  width:auto!important;max-width:none!important}
 .sk-header .elementor-widget-theme-site-logo img{
  height:40px!important;width:40px!important;max-height:40px!important;
  max-width:none!important;display:block}

 /* the two child containers shrink to their content instead of claiming a
    full row each */
 .sk-header > .e-con{
  flex:0 0 auto!important;width:auto!important;
  padding:0!important;margin:0!important;
  flex-direction:row!important;align-items:center!important;gap:8px!important}

 /* menu burger sits last, next to the call to action */
 .sk-header > .e-con:has(.elementor-widget-nav-menu){order:2}
 .sk-header > .e-con:has(.elementor-widget-button){order:1}
 .sk-header .elementor-widget-nav-menu{margin:0!important}
 .sk-header .elementor-menu-toggle{
  width:42px;height:42px;display:flex;align-items:center;justify-content:center;
  border:1px solid var(--sk-line);border-radius:10px}

 /* the language switch belongs on a phone too - it is two letters wide */
 .sk-header .sk-en{display:inline-flex!important}
 .sk-header .sk-lang-he{display:none!important}
 body.page-id-19945 .sk-header .sk-lang-en{display:none!important}
 body.page-id-19945 .sk-header .sk-lang-he{display:inline-flex!important}
 .sk-header .sk-en .elementor-button{
  padding:9px 11px!important;font-size:11.5px!important;
  letter-spacing:.4px!important;min-height:38px;line-height:1}

 /* the enquiry button stays, but stops shouting */
 .sk-header .elementor-widget-button:not(.sk-en) .elementor-button{
  padding:9px 13px!important;font-size:12.5px!important;
  white-space:nowrap;min-height:38px;line-height:1.2}

 .sk-header.is-stuck{padding-top:6px!important;padding-bottom:6px!important;min-height:54px}
}

/* Very narrow phones: the enquiry button is the first thing to give way, since
   the same action floats at the bottom of every page anyway. */
@media(max-width:379px){
 .sk-header .elementor-widget-button:not(.sk-en){display:none!important}
 .sk-header .elementor-widget-theme-site-logo img{height:34px!important;width:34px!important}
}

/* ================= touch targets =================
   Everything here clears 24x24 already, which is the letter of WCAG 2.5.8,
   but a 26px link is still a poor thing to aim a thumb at. These are the
   controls a reader on a phone actually reaches for. */
@media(max-width:767px){
 .sk-catchip .elementor-button{
  min-height:42px;display:inline-flex;align-items:center;
  padding-top:0!important;padding-bottom:0!important}
 .sk-cats{gap:10px!important}
 .sk-share-b{min-height:40px;padding-top:0;padding-bottom:0;align-items:center}
 .sk-motion-btn{min-height:38px;padding-top:0;padding-bottom:0}
 .sk-dock-x{width:44px;height:44px;display:grid;place-items:center;padding:0}
 /* footer and inline lists: give each link its own row of space */
 .sk-footer a,.sk-footer li > a{
  display:inline-flex;align-items:center;min-height:40px}
 .sk-flow-loop{gap:8px 12px}
}

/* ================= from thinking to development =================
   Four panes fill in order. Everything is present in the markup from the
   start; the script only decides when each pane is revealed, so with motion
   off - or with no script at all - the whole thing simply reads as finished. */
.sk-build{position:relative;border:1px solid var(--sk-line);border-radius:16px;
 background:#0A0F16;overflow:hidden}
.sk-build:before{content:"";position:absolute;inset:0;pointer-events:none;
 background:radial-gradient(90% 60% at 80% 0%,rgba(245,165,36,.07),transparent 60%)}

/* the four step names across the top */
.sk-build-rail{display:flex;flex-wrap:wrap;gap:0;
 border-bottom:1px solid var(--sk-line);background:#080C12}
.sk-build-rs{flex:1 1 0;min-width:120px;display:flex;align-items:center;gap:8px;
 padding:13px 16px;color:#5C6E85;
 font:600 12.5px/1 "IBM Plex Sans Hebrew",system-ui,sans-serif;
 border-inline-start:1px solid var(--sk-line);transition:color .35s,background .35s}
.sk-build-rs:first-child{border-inline-start:0}
.sk-build-rs i{font-style:normal;font-family:"Frank Ruhl Libre",Georgia,serif;
 font-weight:800;font-size:12px;opacity:.6}
.sk-build-rs.is-on{color:var(--sk-amber);background:rgba(245,165,36,.06)}
.sk-build-rs.is-done{color:#8FA2B8}

.sk-build-tag{position:absolute;top:56px;inset-inline-end:18px;z-index:2;
 padding:4px 11px;border-radius:30px;background:#080C12;border:1px solid #2A2013;
 color:var(--sk-amber);font:700 11.5px/1.5 "IBM Plex Sans Hebrew",system-ui,sans-serif}

.sk-build-case{display:none;padding:26px 22px 22px}
.sk-build-case.is-on{display:block}

.sk-build-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
.sk-bp{padding:0 18px;border-inline-start:1px solid #141C26;min-width:0}
.sk-bp:first-child{border-inline-start:0;padding-inline-start:0}
.sk-bp:last-child{padding-inline-end:0}
.sk-bp h4{margin:0 0 12px;color:#5C6E85;
 font:700 11px/1 "IBM Plex Sans Hebrew",system-ui,sans-serif;letter-spacing:.14em}

/* each pane waits its turn, then fades up */
.sk-anim .sk-build[data-live] .sk-bp{opacity:.12;transform:translateY(8px);
 transition:opacity .5s ease,transform .5s ease}
.sk-anim .sk-build[data-live] .sk-bp.is-in{opacity:1;transform:none}
.sk-anim .sk-build[data-live] .sk-build-rs{opacity:.5}
.sk-anim .sk-build[data-live] .sk-build-rs.is-on,
.sk-anim .sk-build[data-live] .sk-build-rs.is-done{opacity:1}

.sk-bp-said{margin:0;color:#D3DDEA;font-size:16px;line-height:1.65}
.sk-bp ul{margin:0;padding:0;list-style:none}
.sk-bp li{position:relative;margin:0 0 9px;padding-inline-start:16px;
 color:#B4C2D2;font-size:14px;line-height:1.6}
.sk-bp li:before{content:"";position:absolute;inset-inline-start:0;top:.6em;
 width:5px;height:5px;border-radius:50%;background:var(--sk-amber);opacity:.75}

/* the code pane */
.sk-bp-code pre{margin:0;padding:0;background:none;border:0;overflow-x:auto}
.sk-bp-code code{display:block;
 font:400 12.5px/1.95 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
 color:#8FA2B8;white-space:pre}
.sk-bp-code .l{display:block}
.sk-bp-code b{color:#F5A524;font-weight:600}
.sk-bp-code em{color:#7FB2E5;font-style:normal}

/* the running tool */
.sk-bo{border:1px solid var(--sk-line);border-radius:10px;background:#080C12;overflow:hidden}
.sk-bo-h{display:flex;align-items:center;gap:8px;padding:10px 13px;
 border-bottom:1px solid var(--sk-line);color:#E8EEF6;
 font:700 13px/1.3 "IBM Plex Sans Hebrew",system-ui,sans-serif}
.sk-bo-dot{width:7px;height:7px;border-radius:50%;background:#3DD68C;flex:none}
.sk-bo-l{padding:9px 13px;color:#B4C2D2;font-size:13px;line-height:1.5;
 border-bottom:1px solid #101822}
.sk-bo-l:last-child{border-bottom:0}
.sk-bo-ok:before{content:"\2713\00a0\00a0";color:#3DD68C}
.sk-bo-flag:before{content:"\21B3\00a0\00a0";color:var(--sk-amber)}

.sk-build-pips{display:flex;gap:7px;justify-content:center;
 padding:4px 0 20px}
.sk-build-pip{width:22px;height:3px;border-radius:3px;background:#1E2A38;transition:background .3s}
.sk-build-pip.is-on{background:var(--sk-amber)}

@media(max-width:1024px){
 .sk-build-grid{grid-template-columns:repeat(2,1fr);gap:26px 0}
 .sk-bp:nth-child(3){border-inline-start:0;padding-inline-start:0}
}
@media(max-width:767px){
 .sk-build-rail{display:none}
 .sk-build-grid{grid-template-columns:1fr;gap:24px}
 .sk-bp{border-inline-start:0;padding:0}
 .sk-build-case{padding:20px 16px 14px}
 .sk-build-tag{top:16px;inset-inline-end:14px}
 .sk-bp-code code{font-size:11.5px;line-height:1.85}
 .sk-bp-said{font-size:15px}
}
html.sk-nomotion .sk-build .sk-bp{opacity:1!important;transform:none!important}

/* ================= sideways pan =================
   overflow-x lived on body alone, which leaves the root element free to be
   panned - on a phone that reads as the whole page sliding left and right
   even though nothing is actually wider than the screen.
   Note: `hidden`, never `clip`. Setting overflow-x:clip on <html> here once
   disabled vertical scrolling on the entire site. */
html{overflow-x:hidden}
html,body{max-width:100%}

/* A fixed element is not clipped by an ancestor's overflow, so anything
   pinned to the viewport has to keep itself inside it. */
.cmplz-cookiebanner,.cmplz-soft-cookiewall,
.sk-dock-panel,.sk-dock-btn,.sk-motion-btn{max-width:100vw}
@media(max-width:767px){
 .cmplz-cookiebanner{inset-inline:0!important;width:auto!important;
  transform:none!important;max-width:100%!important}
}

.sk-arch-h1{margin:0;color:var(--sk-text);
 font-family:"Frank Ruhl Libre",Georgia,serif;font-weight:800;
 font-size:46px;line-height:1.14;letter-spacing:-.5px}
@media(max-width:1024px){.sk-arch-h1{font-size:38px}}
@media(max-width:767px){.sk-arch-h1{font-size:29px;line-height:1.2}}
