/*
 * SopraLabsAI theme stylesheet ("Daylight", revision 2).
 *
 * How this file works with Elementor
 * ----------------------------------
 * Pages are built from Elementor containers and standard widgets. Each one
 * carries a theme class (sl-*) in its "CSS Classes" field, and this file
 * styles those classes. Remove a class in Elementor and the element goes back
 * to plain Elementor styling.
 *
 * Padding and gaps are set through Elementor's own CSS variables
 * (--padding-top, --row-gap ...) at low specificity, so a value typed into
 * Elementor's Layout or Advanced panel for one element still wins.
 *
 * Contents
 *   1. Fonts and tokens
 *   2. Base
 *   3. Buttons and links
 *   4. Header and footer
 *   5. Section surfaces and headings
 *   6. Components (cards, splits, steps, lists, bands)
 *   7. Blog: post cards, single post, archives
 *   8. Contact and legal
 *   9. Responsive
 */

/* 1. Fonts and tokens ---------------------------------------------------- */
@font-face{font-family:"Outfit Variable";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/outfit-latin-wght-normal.woff2) format("woff2")}
@font-face{font-family:"Inter Variable";font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/inter-latin-wght-normal.woff2) format("woff2")}
@font-face{font-family:"Inter Variable";font-style:italic;font-weight:100 900;font-display:swap;src:url(../fonts/inter-latin-wght-italic.woff2) format("woff2")}

:root{
  --sl-blue:#0064DC;--sl-blue-ink:#0057C2;--sl-blue-deep:#004AA8;--sl-blue-dark:#0A3478;--sl-link-light:#E1F2FF;
  --sl-orange:#FF7E3B;--sl-orange-soft:#FF9A66;--sl-orange-wash:#FFE9DE;--sl-orange-ink:#8A3A10;
  --sl-navy:#0F2140;--sl-ink:#1B2A41;--sl-muted:#56657C;
  --sl-line:#E2E8F1;--sl-surface:#F4F7FB;--sl-ice:#E6F0FD;--sl-ice-line:#CFE1FA;--sl-ice-edge:#BFD3F0;
  --sl-fh:"Outfit Variable","Outfit",system-ui,-apple-system,"Segoe UI",sans-serif;
  --sl-fb:"Inter Variable","Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --sl-wrap:1200px;--sl-gutter:32px;--sl-sec:104px;
  --sl-r:16px;--sl-r-lg:24px;--sl-r-xl:28px;--sl-r-btn:10px;
  /* context colours: reverse sections override these */
  --sl-head:var(--sl-navy);--sl-text:var(--sl-muted);--sl-strong:var(--sl-navy);--sl-eyebrow:var(--sl-blue-ink);--sl-link:var(--sl-blue-dark);--sl-link-h:var(--sl-navy);--sl-rule:var(--sl-line);
  --sl-btn-bg:var(--sl-blue);--sl-btn-ink:#fff;--sl-btn-bg-h:var(--sl-blue-deep);
  --sl-btn2-line:#9DB9E2;--sl-btn2-ink:var(--sl-blue-dark);--sl-btn2-bg-h:var(--sl-ice);
  --sl-star:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill='%23FF7E3B' d='M50 0C55 30 70 45 100 50 70 55 55 70 50 100 45 70 30 55 0 50 30 45 45 30 50 0Z'/%3E%3C/svg%3E");
  --sl-star-blue:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill='%230064DC' d='M50 0C55 30 70 45 100 50 70 55 55 70 50 100 45 70 30 55 0 50 30 45 45 30 50 0Z'/%3E%3C/svg%3E");
  --sl-star-white:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill='%23FFFFFF' d='M50 0C55 30 70 45 100 50 70 55 55 70 50 100 45 70 30 55 0 50 30 45 45 30 50 0Z'/%3E%3C/svg%3E");
  --sl-star-navy:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill='%230F2140' d='M50 0C55 30 70 45 100 50 70 55 55 70 50 100 45 70 30 55 0 50 30 45 45 30 50 0Z'/%3E%3C/svg%3E");
  --sl-check-white:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='none' stroke='%23FFFFFF' stroke-width='2.4' d='M2.5 7.5l3 3 6-6.5'/%3E%3C/svg%3E");
  --sl-check-navy:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='none' stroke='%230F2140' stroke-width='2.4' d='M2.5 7.5l3 3 6-6.5'/%3E%3C/svg%3E");
  --sl-check-blue:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath fill='none' stroke='%230064DC' stroke-width='2.4' d='M2.5 7.5l3 3 6-6.5'/%3E%3C/svg%3E");
}

/* 2. Base ---------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body.sl-site{margin:0;font-family:var(--sl-fb);font-size:17px;line-height:1.6;color:var(--sl-ink);background:#fff}
.sl-site img{max-width:100%;height:auto}
/* Link colours. Rule: very dark blue on white and orange; white or very light blue on navy and blue.
   Elementor's Site Settings print their own link colour after this file, so these selectors are
   written to outrank it on any surface. */
.sl-site a{color:var(--sl-link)}
.sl-site a:hover{color:var(--sl-link-h)}
.sl-site :is(.sl-navy,.sl-blue,.sl-phead,.sl-t-phead,.sl-ftr,.sl-acard,.sl-cta-in,.sl-proof) a:not(.sl-btn):not(.elementor-button){color:var(--sl-link)}
.sl-site :is(.sl-navy,.sl-blue,.sl-phead,.sl-t-phead,.sl-ftr,.sl-acard,.sl-cta-in,.sl-proof) a:not(.sl-btn):not(.elementor-button):hover{color:var(--sl-link-h);text-decoration:underline}
.sl-site h1,.sl-site h2,.sl-site h3,.sl-site h4{font-family:var(--sl-fh);font-weight:600;color:var(--sl-head)}
/* resets at zero specificity, so any component rule below can set its own spacing */
:where(.sl-site) :is(h1,h2,h3,h4,p,ul,ol,figure,blockquote){margin:0}
:where(.sl-site) :is(ul,ol){padding:0}
.sl-site h1{font-size:clamp(38px,5.2vw,64px);line-height:1.06;letter-spacing:-.02em}
.sl-site h2{font-size:clamp(29px,3.4vw,40px);line-height:1.16;letter-spacing:-.015em}
.sl-site h3{font-size:21px;line-height:1.3}
.sl-site h1 em,.sl-site h2 em{font-style:italic}
.sl-site a.sl-skip{position:absolute;left:-9999px;top:0;z-index:1000;background:var(--sl-navy);color:#fff;padding:12px 18px;border-radius:0 0 10px 0;font-weight:600}
.sl-site a.sl-skip:focus{left:0;color:#fff}
.sl-site main:focus{outline:0}
.sl-site :focus-visible{outline:3px solid var(--sl-orange);outline-offset:3px;border-radius:4px}
.sl-site .screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}
.sl-wrap{width:100%;max-width:calc(var(--sl-wrap) + 2*var(--sl-gutter));margin-inline:auto;padding-inline:var(--sl-gutter)}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.sl-site *{transition:none!important;animation:none!important}}

