.elementor-8752 .elementor-element.elementor-element-511b4ca:not(.elementor-motion-effects-element-type-background), .elementor-8752 .elementor-element.elementor-element-511b4ca > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://wspos.org/wp-content/uploads/2024/07/online-4208112_1280.jpg");background-position:0px -513px;background-repeat:no-repeat;background-size:cover;}.elementor-8752 .elementor-element.elementor-element-511b4ca > .elementor-background-overlay{background-color:var( --e-global-color-1329f96 );opacity:0.67;transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-8752 .elementor-element.elementor-element-511b4ca > .elementor-container{min-height:47vh;}.elementor-8752 .elementor-element.elementor-element-511b4ca{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:0px;margin-bottom:0px;}.elementor-8752 .elementor-element.elementor-element-92a1194 > .elementor-element-populated{margin:100px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:10% 0% 0% 0%;}.elementor-8752 .elementor-element.elementor-element-f9f2dc7 > .elementor-widget-container{padding:0px 0px 20px 0px;}.elementor-8752 .elementor-element.elementor-element-f9f2dc7 .elementor-heading-title{color:#FFFFFF;}.elementor-8752 .elementor-element.elementor-element-bda1dcb:not(.elementor-motion-effects-element-type-background), .elementor-8752 .elementor-element.elementor-element-bda1dcb > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}.elementor-8752 .elementor-element.elementor-element-bda1dcb > .elementor-container{max-width:1020px;}.elementor-8752 .elementor-element.elementor-element-bda1dcb{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;padding:70px 70px 70px 70px;}.elementor-8752 .elementor-element.elementor-element-bda1dcb > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-8752 .elementor-element.elementor-element-3286e9e > .elementor-element-populated{border-style:none;box-shadow:0px 0px 27px 0px rgba(0, 53.400326086956525, 122.39999999999999, 0.5);padding:40px 40px 40px 40px;}.elementor-8752 .elementor-element.elementor-element-3286e9e > .elementor-element-populated, .elementor-8752 .elementor-element.elementor-element-3286e9e > .elementor-element-populated > .elementor-background-overlay, .elementor-8752 .elementor-element.elementor-element-3286e9e > .elementor-background-slideshow{border-radius:15px 15px 15px 15px;}.elementor-8752 .elementor-element.elementor-element-1e2701a{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:160px;margin-bottom:0px;}.elementor-8752 .elementor-element.elementor-element-1e2701a > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}:root{--page-title-display:none;}@media(max-width:1366px){.elementor-8752 .elementor-element.elementor-element-511b4ca{padding:0px 0px 40px 0px;}.elementor-8752 .elementor-element.elementor-element-f9f2dc7 > .elementor-widget-container{margin:70px 0px 0px 0px;}}@media(max-width:1024px){.elementor-8752 .elementor-element.elementor-element-511b4ca > .elementor-container{min-height:45vh;}.elementor-8752 .elementor-element.elementor-element-511b4ca:not(.elementor-motion-effects-element-type-background), .elementor-8752 .elementor-element.elementor-element-511b4ca > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:0px 0px;}.elementor-8752 .elementor-element.elementor-element-511b4ca{padding:0px 25px 0px 25px;}.elementor-8752 .elementor-element.elementor-element-92a1194 > .elementor-element-populated{padding:10% 0% 5% 0%;}}@media(max-width:767px){.elementor-8752 .elementor-element.elementor-element-511b4ca > .elementor-container{min-height:50vh;}.elementor-8752 .elementor-element.elementor-element-511b4ca:not(.elementor-motion-effects-element-type-background), .elementor-8752 .elementor-element.elementor-element-511b4ca > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:0px 0px;}.elementor-8752 .elementor-element.elementor-element-511b4ca{padding:0px 20px 0px 20px;}.elementor-8752 .elementor-element.elementor-element-92a1194 > .elementor-element-populated{padding:30% 0% 10% 0%;}.elementor-8752 .elementor-element.elementor-element-f9f2dc7{text-align:center;}.elementor-8752 .elementor-element.elementor-element-bda1dcb{padding:20px 20px 20px 20px;}.elementor-8752 .elementor-element.elementor-element-3286e9e > .elementor-element-populated{padding:20px 20px 20px 20px;}}@media(min-width:1367px){.elementor-8752 .elementor-element.elementor-element-511b4ca:not(.elementor-motion-effects-element-type-background), .elementor-8752 .elementor-element.elementor-element-511b4ca > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:scroll;}}/* Start custom CSS for text-editor, class: .elementor-element-0532faa */.algs-study {
      --accent: #0b6bcb;       /* change to match your brand */
      --accent-2: #0e85ff;
      --bg: #f7fafc;
      --text: #1f2937;
      --muted: #4b5563;
      --card: #ffffff;
      --border: #e5e7eb;

      font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      color: var(--text);
      line-height: 1.55;
      background: var(--bg);
      padding: clamp(16px, 3vw, 32px);
      border-radius: 14px;
      box-shadow: 0 1px 2px rgba(0,0,0,.04);
    }

    .algs-wrap {
      max-width: 900px;
      margin: 0 auto;
    }

    h1, h2, h3 {
      line-height: 1.25;
      margin: 0 0 .6em;
    }

    #algs-title {
      font-size: clamp(1.6rem, 2.2vw, 2rem);
      letter-spacing: .2px;
    }

    .lead {
      font-size: clamp(1rem, 1.2vw, 1.125rem);
      color: var(--muted);
    }

    .badge {
      display: inline-block;
      font-size: .85rem;
      color: #fff;
      background: linear-gradient(135deg, var(--accent), var(--accent-2));
      padding: .35rem .6rem;
      border-radius: 999px;
      margin: .25rem 0 1rem;
    }

    .card {
      background: var(--card);
      border: 1px solid var(--border);
      border-radius: 12px;
      padding: clamp(14px, 2vw, 20px);
      margin: 16px 0;
    }

    .grid {
      display: grid;
      gap: 16px;
    }

    @media (min-width: 820px) {
      .grid-2 { grid-template-columns: 1fr 1fr; }
    }

    ul, ol {
      margin: .5rem 0 0 1.25rem;
    }

    .checklist {
      list-style: none;
      padding-left: 0;
      margin-left: 0;
    }
    .checklist li {
      position: relative;
      padding-left: 1.8rem;
      margin: .4rem 0;
    }
    .checklist li::before {
      content: "✓";
      position: absolute;
      left: 0;
      top: 0;
      color: var(--accent);
      font-weight: 700;
    }

    details {
      border: 1px solid var(--border);
      background: #fff;
      border-radius: 10px;
      padding: .75rem 1rem;
      margin-top: .75rem;
    }
    details summary {
      cursor: pointer;
      font-weight: 600;
      color: var(--accent);
      outline: none;
    }
    details[open] summary {
      margin-bottom: .5rem;
    }

    .cta {
      display: inline-flex;
      align-items: center;
      gap: .5rem;
      background: linear-gradient(135deg, var(--accent), var(--accent-2));
      color: #fff !important;
      text-decoration: none;
      padding: .75rem 1rem;
      border-radius: 10px;
      font-weight: 600;
      box-shadow: 0 6px 18px rgba(14,133,255,.22);
      transition: transform .05s ease-in-out;
      margin-top: .75rem;
    }
    .cta:hover { transform: translateY(-1px); }
    .cta:focus-visible {
      outline: 3px solid rgba(14,133,255,.35);
      outline-offset: 3px;
    }

    .muted { color: var(--muted); }
    .small { font-size: .95rem; }
    .kicker { font-weight: 700; color: var(--accent); text-transform: uppercase; letter-spacing: .04em; font-size: .8rem; }

    .sig { margin-top: 1rem; }
    .sig strong { display: block; }

    .contact {
      display: flex; flex-wrap: wrap; gap: .75rem; margin-top: .5rem;
    }
    .contact a {
      color: var(--accent);
      text-decoration: none;
      border-bottom: 1px dotted var(--accent);
    }/* End custom CSS */