/* 3. Buttons and links --------------------------------------------------- */
.sl-site a.sl-btn,.sl-site .sl-btn .elementor-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 28px;font:600 16px/1.2 var(--sl-fb);border-radius:var(--sl-r-btn);border:1.5px solid transparent;text-decoration:none;text-align:center;transition:background-color .18s,color .18s,border-color .18s;background:var(--sl-btn-bg);color:var(--sl-btn-ink);fill:currentColor}
.sl-site a.sl-btn:hover,.sl-site a.sl-btn:focus,.sl-site .sl-btn .elementor-button:hover,.sl-site .sl-btn .elementor-button:focus{background:var(--sl-btn-bg-h);color:var(--sl-btn-ink)}
.sl-site a.sl-btn--secondary,.sl-site .sl-btn--secondary .elementor-button{background:transparent;border-color:var(--sl-btn2-line);color:var(--sl-btn2-ink)}
.sl-site a.sl-btn--secondary:hover,.sl-site a.sl-btn--secondary:focus,.sl-site .sl-btn--secondary .elementor-button:hover,.sl-site .sl-btn--secondary .elementor-button:focus{background:var(--sl-btn2-bg-h);color:var(--sl-btn2-ink)}
.sl-site a.sl-btn--sm,.sl-site .sl-btn--sm .elementor-button{min-height:44px;padding:9px 22px;font-size:15px}
.sl-site .sl-btns{display:flex;flex-direction:row;flex-wrap:wrap;gap:14px;margin-top:32px}
.sl-site .e-con.sl-btns{--flex-direction:row;--flex-wrap:wrap;--row-gap:14px;--column-gap:14px}
.sl-site .sl-btns>.elementor-widget{width:auto;flex:0 0 auto}
.sl-site a.sl-tlink,.sl-site .sl-tlink .elementor-button{display:inline-flex;gap:8px;align-items:center;font:600 15px/1.4 var(--sl-fb);color:var(--sl-link);background:none;border:0;padding:0;min-height:0;border-radius:0;text-decoration:none}
.sl-site a.sl-tlink::after,.sl-site .sl-tlink .elementor-button::after{content:"\2192";transition:transform .18s}
.sl-site a.sl-tlink:hover::after,.sl-site .sl-tlink .elementor-button:hover::after{transform:translateX(4px)}
.sl-site a.sl-tlink:hover,.sl-site a.sl-tlink:focus,.sl-site .sl-tlink .elementor-button:hover,.sl-site .sl-tlink .elementor-button:focus{color:var(--sl-link-h);text-decoration:underline;background:none}

/* 4. Header and footer --------------------------------------------------- */
.sl-hdr{background:#fff;border-bottom:1px solid #EEF2F7;position:relative;z-index:50}
.sl-hdr-in{display:flex;align-items:center;min-height:92px;gap:36px}
.sl-logo{display:block;flex:none}
.sl-site .sl-logo img{height:56px;width:auto;display:block}
.sl-nav{margin-left:auto}
.sl-nav ul{list-style:none;display:flex;gap:30px;align-items:center}
.sl-site .sl-nav a{font-size:15px;font-weight:500;color:#22324B;text-decoration:none;padding:8px 0;display:block;border-bottom:2px solid transparent}
.sl-site .sl-nav a:hover{color:var(--sl-blue-dark);border-bottom-color:var(--sl-ice-edge)}
.sl-site .sl-nav :is(.current-menu-item,.current_page_item,.current-menu-ancestor,.current_page_parent)>a,.sl-site .sl-nav a[aria-current]{color:var(--sl-blue-dark);font-weight:600;border-bottom-color:var(--sl-orange)}
.sl-site .sl-nav-toggle{display:none;margin-left:auto;background:none;border:1.5px solid var(--sl-ice-edge);border-radius:10px;width:46px;height:46px;padding:0;cursor:pointer;color:var(--sl-navy)}
.sl-site .sl-nav-toggle:hover,.sl-site .sl-nav-toggle:focus{background:var(--sl-surface);color:var(--sl-navy)}
.sl-nav-toggle span{display:block;width:20px;height:2px;background:currentColor;margin:4px auto;border-radius:2px}

.sl-ftr{background:var(--sl-navy);color:#B8C5DA;font-size:15px;padding-top:72px}
.sl-ftr{--sl-link:var(--sl-link-light);--sl-link-h:#fff}
.sl-site .sl-ftr a{text-decoration:none}
.sl-ftr-grid{display:grid;grid-template-columns:1.5fr .62fr .62fr .8fr 1.25fr;gap:40px;padding-bottom:56px}
.sl-site .sl-ftr-logo{height:60px;width:auto;display:block;margin-bottom:18px}
.sl-ftr-brand p{max-width:330px}
.sl-ftr-brand .sl-ftr-tag{margin-top:12px;font-weight:500;color:#fff}
.sl-site .sl-ftr h2{font:600 13px/1 var(--sl-fb);letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:18px}
.sl-ftr ul{list-style:none}
.sl-ftr li{margin-bottom:10px}
.sl-ftr-next p{margin-bottom:16px}
.sl-ftr{--sl-btn-bg:var(--sl-orange);--sl-btn-ink:var(--sl-navy);--sl-btn-bg-h:var(--sl-orange-soft)}
.sl-site .sl-ftr a.sl-btn{color:var(--sl-navy);text-decoration:none}
.sl-ftr-bar{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:24px 0;border-top:1px solid rgba(255,255,255,.14);font-size:13.5px}

/* 5. Section surfaces and headings --------------------------------------- */
/* every theme container: clear Elementor's default 10px padding and 20px gap */
.e-con.sl-c{--padding-top:0px;--padding-right:0px;--padding-bottom:0px;--padding-left:0px;--row-gap:0px;--column-gap:0px;--gap:0px}
.e-con.sl-sec{--padding-top:var(--sl-sec);--padding-bottom:var(--sl-sec);--padding-left:var(--sl-gutter);--padding-right:var(--sl-gutter);--overflow:hidden}
.sl-site .sl-sec>.e-con-inner{position:relative;z-index:1;max-width:var(--sl-wrap)}
.sl-site .sl-alt{background:var(--sl-surface)}
.sl-site .sl-navy,.sl-site .sl-phead{background:var(--sl-navy);color:#fff;--sl-head:#fff;--sl-text:#B8C5DA;--sl-strong:#fff;--sl-eyebrow:var(--sl-orange);--sl-link:var(--sl-link-light);--sl-link-h:#fff;--sl-rule:rgba(255,255,255,.14);--sl-btn-bg:var(--sl-orange);--sl-btn-ink:var(--sl-navy);--sl-btn-bg-h:var(--sl-orange-soft);--sl-btn2-line:rgba(255,255,255,.5);--sl-btn2-ink:#fff;--sl-btn2-bg-h:rgba(255,255,255,.12)}
.sl-site .sl-blue{background:var(--sl-blue);color:#fff;--sl-head:#fff;--sl-text:#E6EFFC;--sl-strong:#fff;--sl-eyebrow:#fff;--sl-link:#fff;--sl-link-h:#fff;--sl-rule:rgba(255,255,255,.26);--sl-btn-bg:#fff;--sl-btn-ink:var(--sl-blue-deep);--sl-btn-bg-h:var(--sl-ice);--sl-btn2-line:rgba(255,255,255,.5);--sl-btn2-ink:#fff;--sl-btn2-bg-h:rgba(255,255,255,.12)}
/* heading colour follows the surface (Elementor's default sets navy on every heading widget) */
.sl-site .sl-c :is(h1,h2,h3,h4).elementor-heading-title{color:var(--sl-head);font-family:var(--sl-fh);font-weight:600}
.sl-site .sl-c .elementor-widget-text-editor{color:var(--sl-text);font-family:var(--sl-fb)}
.sl-site .sl-c .elementor-widget-text-editor a{color:var(--sl-link);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.sl-site .sl-c .elementor-widget-text-editor a:hover{color:var(--sl-link-h);text-decoration-thickness:2px}
.sl-site .sl-c .elementor-widget-text-editor strong,.sl-site .sl-c .elementor-widget-text-editor b{color:var(--sl-strong);font-weight:600}

/* Elementor "default colours and fonts" safety net.
   When those defaults are on, Elementor writes one rule per heading and button that reads its
   global variables (primary colour for headings, accent for button fills). Those rules outrank a
   theme stylesheet, which is how headings ended up navy on navy. Rather than fight the rule, the
   variables themselves are re-pointed per surface and per label style, so the default resolves to
   the right colour everywhere. A colour chosen for a widget in the editor still takes over. */
.sl-site :is(.sl-navy,.sl-blue,.sl-phead){--e-global-color-primary:var(--sl-head);--e-global-color-secondary:var(--sl-head);--e-global-color-text:var(--sl-text)}
.sl-site .sl-cta-in{--e-global-color-primary:var(--sl-navy);--e-global-color-text:var(--sl-navy)}
.sl-site :is(.sl-float,.sl-over,.sl-form,.sl-post){--e-global-color-primary:var(--sl-navy);--e-global-color-text:var(--sl-muted)}
.sl-site :is(.sl-eyebrow,.sl-pill,.sl-k,.sl-sub,.sl-cat,.sl-tag,.sl-dur,.sl-cta-k){--e-global-typography-primary-font-family:"Inter Variable";--e-global-typography-primary-font-weight:600}
.sl-site .sl-eyebrow{--e-global-color-primary:var(--sl-eyebrow)}
.sl-site :is(.sl-pill,.sl-k,.sl-sub){--e-global-color-primary:var(--sl-blue-ink)}
.sl-site .sl-cat{--e-global-color-primary:var(--sl-blue-dark)}
.sl-site .sl-tag{--e-global-color-primary:var(--sl-orange-ink)}
.sl-site .sl-blue .sl-tag{--e-global-color-primary:var(--sl-blue-deep)}
.sl-site .sl-dur{--e-global-color-primary:#FFB48E}
.sl-site .sl-blue .sl-dur{--e-global-color-primary:#fff}
.sl-site .sl-cta-k{--e-global-color-primary:var(--sl-navy)}
.sl-site .sl-gov{--e-global-color-primary:#fff}
.sl-site .sl-btn{--e-global-color-accent:var(--sl-btn-bg)}
.sl-site .sl-btn:hover,.sl-site .sl-btn:focus-within{--e-global-color-accent:var(--sl-btn-bg-h)}
.sl-site .sl-btn--secondary{--e-global-color-accent:transparent}
.sl-site .sl-btn--secondary:hover,.sl-site .sl-btn--secondary:focus-within{--e-global-color-accent:var(--sl-btn2-bg-h)}
.sl-site .sl-tlink,.sl-site .sl-tlink:hover{--e-global-color-accent:transparent}

/* small uppercase label above a heading */
.sl-site .sl-eyebrow,.sl-site .sl-eyebrow .elementor-heading-title{font:600 13px/1.4 var(--sl-fb);letter-spacing:.14em;text-transform:uppercase;color:var(--sl-eyebrow);margin:0}
.sl-site .sl-eyebrow{margin-bottom:18px}
.sl-site :is(.sl-head,.sl-col,.sl-s-text)>.sl-eyebrow::before{content:"";display:block;width:40px;height:4px;border-radius:2px;background:var(--sl-orange);margin-bottom:16px}
.sl-site .sl-lede,.sl-site .sl-lede p{font-size:clamp(18px,1.5vw,20px);line-height:1.55;color:var(--sl-text)}
.sl-site .sl-lede{margin-top:16px}
.sl-site .sl-lede p+p{margin-top:14px}
.e-con.sl-head{--width:100%;max-width:780px;margin-bottom:52px}
.sl-site .sl-head .sl-lede,.sl-site .sl-head .sl-lede p{font-size:19px}
.sl-site .sl-head2{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:end;margin-bottom:52px}
.sl-site .sl-head2 .sl-prose p{font-size:17px;line-height:1.65;color:var(--sl-text)}
.sl-site .sl-prose p+p{margin-top:14px}
.sl-site .sl-two{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}

/* page header (navy, orange star) */
.e-con.sl-phead{--padding-top:92px;--padding-bottom:84px}
/* Elementor uses .e-con::before for its background overlay (absolute, top-left, full size).
   Decorations that sit in the flow therefore use ::after with order:-1; the absolute ::before
   graphics below reset what Elementor sets. */
.sl-site .sl-phead::before,.sl-site .sl-blue.sl-deco::before{left:auto;mix-blend-mode:normal;border:0;border-radius:0;transition:none}
.sl-site .sl-phead::before{opacity:1}
.sl-site .sl-hero-img::before,.sl-site .sl-s-img::before{width:auto;height:auto;opacity:1;mix-blend-mode:normal;border:0;transition:none}
.sl-site .sl-phead::before,.sl-site .sl-blue.sl-deco::before,.sl-site .sl-navy.sl-deco::after,.sl-site .sl-phead::after,.sl-site .sl-blue.sl-deco::after{content:"";position:absolute;background:no-repeat center/contain;pointer-events:none}
.sl-site .sl-phead::before{width:520px;height:520px;right:max(-110px,calc(50% - 830px));top:-150px;background-image:var(--sl-star)}
.sl-site .sl-phead::after{width:150px;height:150px;right:max(330px,calc(50% - 390px));bottom:-60px;background-image:var(--sl-star-blue)}
.sl-site .sl-phead h1{font-size:clamp(36px,4.6vw,56px);max-width:860px}
.sl-site .sl-phead--long h1{font-size:clamp(30px,3.5vw,42px);line-height:1.14;max-width:900px}
.sl-site .sl-phead .sl-lede{margin-top:22px;max-width:700px}
.sl-site .sl-phead .sl-lede,.sl-site .sl-phead .sl-lede p{color:#C9D4E5}
/* blue and navy bands with a star */
.sl-site .sl-blue.sl-deco::before{width:560px;height:560px;right:max(-170px,calc(50% - 890px));top:-200px;background-image:var(--sl-star-white);opacity:.1}
.sl-site .sl-blue.sl-deco::after{width:110px;height:110px;right:max(120px,calc(50% - 600px));top:70px;background-image:var(--sl-star)}
.sl-site .sl-blue.sl-deco--plain::after{display:none}
.sl-site .sl-stmt.sl-deco::after{width:120px;height:120px;top:auto;bottom:44px;right:max(150px,calc(50% - 570px))}
.sl-site .sl-navy.sl-deco::after{width:280px;height:280px;right:max(-130px,calc(50% - 850px));bottom:-140px;background-image:var(--sl-star)}

/* 6. Components ---------------------------------------------------------- */
/* hero */
.e-con.sl-hero{--padding-top:96px;--padding-bottom:112px;background:linear-gradient(180deg,var(--sl-surface) 0%,#fff 100%)}
.sl-site .sl-hero>.e-con-inner{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:center}
.sl-site .sl-pill,.sl-site .sl-pill .elementor-heading-title{font:600 13px/1.4 var(--sl-fb);letter-spacing:.1em;text-transform:uppercase;color:var(--sl-blue-ink)}
.sl-site .sl-pill .elementor-heading-title,.sl-site p.sl-pill{display:inline-flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--sl-line);padding:9px 16px;border-radius:99px}
.sl-site .sl-pill .elementor-heading-title::before,.sl-site p.sl-pill::before{content:"";width:14px;height:14px;flex:none;background:var(--sl-star) no-repeat center/contain}
.sl-site .sl-pill{margin-bottom:18px}
.sl-site .sl-hl{background:linear-gradient(transparent 62%,#FFC7AB 62%,#FFC7AB 94%,transparent 94%)}
.sl-site .sl-hero .sl-lede{margin-top:26px;max-width:560px}
.sl-site .sl-hero .sl-btns{margin-top:36px}
.sl-site .sl-hero-img{position:relative}
.sl-site .sl-hero-img::before{content:"";position:absolute;inset:32px -22px -22px 32px;background:var(--sl-orange);border-radius:var(--sl-r-xl)}
.sl-site .sl-hero-img img{position:relative;display:block;width:100%;height:540px;object-fit:cover;border-radius:var(--sl-r-xl);border:1px solid var(--sl-ice-line)}
.sl-site .sl-float{position:absolute;left:-36px;bottom:40px;z-index:2;width:auto;max-width:400px;background:#fff;border-radius:var(--sl-r);box-shadow:0 24px 48px -20px rgba(15,33,64,.45)}
.e-con.sl-float{--padding-top:18px;--padding-bottom:18px;--padding-left:86px;--padding-right:22px}
.sl-site .sl-float.sl-ico::after{position:absolute;left:22px;top:18px;margin:0;order:0}
.sl-site .sl-k,.sl-site .sl-k .elementor-heading-title{font:600 11.5px/1.3 var(--sl-fb);letter-spacing:.12em;text-transform:uppercase;color:var(--sl-blue-ink)}
.sl-site .sl-k{margin-bottom:6px}
.sl-site .sl-float :is(h2,h3),.sl-site .sl-float :is(h2,h3).elementor-heading-title{font-size:16px;line-height:1.2;letter-spacing:0;color:var(--sl-navy)}
.sl-site .sl-small,.sl-site .sl-small p{font-size:13.5px;line-height:1.45;color:var(--sl-muted)}
.sl-site .sl-small{margin-top:4px}

/* icon tile, drawn as a pseudo-element so the card needs no image */
.sl-site .sl-ico::after{content:"";display:block;order:-1;width:48px;height:48px;border-radius:12px;margin-bottom:24px;flex:none;background:var(--sl-ice) no-repeat center/24px 24px}
.sl-site .sl-ico--strategy::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230057C2' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M15.5 8.5l-2 5-5 2 2-5z'/%3E%3C/svg%3E")}
.sl-site .sl-ico--shield::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230057C2' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.5-3 8-7 10-4-2-7-5.5-7-10V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E")}
.sl-site .sl-ico--layers::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230057C2' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l9 5-9 5-9-5z'/%3E%3Cpath d='M3 12l9 5 9-5'/%3E%3Cpath d='M3 16l9 5 9-5'/%3E%3C/svg%3E")}
.sl-site .sl-ico--nodes::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230057C2' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='5' cy='12' r='2'/%3E%3Ccircle cx='19' cy='5' r='2'/%3E%3Ccircle cx='19' cy='19' r='2'/%3E%3Cpath d='M7 11l10-5M7 13l10 5'/%3E%3C/svg%3E")}

/* orange value strip */
.e-con.sl-proof{--padding-left:var(--sl-gutter);--padding-right:var(--sl-gutter)}
.sl-site .sl-proof{background:var(--sl-orange);--sl-link:var(--sl-navy);--sl-link-h:var(--sl-navy)}
.sl-site .sl-proof>.e-con-inner{max-width:var(--sl-wrap)}
.sl-site .sl-proof ul{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:0 24px}
.sl-site .sl-proof li{display:flex;gap:12px;align-items:center;padding:26px 0;font-size:17px;font-weight:500;color:var(--sl-navy)}
.sl-site .sl-proof li::before{content:"";width:16px;height:16px;flex:none;background:var(--sl-star-navy) no-repeat center/contain}
.sl-site .sl-proof li strong{font-weight:700;color:var(--sl-navy)}

/* statement band */
.e-con.sl-stmt{--padding-top:88px;--padding-bottom:88px}
.sl-site .sl-stmt-text p{font:500 clamp(22px,2.4vw,30px)/1.42 var(--sl-fh);max-width:1040px;color:#fff;letter-spacing:-.005em}
.sl-site .sl-stmt-text strong{font-weight:600;border-bottom:4px solid var(--sl-orange);color:#fff}

/* card grids */
.sl-site .sl-cards{display:grid;gap:24px}
.sl-site .sl-cards--3{grid-template-columns:repeat(3,1fr)}
.sl-site .sl-cards--4{grid-template-columns:repeat(4,1fr)}
.sl-site .sl-card{background:#fff;border:1px solid var(--sl-line);border-radius:var(--sl-r);height:100%}
.e-con.sl-card{--padding-top:32px;--padding-right:30px;--padding-bottom:30px;--padding-left:30px}
.sl-site .sl-cards--4 .sl-card h3{font-size:20px}
.sl-site .sl-card-text,.sl-site .sl-card-text p{font-size:16px;line-height:1.6;color:var(--sl-text)}
.sl-site .sl-card-text{margin-top:12px}
.sl-site .sl-cards--top .sl-card{border-top:4px solid var(--sl-orange)}
.sl-site .sl-cards--lbar .sl-card{border-left:4px solid var(--sl-orange);border-radius:6px var(--sl-r) var(--sl-r) 6px}
.sl-site .sl-navy .sl-card{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14)}
/* cards on blue are a shade darker than the band, which keeps their text above 4.5:1 */
.sl-site .sl-blue .sl-card{background:rgba(15,33,64,.16);border-color:rgba(255,255,255,.3)}
.sl-site .sl-sub,.sl-site .sl-sub .elementor-heading-title{font:600 14px/1.3 var(--sl-fb);color:var(--sl-blue-ink)}
.sl-site .sl-sub{margin-top:6px}
.sl-site .sl-tag{margin-bottom:16px}
.sl-site .sl-tag .elementor-heading-title,.sl-site p.sl-tag{display:inline-block;font:600 12px/1 var(--sl-fb);letter-spacing:.08em;text-transform:uppercase;color:var(--sl-orange-ink);background:var(--sl-orange-wash);padding:7px 11px;border-radius:99px}
.sl-site .sl-blue .sl-tag .elementor-heading-title{background:#fff;color:var(--sl-blue-deep)}
/* "Typical artifacts" block: a label paragraph then a dotted list */
.sl-site .sl-arts{margin-top:auto;padding-top:24px}
.sl-site .sl-arts::before{content:"";display:block;border-top:1px solid var(--sl-rule);margin-bottom:20px}
.sl-site .sl-card .sl-card-text+.sl-arts,.sl-site .sl-card .sl-card-text+.sl-recv{margin-top:auto}
.sl-site .sl-arts p{font:600 12px/1 var(--sl-fb);letter-spacing:.12em;text-transform:uppercase;color:var(--sl-blue-ink);margin-bottom:12px}
.sl-site .sl-arts ul{list-style:none}
.sl-site .sl-arts li{font-size:15px;line-height:1.5;color:var(--sl-ink);padding-left:20px;position:relative;margin-bottom:6px}
.sl-site .sl-arts li::before{content:"";position:absolute;left:0;top:8px;width:8px;height:8px;border-radius:50%;background:var(--sl-orange)}
/* "You receive / Outputs" footer line of a card */
.sl-site .sl-recv{padding-top:20px}
.sl-site .sl-recv p{padding-top:16px;border-top:1px solid var(--sl-rule);font-size:14.5px;line-height:1.5;color:var(--sl-ink)}
.sl-site .sl-recv strong{color:var(--sl-blue-ink);font-weight:600}
.sl-site .sl-navy .sl-recv p,.sl-site .sl-blue .sl-recv p{color:#E4EAF4}
.sl-site .sl-navy .sl-recv strong{color:var(--sl-orange-soft)}
.sl-site .sl-blue .sl-recv strong{color:#fff}

/* numbered steps and lifecycle cards */
.sl-site .sl-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;counter-reset:slstep}
.sl-site .sl-step{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:var(--sl-r);height:100%}
.e-con.sl-step{--padding-top:26px;--padding-right:20px;--padding-bottom:26px;--padding-left:20px}
.sl-site .sl-numbered{counter-reset:slstep}
.sl-site .sl-num::after{counter-increment:slstep;content:counter(slstep);order:-1;width:40px;height:40px;border-radius:50%;background:var(--sl-orange);color:var(--sl-navy);display:grid;place-items:center;font:600 15px/1 var(--sl-fh);margin-bottom:18px;flex:none}
.sl-site .sl-dur{margin:12px 0 2px}
.sl-site .sl-dur .elementor-heading-title,.sl-site span.sl-dur{display:inline-block;font:600 12px/1 var(--sl-fb);letter-spacing:.06em;color:#FFB48E;border:1px solid rgba(255,180,142,.5);padding:6px 10px;border-radius:99px}
.sl-site .sl-blue .sl-dur .elementor-heading-title{color:#fff;border-color:rgba(255,255,255,.55)}
.sl-site .sl-step .sl-card-text,.sl-site .sl-step .sl-card-text p{font-size:15px}
.sl-site .sl-step .sl-card-text{margin-top:10px}
.sl-site .sl-gov{margin-top:16px;border:1px solid rgba(255,126,59,.55);background:rgba(255,126,59,.08);border-radius:var(--sl-r);display:grid;grid-template-columns:auto auto 1fr;gap:16px;align-items:center}
.e-con.sl-gov{--padding-top:20px;--padding-bottom:20px;--padding-left:24px;--padding-right:24px}
.sl-site .sl-gov::after{content:"";order:-1;width:24px;height:24px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FF7E3B' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.5-3 8-7 10-4-2-7-5.5-7-10V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E")}
.sl-site .sl-gov h3,.sl-site .sl-gov h3.elementor-heading-title{font-size:17px;line-height:1.2;color:#fff;white-space:nowrap}
.sl-site .sl-gov .sl-card-text,.sl-site .sl-gov .sl-card-text p{margin:0;color:#D7E0EE;font-size:16px}
.sl-site .sl-after{margin-top:48px}
.sl-site .sl-blue .sl-card--gov{border:1.5px dashed rgba(255,255,255,.7);background:rgba(15,33,64,.34)}
.sl-site .sl-card--gov::after{content:"";display:block;order:-1;width:40px;height:40px;margin-bottom:18px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v5c0 4.5-3 8-7 10-4-2-7-5.5-7-10V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E")}

/* image and text split */
.sl-site .sl-split>.e-con-inner,.sl-site .sl-split.e-con-full{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.sl-site .sl-s-img{position:relative}
.sl-site .sl-s-img::before{content:"";position:absolute;inset:26px 26px -18px -18px;background:var(--sl-orange);border-radius:var(--sl-r-lg)}
.sl-site .sl-split--rev .sl-s-img{order:2}
.sl-site .sl-split--rev .sl-s-img::before{inset:26px -18px -18px 26px}
.sl-site .sl-split--blue .sl-s-img::before{background:var(--sl-blue)}
.sl-site .sl-s-img img{position:relative;width:100%;display:block;border-radius:var(--sl-r-lg);aspect-ratio:4/3;object-fit:cover;border:1px solid var(--sl-ice-line)}
.sl-site .sl-over{position:absolute;left:24px;right:24px;bottom:24px;width:auto;background:#fff;border-radius:var(--sl-r);box-shadow:0 20px 40px -22px rgba(15,33,64,.5)}
.e-con.sl-over{--padding-top:20px;--padding-bottom:20px;--padding-left:22px;--padding-right:22px}
.sl-site .sl-over .sl-k{margin-bottom:8px}
.sl-site .sl-over h3,.sl-site .sl-over h3.elementor-heading-title{font-size:19px;line-height:1.25;color:var(--sl-navy)}
.sl-site .sl-over .sl-small,.sl-site .sl-over .sl-small p{font-size:15px;line-height:1.5;margin-top:6px}
.sl-site .sl-s-text .sl-prose{margin-top:16px}
.sl-site .sl-s-text .sl-prose p{font-size:18px;color:var(--sl-text)}

/* tick lists */
.sl-site .sl-ticks ul{list-style:none}
.sl-site .sl-ticks li{position:relative;padding-left:38px;font-size:16.5px;line-height:1.5;margin-bottom:14px;color:var(--sl-ink)}
.sl-site .sl-ticks li::before{content:"";position:absolute;left:0;top:1px;width:24px;height:24px;border-radius:50%;background:var(--sl-blue) var(--sl-check-white) no-repeat center/13px 13px}
.sl-site .sl-ticks li strong{font-weight:600;color:var(--sl-navy)}
.sl-site .sl-s-text .sl-ticks{margin-top:24px}
.sl-site :is(.sl-navy,.sl-blue) .sl-ticks li,.sl-site :is(.sl-navy,.sl-blue) .sl-ticks li strong{color:#fff}
.sl-site .sl-navy .sl-ticks li::before{background-color:var(--sl-orange);background-image:var(--sl-check-navy)}
.sl-site .sl-blue .sl-ticks li::before{background-color:#fff;background-image:var(--sl-check-blue)}
.sl-site .sl-ticks--grid ul{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px}
.sl-site .sl-ticks--grid li{background:rgba(15,33,64,.16);border:1px solid var(--sl-rule);border-radius:12px;padding:16px 18px 16px 56px;margin:0}
.sl-site .sl-ticks--grid li::before{left:18px;top:17px}

/* parallax image band: the image is the container's own background (Style > Background) */
.sl-site .sl-plx{min-height:460px;background-color:#DCE7F5;background-position:center;background-size:cover;background-repeat:no-repeat}
.e-con.sl-plx{--min-height:460px}
@media (hover:none),(prefers-reduced-motion:reduce),(max-width:1024px){.sl-site .sl-plx{background-attachment:scroll!important}}

/* orange call to action */
.sl-site .sl-cta{background:#fff}
.sl-site .sl-cta-in{background:var(--sl-orange);border-radius:var(--sl-r-xl);position:relative;overflow:hidden;display:grid;grid-template-columns:1fr auto;gap:48px;align-items:center;--sl-head:var(--sl-navy);--sl-link:var(--sl-navy);--sl-link-h:var(--sl-navy);--sl-btn-bg:var(--sl-navy);--sl-btn-ink:#fff;--sl-btn-bg-h:#1B335E;--sl-btn2-line:var(--sl-navy);--sl-btn2-ink:var(--sl-navy);--sl-btn2-bg-h:rgba(15,33,64,.1)}
.e-con.sl-cta-in{--padding-top:64px;--padding-right:64px;--padding-bottom:64px;--padding-left:64px}
.sl-site .sl-cta-in::after{content:"";position:absolute;width:300px;height:300px;right:-70px;top:-150px;background:var(--sl-star-white) no-repeat center/contain;opacity:.2;pointer-events:none}
.sl-site .sl-cta-in>*{position:relative;z-index:1}
.sl-site .sl-cta-k,.sl-site .sl-cta-k .elementor-heading-title{font:600 13px/1 var(--sl-fb);letter-spacing:.14em;text-transform:uppercase;color:var(--sl-navy)}
.sl-site .sl-cta-k{margin-bottom:14px}
.sl-site .sl-cta-text{margin-top:12px}
.sl-site .sl-cta-text p{font-size:19px;color:var(--sl-navy)}
.sl-site .sl-cta-meta{margin-top:10px}
.sl-site .sl-cta-meta p{font-size:15.5px;color:var(--sl-navy);opacity:.9}
.sl-site .sl-cta-in .sl-btns{margin-top:0}

/* row with a heading on the left and a button on the right */
.sl-site .sl-ins-head{display:flex;flex-direction:row;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:52px}
.e-con.sl-ins-head{--flex-direction:row}
.sl-site .sl-ins-head .sl-head{margin-bottom:0;width:auto;flex:1 1 420px}
.sl-site .sl-ins-head>.elementor-widget-button{width:auto;flex:0 0 auto}

/* 7. Blog ---------------------------------------------------------------- */
.sl-chips{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:40px;list-style:none}
.sl-site a.sl-chip{font:600 14px/1 var(--sl-fb);padding:11px 16px;border-radius:99px;border:1px solid #9DB9E2;color:var(--sl-blue-dark);background:#fff;text-decoration:none;display:inline-block}
.sl-site a.sl-chip:hover{background:var(--sl-ice);color:var(--sl-navy)}
.sl-site a.sl-chip[aria-current]{background:var(--sl-blue-dark);border-color:var(--sl-blue-dark);color:#fff}
.sl-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.sl-post{background:#fff;border:1px solid var(--sl-line);border-radius:var(--sl-r);overflow:hidden;display:flex;flex-direction:column}
.sl-thumb{display:block;aspect-ratio:16/9;overflow:hidden;background:linear-gradient(135deg,var(--sl-ice),var(--sl-ice-line))}
.sl-site .sl-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.sl-post-body{padding:26px 28px 28px;display:flex;flex-direction:column;flex:1}
.sl-site .sl-cat,.sl-site .sl-cat .elementor-heading-title{font:600 12px/1.4 var(--sl-fb);letter-spacing:.14em;text-transform:uppercase;color:var(--sl-blue-dark)}
.sl-site .sl-cat{margin-bottom:10px}
.sl-site .sl-cat a{color:inherit;text-decoration:none}
.sl-site .sl-post h2,.sl-site .sl-post h3{font-size:21px;line-height:1.3;letter-spacing:0;color:var(--sl-navy)}
.sl-site .sl-post h2 a,.sl-site .sl-post h3 a{color:inherit;text-decoration:none}
.sl-site .sl-post h2 a:hover,.sl-site .sl-post h3 a:hover{color:var(--sl-blue-dark);text-decoration:underline}
.sl-site .sl-post-body>p:not(.sl-cat){color:var(--sl-muted);font-size:16px;margin:10px 0 22px}
.sl-post-body .sl-tlink{margin-top:auto;align-self:flex-start}
.sl-pager{display:flex;gap:10px;justify-content:center;margin-top:48px;flex-wrap:wrap}
.sl-empty{color:var(--sl-muted)}

/* PHP-template sections (blog index, archives, single post, 404) */
.sl-t-phead{--sl-link:var(--sl-link-light);--sl-link-h:#fff;background:var(--sl-navy);color:#fff;padding:92px 0 84px;position:relative;overflow:hidden;--sl-head:#fff;--sl-eyebrow:var(--sl-orange);--sl-btn-bg:var(--sl-orange);--sl-btn-ink:var(--sl-navy);--sl-btn-bg-h:var(--sl-orange-soft);--sl-btn2-line:rgba(255,255,255,.5);--sl-btn2-ink:#fff;--sl-btn2-bg-h:rgba(255,255,255,.12)}
.sl-t-phead::before,.sl-t-phead::after{content:"";position:absolute;background:no-repeat center/contain;pointer-events:none}
.sl-t-phead::before{width:520px;height:520px;right:max(-110px,calc(50% - 830px));top:-150px;background-image:var(--sl-star)}
.sl-t-phead::after{width:150px;height:150px;right:max(330px,calc(50% - 390px));bottom:-60px;background-image:var(--sl-star-blue)}
.sl-t-phead .sl-wrap{position:relative;z-index:1}
.sl-site .sl-t-phead h1{font-size:clamp(36px,4.6vw,56px);max-width:860px}
.sl-site .sl-t-phead .sl-lede{margin-top:22px;max-width:700px;color:#C9D4E5}
.sl-t-sec{padding:var(--sl-sec) 0}
.sl-t-sec.sl-alt{background:var(--sl-surface)}
.sl-t-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:52px}
.sl-t-head .sl-eyebrow::before{content:"";display:block;width:40px;height:4px;border-radius:2px;background:var(--sl-orange);margin-bottom:16px}

.sl-art-head{padding:72px 0 0;background:linear-gradient(180deg,var(--sl-surface) 0%,#fff 100%)}
.sl-crumb{font-size:14px;color:var(--sl-muted);margin-bottom:22px}
.sl-site .sl-crumb a{color:var(--sl-muted);text-decoration:none}
.sl-site .sl-crumb a:hover{text-decoration:underline}
.sl-site .sl-crumb .sl-crumb-cat{color:var(--sl-blue-dark);font-weight:600}
.sl-site .sl-art-head h1{font-size:clamp(34px,4.4vw,52px);max-width:900px}
.sl-site .sl-art-head .sl-lede{max-width:760px;margin-top:20px}
.sl-meta{display:flex;gap:14px;align-items:center;margin:28px 0 40px;font-size:15px;color:var(--sl-muted)}
.sl-meta-ico{width:40px;height:40px;border-radius:50%;flex:none;background:var(--sl-ice) var(--sl-star) no-repeat center/18px 18px}
.sl-meta b{color:var(--sl-navy);font-weight:600}
.sl-site .sl-feat{width:100%;aspect-ratio:21/9;object-fit:cover;border-radius:var(--sl-r-lg);display:block;border:1px solid var(--sl-ice-line)}
.sl-art{padding:64px 0 var(--sl-sec)}
.sl-art-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:80px;align-items:start}
.sl-art-body{max-width:740px;font-size:18px;line-height:1.7;color:var(--sl-ink)}
.sl-art-body>*+*{margin-top:20px}
.sl-site .sl-art-body h2+*{margin-top:12px}
.sl-site .sl-art-body h2{font-size:clamp(25px,2.6vw,30px);margin-top:48px;scroll-margin-top:24px}
.sl-site .sl-art-body h3{font-size:21px;margin-top:32px}
.sl-site .sl-art-body ul,.sl-site .sl-art-body ol{padding-left:24px}
.sl-site .sl-art-body li{margin-bottom:10px}
.sl-site .sl-art-body a{color:var(--sl-blue-dark);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.sl-site .sl-art-body a:hover{color:var(--sl-navy);text-decoration-thickness:2px}
.sl-site .sl-art-body blockquote{font:500 24px/1.4 var(--sl-fh);color:var(--sl-navy);border-left:4px solid var(--sl-blue);padding:4px 0 4px 26px;margin:36px 0}
.sl-site .sl-art-body .sl-takeaways{background:var(--sl-surface);border-left:4px solid var(--sl-orange);border-radius:0 var(--sl-r) var(--sl-r) 0;padding:26px 28px;margin:0 0 36px}
.sl-site .sl-art-body .sl-takeaways h2{font:600 13px/1 var(--sl-fb);letter-spacing:.12em;text-transform:uppercase;color:var(--sl-blue-ink);margin:0 0 14px}
.sl-site .sl-art-body .sl-takeaways ul{padding-left:20px;margin:0}
.sl-site .sl-art-body .sl-takeaways li{font-size:16.5px;line-height:1.6}
.sl-site .sl-art-body .sl-takeaways li:last-child{margin-bottom:0}
.sl-site .sl-art-body .sl-note{font-size:16px;color:var(--sl-muted);border-top:1px solid var(--sl-line);padding-top:20px;margin-top:36px}
.sl-site .sl-art-body details.sl-faq{border-bottom:1px solid var(--sl-line);margin:0;padding:0}
.sl-site .sl-art-body h2+details.sl-faq{border-top:1px solid var(--sl-line);margin-top:16px}
.sl-site .sl-art-body details.sl-faq summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font:600 17px/1.35 var(--sl-fh);color:var(--sl-navy);cursor:pointer;list-style:none}
.sl-site .sl-art-body details.sl-faq summary::-webkit-details-marker{display:none}
.sl-site .sl-art-body details.sl-faq summary::after{content:"+";color:var(--sl-blue);font:400 24px/1 var(--sl-fb);flex:none}
.sl-site .sl-art-body details.sl-faq[open] summary::after{content:"\2212"}
.sl-site .sl-art-body details.sl-faq>:not(summary){margin:0 0 20px;font-size:17px;color:var(--sl-ink)}
.sl-site .sl-art-body .sl-sources{font-size:15.5px;line-height:1.6;color:var(--sl-muted)}
.sl-site .sl-art-body .sl-sources li{margin-bottom:8px}
.sl-aside{position:sticky;top:24px;display:grid;gap:24px}
.sl-toc,.sl-acard{border:1px solid var(--sl-line);border-radius:var(--sl-r);padding:24px}
.sl-site .sl-toc h2,.sl-site .sl-acard h2{font:600 13px/1 var(--sl-fb);letter-spacing:.12em;text-transform:uppercase;color:var(--sl-navy);margin-bottom:16px}
.sl-toc ol{list-style:none}
.sl-site .sl-toc a{display:block;font-size:15px;line-height:1.4;color:var(--sl-muted);padding:7px 0 7px 14px;border-left:2px solid var(--sl-line);text-decoration:none}
.sl-site .sl-toc a:hover,.sl-site .sl-toc a.is-active{color:var(--sl-blue-dark);border-color:var(--sl-blue)}
.sl-site .sl-toc a.is-active{font-weight:600}
.sl-acard{--sl-link:var(--sl-link-light);--sl-link-h:#fff;background:var(--sl-navy);border:0;color:#B8C5DA;font-size:15.5px;--sl-btn-bg:var(--sl-orange);--sl-btn-ink:var(--sl-navy);--sl-btn-bg-h:var(--sl-orange-soft)}
.sl-site .sl-acard h2{color:var(--sl-orange)}
.sl-acard b{display:block;font:600 21px/1.25 var(--sl-fh);color:#fff;margin-bottom:10px}
.sl-acard .sl-btn{margin-top:18px}

/* 8. Contact and legal --------------------------------------------------- */
.e-con.sl-contact{--padding-top:72px}
.sl-site .sl-contact>.e-con-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:start}
.sl-site .sl-form{background:#fff;border:1px solid var(--sl-line);border-radius:20px;box-shadow:0 24px 48px -32px rgba(15,33,64,.4)}
.e-con.sl-form{--padding-top:40px;--padding-right:40px;--padding-bottom:40px;--padding-left:40px}
.sl-site .sl-form h2,.sl-site .sl-form h2.elementor-heading-title{font-size:26px;margin-bottom:16px}
.sl-form-ph{border:2px dashed var(--sl-ice-edge);border-radius:12px;padding:22px 24px;background:var(--sl-surface);font-size:15.5px;color:var(--sl-ink)}
.sl-form-ph b{display:block;font:600 12px/1 var(--sl-fb);letter-spacing:.12em;text-transform:uppercase;color:var(--sl-blue-ink);margin-bottom:8px}
.sl-form-fallback p{color:var(--sl-muted);font-size:16.5px;margin-bottom:20px}
.sl-site .sl-side h2,.sl-site .sl-side h2.elementor-heading-title{font-size:22px;letter-spacing:0;margin-bottom:16px}
.sl-site .sl-side-block{padding-bottom:32px;margin-bottom:32px;border-bottom:1px solid var(--sl-line)}
.sl-site .sl-side-block:last-child{border:0;margin:0;padding:0}
.sl-site .sl-side ol,.sl-site .sl-side ul{list-style:none;counter-reset:sln}
.sl-site .sl-side li{display:flex;gap:14px;margin-bottom:14px;color:var(--sl-ink);font-size:16.5px;line-height:1.5}
.sl-site .sl-side ol li{counter-increment:sln}
.sl-site .sl-side ol li::before{content:counter(sln);flex:none;width:28px;height:28px;border-radius:50%;background:var(--sl-orange);color:var(--sl-navy);font:600 14px/28px var(--sl-fh);text-align:center}
.sl-site .sl-side ul li::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--sl-blue);margin:9px 10px 0 10px}
.sl-site .sl-side p{color:var(--sl-muted);font-size:16.5px}

.e-con.sl-legal{--padding-top:72px}
.sl-site .sl-legal>.e-con-inner{display:grid;grid-template-columns:260px minmax(0,1fr);gap:80px;align-items:start}
.sl-site .sl-legalnav{border:1px solid var(--sl-line);border-radius:var(--sl-r);padding:24px;position:sticky;top:24px}
.sl-site .sl-legalnav p{font:600 13px/1 var(--sl-fb);letter-spacing:.12em;text-transform:uppercase;color:var(--sl-navy);margin-bottom:16px}
.sl-site .sl-legalnav ul{list-style:none}
.sl-site .sl-legalnav a{display:block;font-size:15px;color:var(--sl-muted);padding:7px 0 7px 14px;border-left:2px solid var(--sl-line);text-decoration:none}
.sl-site .sl-c .elementor-widget-text-editor.sl-legalnav a{text-decoration:none}
.sl-site .sl-c .elementor-widget-text-editor.sl-legalnav a:is(:hover,[aria-current]){color:var(--sl-blue-dark);border-color:var(--sl-blue)}
.sl-site .sl-legalnav a[aria-current]{font-weight:600}
.sl-site .sl-legal-body{max-width:780px}
.sl-site .sl-legal-body p,.sl-site .sl-legal-body li{font-size:17px;line-height:1.7;color:var(--sl-ink)}
.sl-site .sl-legal-body p{margin-top:12px}
.sl-site .sl-legal-body p:first-child{margin-top:0}
.sl-site .sl-legal-body ul{margin:10px 0 4px 22px;list-style:disc}
.sl-site .sl-legal-body li{margin-bottom:4px}
.sl-site .sl-legal-body h2{font-size:21px;line-height:1.3;letter-spacing:0;margin:36px 0 2px}
.sl-site .sl-legal-body h3{font-size:18px;margin:28px 0 2px}
.sl-site .sl-legal-body a{color:var(--sl-blue-dark);text-decoration:underline;text-underline-offset:3px}

/* 9. Responsive ---------------------------------------------------------- */
@media (max-width:1180px){
  .sl-site .sl-steps{grid-template-columns:repeat(3,1fr)}
  .sl-site .sl-cards--4{grid-template-columns:repeat(2,1fr)}
  .sl-ftr-grid{grid-template-columns:1.4fr 1fr 1fr}
  .sl-art-grid{gap:48px}
  .sl-site .sl-float{left:16px}
}
@media (max-width:1024px){
  :root{--sl-sec:80px;--sl-gutter:24px}
  .sl-site .sl-hero>.e-con-inner,.sl-site .sl-split>.e-con-inner,.sl-site .sl-split.e-con-full,.sl-site .sl-head2,.sl-site .sl-two,.sl-site .sl-contact>.e-con-inner,.sl-site .sl-legal>.e-con-inner,.sl-art-grid{grid-template-columns:minmax(0,1fr);gap:48px}
  .sl-site .sl-head2{align-items:start;gap:20px}
  .sl-site .sl-split--rev .sl-s-img{order:0}
  .sl-site .sl-hero-img img{height:auto;aspect-ratio:4/3}
  .sl-site .sl-hero-img::before{inset:24px -12px -12px 24px}
  .sl-site .sl-s-img::before,.sl-site .sl-split--rev .sl-s-img::before{inset:20px 12px -12px -12px}
  .sl-site .sl-cards--3,.sl-posts{grid-template-columns:repeat(2,1fr)}
  .sl-site .sl-cta-in{grid-template-columns:minmax(0,1fr);gap:28px}
  .e-con.sl-cta-in{--padding-top:44px;--padding-right:32px;--padding-bottom:44px;--padding-left:32px}
  .sl-site .sl-gov{grid-template-columns:auto 1fr}
  .sl-site .sl-gov .sl-card-text{grid-column:1/-1}
  .sl-site .sl-legalnav,.sl-aside{position:static}
  .sl-site .sl-phead::after,.sl-t-phead::after,.sl-site .sl-blue.sl-deco::after{display:none}
  .sl-site .sl-phead::before,.sl-t-phead::before{width:300px;height:300px;right:-110px;top:-110px;opacity:.9}
  .sl-site .sl-nav-toggle{display:block}
  .sl-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--sl-line);box-shadow:0 24px 40px -28px rgba(15,33,64,.5);margin:0;padding:12px var(--sl-gutter) 20px}
  .sl-nav.is-open{display:block}
  .sl-nav ul{flex-direction:column;align-items:stretch;gap:0}
  .sl-site .sl-nav a{padding:13px 0;font-size:17px;border-bottom:1px solid #EEF2F7}
  .sl-site .sl-nav :is(.current-menu-item,.current_page_item,.current_page_parent)>a{border-bottom-color:var(--sl-orange)}
  .sl-hdr-in{gap:14px;min-height:76px}
  .sl-site .sl-logo img{height:46px}
}
@media (max-width:767px){
  :root{--sl-sec:64px;--sl-gutter:20px}
  body.sl-site{font-size:16.5px}
  .sl-site .sl-cards--3,.sl-site .sl-cards--4,.sl-site .sl-steps,.sl-posts,.sl-site .sl-proof ul,.sl-site .sl-ticks--grid ul{grid-template-columns:minmax(0,1fr)}
  .sl-site .sl-proof li{padding:14px 0}
  .sl-site .sl-proof ul{padding:10px 0}
  .sl-ftr-grid{grid-template-columns:minmax(0,1fr);gap:32px}
  .e-con.sl-phead{--padding-top:64px;--padding-bottom:60px}
  .sl-t-phead{padding:64px 0 60px}
  .e-con.sl-hero{--padding-top:56px;--padding-bottom:72px}
  .e-con.sl-stmt{--padding-top:60px;--padding-bottom:60px}
  .sl-site .sl-float,.sl-site .sl-over{position:relative;left:auto;right:auto;bottom:auto;margin-top:-28px;margin-inline:14px;max-width:none}
  .sl-site .sl-plx{min-height:280px}
  .e-con.sl-plx{--min-height:280px}
  .e-con.sl-form{--padding-top:26px;--padding-right:22px;--padding-bottom:26px;--padding-left:22px}
  .sl-site .sl-head,.sl-site .sl-head2,.sl-site .sl-ins-head,.sl-t-head{margin-bottom:36px}
  .sl-art-body{font-size:17px}
  .sl-site .sl-feat{aspect-ratio:16/9}
}
@media (max-width:420px){
  .sl-site .sl-hdr a.sl-hdr-cta{display:none}
}
@media print{
  .sl-hdr,.sl-ftr,.sl-aside,.sl-plx,.sl-cta{display:none!important}
}
