:root{
  --font: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --bg: #f6f7f9;
  --surface: #ffffff;
  --text: #0b1220;
  --text-soft: #4b5563;
  --text-muted: #6b7280;
  --line: rgba(11,18,32,.085);

  --navy: #0b1220;
  --cyan: #0891b2;

  --max: 1280px;
}

*{
  box-sizing: border-box;
}

body{
  margin: 0;
  font-family: var(--font);
  background: var(--bg);
  color: var(--text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a{
  color: inherit;
  text-decoration: none;
}

/* HERO */

.ws-hero{
  min-height: 100vh;
  background:
    linear-gradient(90deg, rgba(11,18,32,.022) 1px, transparent 1px),
    linear-gradient(rgba(11,18,32,.022) 1px, transparent 1px),
    var(--bg);
  background-size: 80px 80px;
}

.ws-shell{
  width: min(calc(100% - 48px), var(--max));
  margin: 0 auto;
}



/* HERO GRID */

.ws-hero-grid{
  min-height: calc(100vh - 92px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, .92fr);
  gap: clamp(3rem, 6vw, 6rem);
  align-items: center;
  padding: clamp(4.5rem, 6vw, 6.5rem) 0;
}

/* COPY */

.ws-hero-copy{
  max-width: 720px;
}

.ws-kicker{
  margin: 0 0 1.15rem;
  font-size: .72rem;
  line-height: 1.5;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--cyan);
}

.ws-hero h1{
  margin: 0;
  max-width: 9.6ch;
  font-size: clamp(3rem, 5.7vw, 5.9rem);
  line-height: .94;
  letter-spacing: -.07em;
  font-weight: 760;
  color: var(--text);
}

.ws-lead{
  max-width: 600px;
  margin: 1.6rem 0 0;
  font-size: clamp(1.02rem, 1.08vw, 1.12rem);
  line-height: 1.85;
  color: var(--text-soft);
}

/* PARALLAX HERO */

.ws-hero-media img{
  will-change: transform;
  transition: transform .12s linear;
}

.ws-hero-media{
  transform-style: preserve-3d;
}

/* BUTTONS */

.ws-actions{
  display: flex;
  flex-wrap: wrap;
  gap: .85rem;
  margin-top: 2.1rem;
}

.ws-btn{
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .85rem 1.15rem;
  border-radius: 999px;
  font-size: .9rem;
  font-weight: 700;
  transition:
    transform .18s ease,
    background .18s ease,
    border-color .18s ease,
    box-shadow .18s ease;
}

.ws-btn:hover{
  transform: translateY(-1px);
}

.ws-btn-primary{
  background: var(--navy);
  color: #fff;
  box-shadow: 0 12px 28px rgba(11,18,32,.14);
}

.ws-btn-primary:hover{
  background: #111827;
  box-shadow: 0 16px 34px rgba(11,18,32,.18);
}

.ws-btn-secondary{
  background: rgba(255,255,255,.42);
  border: 1px solid rgba(11,18,32,.10);
  color: var(--text);
}

.ws-btn-secondary:hover{
  border-color: rgba(11,18,32,.22);
}

/* HERO IMAGE */

.ws-hero-media{
  position: relative;
  margin: 0;
  min-height: 620px;
  overflow: hidden;
  background: #e5e7eb;
  border: 1px solid rgba(11,18,32,.075);
  box-shadow: 0 34px 90px rgba(11,18,32,.12);
}

.ws-hero-media img{
  width: 100%;
  height: 100%;
  min-height: 620px;
  object-fit: cover;
  object-position: center center;
  display: block;
  filter: saturate(.82) contrast(1.06) brightness(.96);
  transform: scale(1.04);
}

.ws-hero-media::before{
  content: "";
  position: absolute;
  inset: 18px;
  z-index: 2;
  border: 1px solid rgba(255,255,255,.38);
  pointer-events: none;
}

.ws-hero-media::after{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(to bottom, transparent 48%, rgba(11,18,32,.34)),
    linear-gradient(90deg, rgba(11,18,32,.08), transparent 48%);
  pointer-events: none;
}

/* IMAGE CAPTION */

.ws-hero-media figcaption{
  position: absolute;
  left: 28px;
  bottom: 28px;
  z-index: 3;

  max-width: 300px;
  padding: .85rem 1rem;

  background: rgba(255,255,255,.88);
  border: 1px solid rgba(255,255,255,.75);
  backdrop-filter: blur(12px);

  color: var(--text);
  font-size: .88rem;
  line-height: 1.45;
  font-weight: 650;

  box-shadow: 0 14px 34px rgba(11,18,32,.12);
}

.ws-hero-media figcaption span{
  display: block;
  margin-bottom: .32rem;

  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--cyan);
}

/* RESPONSIVE */

@media (max-width: 991.98px){
  .ws-hero-grid{
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .ws-hero h1{
    max-width: 11ch;
  }

  .ws-hero-media{
    min-height: 420px;
  }

  .ws-hero-media img{
    min-height: 420px;
  }
}

@media (max-width: 767.98px){
  .ws-shell{
    width: min(calc(100% - 32px), var(--max));
  }

  .ws-nav{
    height: 76px;
  }

  .ws-nav-actions{
    gap: 1rem;
  }

  .ws-nav-actions a:first-child{
    display: none;
  }

  .ws-hero-grid{
    padding: 3.5rem 0 4rem;
    gap: 2.4rem;
  }

  .ws-hero h1{
    font-size: clamp(2.7rem, 13vw, 4.2rem);
    line-height: .96;
    letter-spacing: -.065em;
  }

  .ws-actions{
    flex-direction: column;
  }

  .ws-btn{
    width: 100%;
  }

  .ws-hero-media,
  .ws-hero-media img{
    min-height: 360px;
  }

  .ws-hero-media::before{
    inset: 12px;
  }

  .ws-hero-media figcaption{
    left: 16px;
    right: 16px;
    bottom: 16px;
    max-width: none;
  }
}

.ws-nav{
  position: sticky;
  top: 0;
  z-index: 1000;
  min-height: 92px;
  background: rgba(246,247,249,.94);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(11,18,32,.085);
  transition: background .2s ease, box-shadow .2s ease;
}

.ws-nav.scrolled{
  background: rgba(255,255,255,.98);
  box-shadow: 0 10px 30px rgba(11,18,32,.08);
}

.ws-nav-container{
  max-width: var(--max);
  min-height: 92px;
}

.ws-brand{
  margin: 0;
  padding: 0;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: -.045em;
  color: var(--text) !important;
}

.ws-brand span{
  color: var(--text-muted);
  font-weight: 600;
}

.ws-collapse{
  align-items: center;
}

.ws-links{
  gap: 1.8rem;
}

.ws-links .nav-link{
  padding: 0 !important;
  color: var(--text-muted);
  font-size: .94rem;
  font-weight: 600;
}

.ws-links .nav-link:hover{
  color: var(--text);
}

.ws-nav-button{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: .72rem 1.05rem;
  border-radius: 999px;
  background: var(--navy);
  color: #fff !important;
  font-size: .88rem;
  font-weight: 700;
  box-shadow: 0 10px 24px rgba(11,18,32,.12);
}

.ws-toggler{
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid rgba(11,18,32,.12);
  border-radius: 999px;
  background: rgba(255,255,255,.75);
  box-shadow: none !important;
}

.ws-toggler-line{
  display: block;
  width: 18px;
  height: 1.5px;
  margin: 4px auto;
  background: var(--text);
}

@media (max-width: 991.98px){
  .ws-nav,
  .ws-nav-container{
    min-height: 76px;
  }

  .ws-collapse{
    padding: 1rem 0 1.2rem;
  }

  .ws-links{
    gap: 1rem;
  }

  .ws-links .nav-link{
    padding: .35rem 0 !important;
  }

  .ws-nav-button{
    width: 100%;
    margin-top: 1rem;
  }
}

.ws-nav .navbar-nav{
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}

.ws-nav .navbar-collapse{
  flex-grow: 1;
}

@media (min-width: 992px){
  .ws-nav .navbar-toggler{
    display: none !important;
  }

  .ws-nav .navbar-collapse{
    display: flex !important;
    flex-basis: auto;
  }

  .ws-nav .navbar-nav{
    flex-direction: row;
  }
}

@media (max-width: 991.98px){
  .ws-nav .navbar-collapse.collapse:not(.show){
    display: none;
  }
}

/* FINAL NAV + BUTTON FIX */

.ws-nav{
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  width: 100%;
  min-height: 92px;
  background: rgba(246,247,249,.94);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(11,18,32,.085);
}

.ws-nav-container{
  max-width: var(--max);
  min-height: 92px;
}

.ws-brand,
.ws-brand:hover{
  text-decoration: none;
}

.ws-links .nav-link,
.ws-links .nav-link:hover{
  text-decoration: none;
}

/* Navbar CTA */
.ws-nav-button,
.ws-nav-button:hover{
  text-decoration: none;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .72rem 1.05rem;
  border-radius: 999px;
  background: var(--navy);
  color: #fff !important;
  font-size: .88rem;
  font-weight: 700;
  box-shadow: 0 10px 24px rgba(11,18,32,.12);
}

/* Hero Buttons */
.ws-actions .ws-btn,
.ws-actions .ws-btn:hover{
  text-decoration: none;
}

.ws-actions .ws-btn-primary{
  background: var(--navy);
  color: #fff !important;
  box-shadow: 0 12px 28px rgba(11,18,32,.14);
}

.ws-actions .ws-btn-primary:hover{
  background: #111827;
}

.ws-actions .ws-btn-secondary{
  background: rgba(255,255,255,.42);
  border: 1px solid rgba(11,18,32,.10);
  color: var(--text) !important;
}

.ws-actions .ws-btn-secondary:hover{
  border-color: rgba(11,18,32,.22);
}

@media (max-width: 991.98px){
  .ws-nav,
  .ws-nav-container{
    min-height: 76px;
  }

  .ws-nav-button{
    width: 100%;
    margin-top: 1rem;
  }
}

/* MOBILE NAV – FINAL */

@media (max-width: 991.98px){

  .ws-nav{
    position: sticky !important;
    top: 0 !important;
    z-index: 2000;
    min-height: 82px;
    background: rgba(246,247,249,.94);
    backdrop-filter: blur(18px);
  }

  .ws-nav-container{
    min-height: 82px;
    padding-left: 20px;
    padding-right: 20px;
  }

  .ws-brand{
    font-size: 1.35rem;
  }

  .ws-toggler{
    width: 54px;
    height: 54px;
    margin-left: auto;
    border-radius: 16px;
    border: 1px solid rgba(11,18,32,.14);
    background: rgba(255,255,255,.8);
    box-shadow: none !important;
  }

  .ws-toggler-line{
    width: 22px;
    height: 2px;
    margin: 4px auto;
    background: var(--text);
    transition: transform .22s ease, opacity .22s ease;
  }

  .ws-toggler[aria-expanded="true"] .ws-toggler-line:first-child{
    transform: translateY(6px) rotate(45deg);
  }

  .ws-toggler[aria-expanded="true"] .ws-toggler-line:last-child{
    transform: translateY(-6px) rotate(-45deg);
  }

  .ws-collapse{
    position: fixed;
    top: 82px;
    left: 16px;
    right: 16px;

    padding: 1.5rem;
    background: rgba(255,255,255,.94);
    backdrop-filter: blur(20px);
    border: 1px solid rgba(11,18,32,.10);
    box-shadow: 0 28px 80px rgba(11,18,32,.16);

    border-radius: 24px;

    opacity: 0;
    transform: translateY(-12px) scale(.98);
    pointer-events: none;

    display: block !important;
    transition:
      opacity .24s ease,
      transform .24s ease;
  }

  .ws-collapse.show{
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
  }

  .ws-links{
    display: grid;
    gap: 0;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none;
  }

  .ws-links .nav-item{
    border-bottom: 1px solid rgba(11,18,32,.08);
  }

  .ws-links .nav-item:last-child{
    border-bottom: 0;
  }

  .ws-links .nav-link{
    display: flex;
    align-items: center;
    min-height: 58px;
    padding: 0 !important;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--text) !important;
    text-decoration: none;
  }

  .ws-links .nav-link::after{
    display: none !important;
  }

  .ws-nav-button{
    width: 100%;
    min-height: 54px;
    margin-top: 1.25rem;
    border-radius: 999px;
    font-size: 1rem;
    text-decoration: none !important;
  }
}

@media (max-width: 991.98px){
  .ws-collapse.collapse:not(.show){
    height: auto !important;
  }
}


/* REALITY SECTION */

.ws-reality{
  padding: clamp(5.5rem, 8vw, 8rem) 0;
  background: var(--surface);
}

.ws-reality-layout{
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: start;
}

.ws-section-kicker{
  margin: 0 0 1rem;
  font-size: .72rem;
  line-height: 1.5;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--cyan);
}

.ws-reality-head h2{
  margin: 0;
  max-width: 12ch;
  font-size: clamp(2.35rem, 4vw, 4.15rem);
  line-height: 1;
  letter-spacing: -.06em;
  font-weight: 760;
  color: var(--text);
}

.ws-reality-copy{
  max-width: 680px;
  padding-top: .4rem;
}

.ws-reality-copy p{
  margin: 0 0 1.15rem;
  color: var(--text-soft);
  font-size: 1.03rem;
  line-height: 1.85;
}

.ws-reality-copy p:last-child{
  margin-bottom: 0;
}

.ws-reality-grid{
  margin-top: clamp(3.2rem, 5vw, 4.8rem);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.ws-reality-item{
  min-height: 310px;
  padding: 1.35rem;
  background: #fff;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.ws-reality-item span{
  display: inline-block;
  margin-bottom: 2.4rem;
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .14em;
  color: var(--cyan);
}

.ws-reality-item h3{
  margin: 0;
  font-size: 1.15rem;
  line-height: 1.2;
  letter-spacing: -.035em;
  font-weight: 750;
  color: var(--text);
}

.ws-reality-item p{
  margin: .85rem 0 0;
  color: var(--text-muted);
  font-size: .94rem;
  line-height: 1.7;
}

@media (max-width: 1199.98px){
  .ws-reality-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 991.98px){
  .ws-reality-layout{
    grid-template-columns: 1fr;
  }

  .ws-reality-head h2{
    max-width: 15ch;
  }
}

@media (max-width: 767.98px){
  .ws-reality-grid{
    grid-template-columns: 1fr;
  }

  .ws-reality-item{
    min-height: auto;
  }

  .ws-reality-item span{
    margin-bottom: 1.4rem;
  }
}

.ws-method{
  padding: clamp(6rem, 9vw, 9rem) 0;
  background: #0b1220;
  color: #fff;
  overflow: hidden;
}

.ws-method-head{
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  align-items: end;
  margin-bottom: clamp(3rem, 5vw, 4rem);
}

.ws-method-head h2{
  margin: 0;
  max-width: 10ch;
  font-size: clamp(2.6rem, 4.8vw, 5rem);
  line-height: .95;
  letter-spacing: -.065em;
  font-weight: 760;
}

.ws-method-controls{
  display: flex;
  gap: .6rem;
}

.ws-method-controls button{
  width: 46px;
  height: 46px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.06);
  color: #fff;
  font-size: 1.1rem;
  cursor: pointer;
}

.ws-method-slider{
  display: flex;
  gap: 1.2rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  padding-bottom: 1rem;
  scrollbar-width: none;
}

.ws-method-slider::-webkit-scrollbar{
  display: none;
}

.ws-method-card{
  flex: 0 0 min(420px, 82vw);
  scroll-snap-align: start;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  overflow: hidden;
}

.ws-method-card img{
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  filter: saturate(.8) contrast(1.05) brightness(.86);
}

.ws-method-card span,
.ws-method-card h3,
.ws-method-card p{
  margin-left: 1.3rem;
  margin-right: 1.3rem;
}

.ws-method-card span{
  display: block;
  margin-top: 1.3rem;
  margin-bottom: 1.2rem;
  color: #22d3ee;
  font-size: .74rem;
  font-weight: 800;
  letter-spacing: .14em;
}

.ws-method-card h3{
  margin-top: 0;
  margin-bottom: .75rem;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 750;
  letter-spacing: -.035em;
}

.ws-method-card p{
  margin-top: 0;
  margin-bottom: 1.5rem;
  color: rgba(255,255,255,.62);
  font-size: .96rem;
  line-height: 1.7;
}

@media (max-width: 767.98px){
  .ws-method-head{
    align-items: flex-start;
    flex-direction: column;
  }
}

.ws-method-progress{
  position: relative;
  width: 100%;
  height: 2px;
  margin-top: 1.4rem;
  background: rgba(255,255,255,.12);
  overflow: hidden;
}

.ws-method-progress-bar{
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 0%;
  background: #22d3ee;
  transition: width .18s ease;
}



/* SOLUTIONS */

.ws-solutions{
  padding: clamp(6rem, 9vw, 9rem) 0;
  background: var(--surface);
}

.ws-solutions-head{
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, .8fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: start;
}

.ws-solutions-head h2{
  margin: 0;
  max-width: 13ch;
  font-size: clamp(2.5rem, 4.5vw, 4.5rem);
  line-height: .98;
  letter-spacing: -.06em;
  font-weight: 760;
}

.ws-solutions-head p{
  margin: 0;
  color: var(--text-soft);
  font-size: 1.05rem;
  line-height: 1.85;
  padding-top: .5rem;
  max-width: 520px;
}

.ws-solutions-grid{
  margin-top: clamp(3.5rem, 6vw, 5rem);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.2rem;
}

.ws-solution{
  position: relative;
  padding: 2rem;
  border: 1px solid var(--line);
  background: #fff;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.ws-solution::before{
  content: "";
  display: block;
  width: 42px;
  height: 2px;
  margin-bottom: 1.4rem;
  background: var(--cyan);
}

.ws-solution:hover{
  transform: translateY(-4px);
  border-color: rgba(8,145,178,.25);
  box-shadow: 0 20px 50px rgba(11,18,32,.08);
}

.ws-solution span{
  display: block;
  margin-bottom: 1.4rem;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
  color: var(--cyan);
}

.ws-solution h3{
  margin: 0;
  font-size: 1.2rem;
  font-weight: 750;
  letter-spacing: -.03em;
}

.ws-solution p{
  margin: .8rem 0 0;
  font-size: .95rem;
  line-height: 1.7;
  color: var(--text-muted);
}

/* responsive */

@media (max-width: 991.98px){
  .ws-solutions-head{
    grid-template-columns: 1fr;
  }

  .ws-solutions-grid{
    grid-template-columns: 1fr;
  }
}

.ws-cases{
  padding: clamp(6rem, 9vw, 9rem) 0;
  background: var(--bg);
}

.ws-cases-head{
  margin-bottom: clamp(3rem, 5vw, 4rem);
}

.ws-cases-head h2{
  margin: 0;
  max-width: 12ch;
  font-size: clamp(2.6rem, 4.5vw, 4.5rem);
  line-height: 1;
  letter-spacing: -.06em;
  font-weight: 760;
}

.ws-cases-list{
  display: flex;
  flex-direction: column;
  gap: clamp(3rem, 6vw, 5rem);
}

.ws-case{
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}

.ws-case:nth-child(even){
  grid-template-columns: minmax(0, 1fr) minmax(0, .9fr);
}

.ws-case-content h3{
  margin: 0;
  font-size: 1.4rem;
  font-weight: 750;
  letter-spacing: -.03em;
}

.ws-case-problem{
  margin: 1rem 0 .6rem;
  color: var(--text-soft);
}

.ws-case-solution{
  margin: 0;
  color: var(--text);
  font-weight: 600;
}

.ws-case-media img{
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid var(--line);
  box-shadow: 0 25px 70px rgba(11,18,32,.12);
}

@media (max-width: 991.98px){
  .ws-case,
  .ws-case:nth-child(even){
    grid-template-columns: 1fr;
  }
}


.ws-practice{
  padding: clamp(6rem, 9vw, 9rem) 0;
  background: var(--bg);
}



.ws-practice-head h2{
  margin: 0;
  max-width: 12ch;
  font-size: clamp(2.6rem, 4.5vw, 4.6rem);
  line-height: 1;
  letter-spacing: -.06em;
  font-weight: 760;
}

.ws-practice-head p{
  max-width: 560px;
  margin: 1.2rem 0 0;
  color: var(--text-soft);
  line-height: 1.8;
}

.ws-practice-case{
  display: grid;
  grid-template-columns: .7fr 1.4fr .9fr;
  gap: clamp(2rem, 4vw, 4rem);
  padding: clamp(2rem, 4vw, 3.2rem);
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 28px 80px rgba(11,18,32,.08);
}

.ws-practice-label{
  align-self: start;
  width: fit-content;
  padding: .55rem .75rem;
  border: 1px solid rgba(8,145,178,.22);
  color: var(--cyan);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.ws-practice-main h3{
  margin: 0 0 1rem;
  max-width: 560px;
  font-size: clamp(1.7rem, 2.4vw, 2.4rem);
  line-height: 1.06;
  letter-spacing: -.05em;
  font-weight: 760;
}

.ws-practice-main p{
  margin: 0 0 1rem;
  color: var(--text-soft);
  font-size: 1rem;
  line-height: 1.85;
}

.ws-practice-main p:last-child{
  margin-bottom: 0;
}

.ws-practice-result{
  align-self: end;
  padding-top: 1.2rem;
  border-top: 2px solid var(--cyan);
}

.ws-practice-result span{
  display: block;
  margin-bottom: .7rem;
  color: var(--cyan);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.ws-practice-result p{
  margin: 0;
  color: var(--text);
  font-weight: 650;
  line-height: 1.65;
}

@media (max-width: 991.98px){
  .ws-practice-case{
    grid-template-columns: 1fr;
  }

  .ws-practice-result{
    align-self: auto;
  }
}

.ws-practice-head{
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(300px, .38fr);
  gap: clamp(2rem, 8vw, 8rem);
  align-items: start;
  margin-bottom: clamp(3.5rem, 6vw, 5rem);
}
.ws-practice-note{
  justify-self: end;
  margin-top: 5.2rem;
  max-width: 340px;
  padding: 0 0 0 1.25rem;
  background: transparent;
  border: 0;
  border-left: 2px solid var(--cyan);
}

.ws-practice-note span{
  display: block;
  margin-bottom: .6rem;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--cyan);
}

.ws-practice-note p{
  margin: 0;
  color: var(--text-muted);
  font-size: .92rem;
  line-height: 1.65;
}

@media (max-width: 991.98px){
  .ws-practice-head{
    grid-template-columns: 1fr;
    align-items: start;
  }
}

.ws-practice-note{
  justify-self: end;
  margin-top: 5.2rem;
  max-width: 340px;
  padding: 0 0 0 1.25rem;
  background: transparent;
  border: 0;
  border-left: 2px solid var(--cyan);
}
.ws-practice-note{
  border-left: 2px solid var(--cyan) !important;
}

@media (max-width: 767.98px){
  .ws-practice{
    padding: 4.5rem 0;
  }

  .ws-practice-head{
    display: block;
    margin-bottom: 2.5rem;
  }

  .ws-practice-head h2{
    max-width: 100%;
    font-size: clamp(2.7rem, 13vw, 4rem);
    line-height: .96;
    letter-spacing: -.06em;
  }

  .ws-practice-head > div > p{
    margin-top: 1.2rem;
    font-size: 1.02rem;
    line-height: 1.75;
  }

  .ws-practice-note{
    justify-self: auto;
    margin-top: 2rem;
    max-width: none;
    padding-left: 1rem;
    border-left: 2px solid var(--cyan);
  }

  .ws-practice-note p{
    font-size: .98rem;
    line-height: 1.7;
  }

  .ws-practice-case{
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 1.4rem;
    box-shadow: 0 18px 50px rgba(11,18,32,.08);
  }

  .ws-practice-label{
    width: 100%;
    justify-content: flex-start;
    font-size: .68rem;
    line-height: 1.4;
  }

  .ws-practice-main h3{
    font-size: clamp(2rem, 9vw, 2.8rem);
    line-height: .98;
  }

  .ws-practice-main p{
    font-size: .98rem;
    line-height: 1.75;
  }

  .ws-practice-result{
    align-self: auto;
  }
}

.ws-trust{
  padding: clamp(6rem, 9vw, 9rem) 0;
  background: #0b1220;
  color: #fff;
}

.ws-trust-head{
  max-width: 820px;
  margin-bottom: clamp(3rem, 5vw, 4rem);
}

.ws-trust-head h2{
  margin: 0;
  max-width: 13ch;
  font-size: clamp(2.6rem, 4.5vw, 4.6rem);
  line-height: 1;
  letter-spacing: -.06em;
  font-weight: 760;
  color: #fff;
}

.ws-trust-head p{
  max-width: 680px;
  margin: 1.2rem 0 0;
  color: rgba(255,255,255,.68);
  font-size: 1.04rem;
  line-height: 1.8;
}

.ws-trust-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid rgba(255,255,255,.14);
  border-left: 1px solid rgba(255,255,255,.14);
}

.ws-trust-card{
  min-height: 260px;
  padding: 1.4rem;
  border-right: 1px solid rgba(255,255,255,.14);
  border-bottom: 1px solid rgba(255,255,255,.14);
}

.ws-trust-card h3{
  margin: 0;
  color: #fff;
  font-size: 1.08rem;
  font-weight: 750;
  letter-spacing: -.03em;
}

.ws-trust-card p{
  margin: .8rem 0 0;
  color: rgba(255,255,255,.62);
  font-size: .94rem;
  line-height: 1.7;
}

.ws-trust-bottom{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, .9fr);
  gap: clamp(2rem, 6vw, 6rem);
  margin-top: clamp(3rem, 5vw, 4rem);
}

.ws-trust-bottom ul{
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}

.ws-trust-bottom li{
  padding: .8rem 0;
  border-bottom: 1px solid rgba(255,255,255,.12);
  color: rgba(255,255,255,.68);
}

.ws-trust-bottom p:not(.ws-section-kicker){
  margin: 1rem 0 0;
  color: rgba(255,255,255,.68);
  line-height: 1.8;
}

@media (max-width: 1199.98px){
  .ws-trust-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px){
  .ws-trust-grid,
  .ws-trust-bottom{
    grid-template-columns: 1fr;
  }

  .ws-trust-card{
    min-height: auto;
  }
}

.ws-footer{
  padding: clamp(6rem, 9vw, 9rem) 0 2rem;
  background: #0b1220;
  color: #fff;
}

.ws-footer-grid{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .72fr);
  gap: clamp(3rem, 7vw, 7rem);
  align-items: start;
}

.ws-footer-copy h2{
  margin: 0;
  max-width: 11ch;
  color: #fff;
  font-size: clamp(2.8rem, 5vw, 5.2rem);
  line-height: .95;
  letter-spacing: -.065em;
  font-weight: 760;
}

.ws-footer-copy > p{
  max-width: 620px;
  margin: 1.4rem 0 0;
  color: rgba(255,255,255,.68);
  font-size: 1.04rem;
  line-height: 1.85;
}

.ws-footer-contact{
  display: grid;
  gap: 1rem;
  margin-top: 2.4rem;
}

.ws-footer-contact div{
  padding-top: 1rem;
  border-top: 1px solid rgba(255,255,255,.14);
}

.ws-footer-contact span{
  display: block;
  margin-bottom: .35rem;
  color: rgba(255,255,255,.48);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.ws-footer-contact a,
.ws-footer-contact p{
  margin: 0;
  color: #fff;
  text-decoration: none;
}

.ws-contact-form{
  position: relative;
  padding: clamp(1.4rem, 3vw, 2rem);
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 28px 80px rgba(0,0,0,.22);
}

.ws-contact-form label{
  display: block;
  margin: 0 0 .45rem;
  color: rgba(255,255,255,.78);
  font-size: .88rem;
  font-weight: 650;
}

.ws-contact-form input,
.ws-contact-form textarea{
  width: 100%;
  margin-bottom: 1rem;
  padding: .9rem 1rem;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.92);
  color: #0b1220;
  font: inherit;
  outline: none;
}

.ws-contact-form textarea{
  resize: vertical;
}

.ws-contact-form input:focus,
.ws-contact-form textarea:focus{
  border-color: var(--cyan);
}

.ws-check{
  display: flex !important;
  gap: .65rem;
  align-items: flex-start;
  margin-top: .2rem !important;
}

.ws-check input{
  width: auto;
  margin-top: .25rem;
  margin-bottom: 0;
}

.ws-check span{
  color: rgba(255,255,255,.68);
  font-size: .88rem;
  line-height: 1.6;
}

.ws-check a{
  color: #fff;
  text-decoration: underline;
}

.ws-contact-form button{
  width: 100%;
  min-height: 50px;
  margin-top: 1rem;
  border: 0;
  border-radius: 999px;
  background: var(--cyan);
  color: #06202a;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.ws-form-hint{
  margin: 1rem 0 0;
  color: rgba(255,255,255,.48);
  font-size: .88rem;
  line-height: 1.65;
}

.ws-footer-meta{
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-top: clamp(3rem, 5vw, 4rem);
  padding-top: 1.2rem;
  border-top: 1px solid rgba(255,255,255,.14);
  color: rgba(255,255,255,.52);
  font-size: .9rem;
}

.ws-footer-meta a{
  color: rgba(255,255,255,.72);
  text-decoration: none;
}

.ws-footer-meta a:hover{
  color: #fff;
}

@media (max-width: 991.98px){
  .ws-footer-grid{
    grid-template-columns: 1fr;
  }
}

.ws-dark-divider{
  background: #0b1220;
  padding: 0 clamp(24px, 5vw, 80px);
}

.ws-dark-divider span{
  display: block;
  max-width: var(--max);
  height: 1px;
  margin: 0 auto;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.18),
    transparent
  );
}

.ws-page-hero{
  position: relative;
  overflow: hidden;
  padding: clamp(6rem, 10vw, 10rem) 0 4rem;
  background:
    radial-gradient(circle at 78% 34%, rgba(8,145,178,.075), transparent 32%),
    linear-gradient(90deg, rgba(11,18,32,.022) 1px, transparent 1px),
    linear-gradient(rgba(11,18,32,.022) 1px, transparent 1px),
    var(--bg);
  background-size: auto, 80px 80px, 80px 80px;
}

.ws-page-hero-grid{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(380px, .9fr);
  gap: clamp(3rem, 7vw, 7rem);
  align-items: center;
}

.ws-page-hero-copy{
  max-width: 720px;
}

.ws-page-hero h1{
  margin: 0;
  max-width: 11ch;
  font-size: clamp(3rem, 6vw, 5.8rem);
  line-height: .92;
  letter-spacing: -.07em;
  font-weight: 760;
}

.ws-page-lead{
  max-width: 620px;
  margin: 1.6rem 0 0;
  font-size: 1.08rem;
  line-height: 1.85;
  color: var(--text-soft);
}

.ws-page-lead-secondary{
  max-width: 600px;
  margin: .9rem 0 0;
  font-size: 1rem;
  line-height: 1.8;
  color: var(--text-muted);
}

/* VISUAL */

.ws-page-hero-visual{
  position: relative;
}

.ws-hero-flow{
  display: flex;
  align-items: center;
  gap: 1.8rem;
  padding: 1.8rem;
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: 0 24px 70px rgba(11,18,32,.08);
}

.ws-flow-side{
  flex: 1;
}

.ws-flow-side span{
  display: block;
  margin-bottom: .6rem;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--cyan);
}

.ws-flow-side p{
  margin: 0;
  color: var(--text-soft);
  line-height: 1.7;
}

.ws-flow-arrow{
  font-size: 1.6rem;
  color: var(--text-muted);
}

/* RESPONSIVE */

@media (max-width: 991.98px){
  .ws-page-hero-grid{
    grid-template-columns: 1fr;
  }

  .ws-hero-flow{
    margin-top: 2rem;
  }
}

@media (max-width: 767.98px){
  .ws-page-hero{
    padding: 5rem 0 3rem;
  }

  .ws-page-hero h1{
    font-size: clamp(2.6rem, 12vw, 4.2rem);
    line-height: .96;
  }

  .ws-hero-flow{
    flex-direction: column;
    align-items: stretch;
  }

  .ws-flow-arrow{
    display: none;
  }
}

.ws-why{
  padding: clamp(5rem, 8vw, 7rem) 0;
  background: #fff;
}

.ws-why-head{
  max-width: 760px;
  margin-bottom: clamp(2.5rem, 4vw, 3.5rem);
}

.ws-why-head h2{
  margin: 0;
  max-width: 13ch;
  font-size: clamp(2.4rem, 4vw, 4rem);
  line-height: 1.02;
  letter-spacing: -.055em;
  font-weight: 760;
}

.ws-why-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(2rem, 4vw, 3rem);
}

.ws-why-grid p{
  margin: 0;
  color: var(--text-soft);
  font-size: 1.02rem;
  line-height: 1.85;
}

@media (max-width: 767.98px){
  .ws-why-grid{
    grid-template-columns: 1fr;
  }
}

.ws-consulting{
  padding: clamp(5.5rem, 8vw, 8rem) 0;
  background: var(--bg);
}

.ws-consulting-layout{
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: start;
}

.ws-consulting-head h2{
  margin: 0;
  max-width: 10ch;
  font-size: clamp(2.5rem, 4.4vw, 4.4rem);
  line-height: 1;
  letter-spacing: -.06em;
  font-weight: 760;
}

.ws-consulting-copy{
  max-width: 680px;
  padding-top: .4rem;
}

.ws-consulting-copy p{
  margin: 0 0 1.15rem;
  color: var(--text-soft);
  font-size: 1.03rem;
  line-height: 1.85;
}

.ws-consulting-copy p:last-child{
  margin-bottom: 0;
}

.ws-consulting-points{
  margin-top: clamp(3rem, 5vw, 4.5rem);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.ws-consulting-points article{
  min-height: 230px;
  padding: 1.5rem;
  background: #fff;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.ws-consulting-points article::before{
  content: "";
  display: block;
  width: 42px;
  height: 2px;
  margin-bottom: 1.4rem;
  background: var(--cyan);
}

.ws-consulting-points h3{
  margin: 0;
  font-size: 1.15rem;
  line-height: 1.2;
  letter-spacing: -.035em;
  font-weight: 750;
}

.ws-consulting-points p{
  margin: .85rem 0 0;
  color: var(--text-muted);
  font-size: .95rem;
  line-height: 1.7;
}

@media (max-width: 991.98px){
  .ws-consulting-layout,
  .ws-consulting-points{
    grid-template-columns: 1fr;
  }

  .ws-consulting-points article{
    min-height: auto;
  }
}

.ws-areas{
  padding: clamp(5.5rem, 8vw, 8rem) 0;
  background: #fff;
}

.ws-areas-head{
  max-width: 760px;
  margin-bottom: clamp(2.5rem, 4vw, 3.5rem);
}

.ws-areas-head h2{
  margin: 0;
  max-width: 12ch;
  font-size: clamp(2.4rem, 4vw, 4rem);
  line-height: 1;
  letter-spacing: -.055em;
  font-weight: 760;
}

.ws-areas-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.8rem, 3vw, 2.5rem);
}

.ws-areas-grid article{
  padding: 1.4rem;
  border: 1px solid var(--line);
  background: #fff;
}

.ws-areas-grid h3{
  margin: 0;
  font-size: 1.08rem;
  font-weight: 750;
  letter-spacing: -.03em;
}

.ws-areas-grid p{
  margin: .75rem 0 0;
  color: var(--text-soft);
  font-size: .95rem;
  line-height: 1.7;
}

@media (max-width: 991.98px){
  .ws-areas-grid{
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 767.98px){
  .ws-areas-grid{
    grid-template-columns: 1fr;
  }
}

.ws-situations{
  padding: clamp(5rem, 8vw, 7rem) 0;
  background: var(--bg);
}

.ws-situations-head{
  max-width: 720px;
  margin-bottom: 2.5rem;
}

.ws-situations-head h2{
  margin: 0;
  font-size: clamp(2.3rem, 4vw, 3.8rem);
  line-height: 1;
  letter-spacing: -.05em;
}

.ws-situations-list{
  list-style: none;
  padding: 0;
  margin: 0;
}

.ws-situations-list li{
  padding: 1rem 0;
  border-bottom: 1px solid var(--line);
  color: var(--text-soft);
  font-size: 1rem;
}
.ws-situations{
  padding: clamp(5rem, 8vw, 7rem) 0;
  background: var(--bg);
}

.ws-situations-head{
  max-width: 720px;
  margin-bottom: 2.5rem;
}

.ws-situations-head h2{
  margin: 0;
  font-size: clamp(2.3rem, 4vw, 3.8rem);
  line-height: 1;
  letter-spacing: -.05em;
}

.ws-situations-list{
  list-style: none;
  padding: 0;
  margin: 0;
}

.ws-situations-list li{
  padding: 1rem 0;
  border-bottom: 1px solid var(--line);
  color: var(--text-soft);
  font-size: 1rem;
}

.ws-areas-layout{
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(320px, .75fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: start;
  margin-bottom: clamp(3rem, 5vw, 4.5rem);
}

.ws-situations-box{
  padding: 1.5rem;
  background: var(--bg);
  border: 1px solid var(--line);
}

.ws-situations-label{
  margin: 0 0 1rem;
  color: var(--cyan);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.ws-situations-list{
  list-style: none;
  padding: 0;
  margin: 0;
}

.ws-situations-list li{
  padding: .85rem 0;
  border-bottom: 1px solid var(--line);
  color: var(--text-soft);
  font-size: .95rem;
  line-height: 1.6;
}

.ws-situations-list li:last-child{
  border-bottom: 0;
}

@media (max-width: 991.98px){
  .ws-areas-layout{
    grid-template-columns: 1fr;
  }
}

/* PRAXIS PAGE */

.ws-practice-hero{
  position: relative;
  overflow: hidden;
  padding: clamp(6rem, 10vw, 10rem) 0 4rem;
  background:
    radial-gradient(circle at 78% 34%, rgba(8,145,178,.075), transparent 32%),
    linear-gradient(90deg, rgba(11,18,32,.022) 1px, transparent 1px),
    linear-gradient(rgba(11,18,32,.022) 1px, transparent 1px),
    var(--bg);
  background-size: auto, 80px 80px, 80px 80px;
}

.ws-practice-hero h1{
  margin: 0;
  max-width: 11ch;
  font-size: clamp(3rem, 6vw, 5.8rem);
  line-height: .92;
  letter-spacing: -.07em;
  font-weight: 760;
}

.ws-practice-intro{
  padding: clamp(5rem, 8vw, 7rem) 0;
  background: #fff;
}

.ws-practice-intro-grid{
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1fr);
  gap: clamp(2rem, 6vw, 6rem);
}

.ws-practice-intro h2{
  margin: 0;
  max-width: 10ch;
  font-size: clamp(2.4rem, 4vw, 4rem);
  line-height: 1;
  letter-spacing: -.055em;
  font-weight: 760;
}

.ws-practice-intro p{
  margin: 0 0 1rem;
  color: var(--text-soft);
  font-size: 1.03rem;
  line-height: 1.85;
}

.ws-practice-cases{
  padding: clamp(5.5rem, 8vw, 8rem) 0;
  background: var(--bg);
}

.ws-case-detail{
  display: grid;
  grid-template-columns: .7fr 1.4fr .9fr;
  gap: clamp(2rem, 4vw, 4rem);
  padding: clamp(2rem, 4vw, 3.2rem);
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 28px 80px rgba(11,18,32,.08);
}

.ws-case-detail + .ws-case-detail{
  margin-top: clamp(2rem, 4vw, 3rem);
}

.ws-case-label{
  align-self: start;
  width: fit-content;
  padding: .55rem .75rem;
  border: 1px solid rgba(8,145,178,.22);
  color: var(--cyan);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.ws-case-main h2{
  margin: 0 0 1rem;
  max-width: 580px;
  font-size: clamp(1.8rem, 2.6vw, 2.6rem);
  line-height: 1.05;
  letter-spacing: -.05em;
  font-weight: 760;
}

.ws-case-main p{
  margin: 0 0 1rem;
  color: var(--text-soft);
  font-size: 1rem;
  line-height: 1.85;
}

.ws-case-main p:last-child{
  margin-bottom: 0;
}

.ws-case-result{
  align-self: end;
  padding-top: 1.2rem;
  border-top: 2px solid var(--cyan);
}

.ws-case-result span{
  display: block;
  margin-bottom: .7rem;
  color: var(--cyan);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.ws-case-result p{
  margin: 0;
  color: var(--text);
  font-weight: 650;
  line-height: 1.65;
}

.ws-practice-note-section{
  padding: clamp(5rem, 8vw, 7rem) 0;
  background: #fff;
}

.ws-practice-note-large{
  max-width: 880px;
  padding-left: 1.5rem;
  border-left: 2px solid var(--cyan);
}

.ws-practice-note-large h2{
  margin: 0;
  max-width: 14ch;
  font-size: clamp(2.2rem, 4vw, 3.8rem);
  line-height: 1;
  letter-spacing: -.055em;
  font-weight: 760;
}

.ws-practice-note-large p:not(.ws-section-kicker){
  max-width: 640px;
  margin: 1.2rem 0 0;
  color: var(--text-soft);
  font-size: 1.03rem;
  line-height: 1.85;
}

@media (max-width: 991.98px){
  .ws-practice-intro-grid,
  .ws-case-detail{
    grid-template-columns: 1fr;
  }

  .ws-case-result{
    align-self: auto;
  }
}

@media (max-width: 767.98px){
  .ws-practice-hero{
    padding: 5rem 0 3rem;
  }

  .ws-practice-hero h1{
    font-size: clamp(2.6rem, 12vw, 4.2rem);
    line-height: .96;
  }

  .ws-case-detail{
    padding: 1.4rem;
  }

  .ws-case-label{
    width: 100%;
  }
}
/* ABOUT PAGE */

.ws-about-hero{
  position: relative;
  overflow: hidden;
  padding: clamp(6rem, 10vw, 10rem) 0 4rem;
  background:
    radial-gradient(circle at 78% 34%, rgba(8,145,178,.075), transparent 32%),
    linear-gradient(90deg, rgba(11,18,32,.022) 1px, transparent 1px),
    linear-gradient(rgba(11,18,32,.022) 1px, transparent 1px),
    var(--bg);
  background-size: auto, 80px 80px, 80px 80px;
}

.ws-about-hero h1{
  margin: 0;
  max-width: 11ch;
  font-size: clamp(3rem, 6vw, 5.8rem);
  line-height: .92;
  letter-spacing: -.07em;
  font-weight: 760;
}

.ws-about-core{
  padding: clamp(5rem, 8vw, 7rem) 0;
  background: #fff;
}

.ws-about-grid{
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(0,1fr);
  gap: clamp(2rem,6vw,6rem);
  align-items: start;
}

.ws-about-grid h2{
  margin: 0;
  max-width: 11ch;
  font-size: clamp(2.4rem, 4vw, 4rem);
  line-height: 1;
  letter-spacing: -.055em;
  font-weight: 760;
}

.ws-about-grid p{
  margin: 0 0 1rem;
  color: var(--text-soft);
  font-size: 1.03rem;
  line-height: 1.85;
}

.ws-about-people{
  padding: clamp(5.5rem, 8vw, 8rem) 0;
  background: var(--bg);
}

.ws-about-people-grid{
  display: grid;
  grid-template-columns: minmax(320px, .8fr) minmax(0, 1fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
}

.ws-founder-image{
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  box-shadow: 0 28px 80px rgba(11,18,32,.10);
  background: #e5e7eb;
}

.ws-founder-image img{
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  display: block;
  filter: saturate(.9) contrast(1.04);
}

.ws-founder-copy h2{
  margin: 0;
  font-size: clamp(2.4rem, 4vw, 4.2rem);
  line-height: 1;
  letter-spacing: -.06em;
  font-weight: 760;
}

.ws-founder-copy p{
  max-width: 680px;
  margin: 1rem 0 0;
  color: var(--text-soft);
  font-size: 1.02rem;
  line-height: 1.85;
}

.ws-role-grid{
  margin-top: clamp(3rem, 5vw, 4.5rem);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.ws-role-grid article{
  padding: 1.5rem;
  background: #fff;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.ws-role-grid span{
  display: block;
  margin-bottom: .8rem;
  color: var(--cyan);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.ws-role-grid h3{
  margin: 0;
  font-size: 1.15rem;
  font-weight: 750;
  letter-spacing: -.03em;
}

.ws-role-grid p{
  margin: .8rem 0 0;
  color: var(--text-soft);
  line-height: 1.75;
}

.ws-about-foundation{
  padding: clamp(5.5rem, 8vw, 8rem) 0;
  background: #fff;
}

.ws-about-foundation-box{
  max-width: 920px;
  padding-left: 1.5rem;
  border-left: 2px solid var(--cyan);
}

.ws-about-foundation-box h2{
  margin: 0;
  max-width: 13ch;
  font-size: clamp(2.4rem, 4vw, 4rem);
  line-height: 1;
  letter-spacing: -.055em;
  font-weight: 760;
}

.ws-about-foundation-box p{
  max-width: 680px;
  margin: 1.2rem 0 0;
  color: var(--text-soft);
  font-size: 1.03rem;
  line-height: 1.85;
}

.ws-about-foundation-box ul{
  max-width: 760px;
  margin: 2rem 0 0;
  padding: 0;
  list-style: none;
}

.ws-about-foundation-box li{
  padding: 1rem 0;
  border-bottom: 1px solid var(--line);
  color: var(--text-soft);
  line-height: 1.7;
}

@media (max-width: 991.98px){
  .ws-about-grid,
  .ws-about-people-grid,
  .ws-role-grid{
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767.98px){
  .ws-about-hero{
    padding: 5rem 0 3rem;
  }

  .ws-about-hero h1{
    font-size: clamp(2.6rem, 12vw, 4.2rem);
    line-height: .96;
  }

  .ws-founder-image img{
    aspect-ratio: 4 / 4.6;
  }
}
.ws-team-headline{
  margin-top: clamp(4rem, 6vw, 5rem);
  margin-bottom: 2rem;
}

.ws-team-headline h2{
  margin: 0;
  max-width: 11ch;
  font-size: clamp(2.2rem, 3.8vw, 3.8rem);
  line-height: 1;
  letter-spacing: -.055em;
  font-weight: 760;
}

.ws-role-grid{
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ws-about-statement{
  padding: clamp(5rem, 8vw, 7rem) 0;
  background: #0b1220;
}

.ws-about-statement p{
  max-width: 980px;
  margin: 0;
  color: #fff;
  font-size: clamp(2rem, 4vw, 4.5rem);
  line-height: 1.05;
  letter-spacing: -.06em;
  font-weight: 760;
}

@media (max-width: 1199.98px){
  .ws-role-grid{
    grid-template-columns: 1fr;
  }
}

.ws-brand{
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.ws-brand-logo{
  display: block;
  width: auto;
  height: 34px;
}

@media (max-width: 767.98px){
  .ws-brand-logo{
    height: 32px;
  }
}

.ws-role-mail{
  display: inline-block;
  margin-top: 1.1rem;
  color: var(--text);
  font-size: .9rem;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 1px solid rgba(8,145,178,.35);
}

.ws-role-mail:hover{
  color: var(--cyan);
}

.ws-footer-social{
  display: inline-flex;
  align-items: center;
  gap: .55rem;
}

.ws-footer-social i{
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  color: #fff;
  font-size: .85rem;
}

.ws-footer-social:hover i{
  border-color: var(--cyan);
  color: var(--cyan);
}

.ws-process-demo{
  padding: clamp(6rem, 9vw, 9rem) 0;
  background:
    radial-gradient(circle at 70% 20%, rgba(8,145,178,.12), transparent 30%),
    #0b1220;
  color: #fff;
}

.ws-process-demo-head{
  max-width: 860px;
  margin: 0 auto clamp(3rem, 5vw, 4rem);
  text-align: center;
}

.ws-process-demo-head h2{
  margin: 0;
  color: #fff;
  font-size: clamp(2.5rem, 4.7vw, 4.8rem);
  line-height: .98;
  letter-spacing: -.065em;
  font-weight: 760;
}

.ws-process-demo-head p{
  max-width: 680px;
  margin: 1.2rem auto 0;
  color: rgba(255,255,255,.64);
  font-size: 1.04rem;
  line-height: 1.8;
}

.ws-demo-card{
  max-width: 1120px;
  margin: 0 auto;
  padding: clamp(1.5rem, 3vw, 2.2rem);
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 40px 120px rgba(0,0,0,.28);
  backdrop-filter: blur(18px);
}

.ws-demo-top{
  display: flex;
  justify-content: space-between;
  gap: 1.5rem;
  align-items: center;
  margin-bottom: 1.8rem;
}

.ws-demo-label{
  display: block;
  margin-bottom: .45rem;
  color: #22d3ee;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.ws-demo-top h3{
  margin: 0;
  color: #fff;
  font-size: clamp(1.5rem, 2.4vw, 2.4rem);
  letter-spacing: -.045em;
}

.ws-demo-start{
  min-height: 44px;
  padding: .8rem 1.1rem;
  border: 0;
  border-radius: 999px;
  background: #22d3ee;
  color: #06202a;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.ws-demo-metrics{
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: .9rem;
  margin-bottom: 2rem;
}

.ws-demo-metrics div{
  padding: 1rem;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
}

.ws-demo-metrics span{
  display: block;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 800;
}

.ws-demo-metrics p{
  margin: .2rem 0 0;
  color: rgba(255,255,255,.56);
  font-size: .88rem;
}

.ws-workflow{
  display: grid;
  grid-template-columns: 1fr 36px 1fr 36px 1fr 36px 1fr 36px 1fr;
  align-items: stretch;
  gap: 0;
}

.ws-workflow-step{
  position: relative;
  min-height: 180px;
  padding: 1.2rem;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.11);
  transform: translateY(10px);
  opacity: .45;
  transition: opacity .35s ease, transform .35s ease, border-color .35s ease, background .35s ease;
}

.ws-workflow-step i{
  display: block;
  width: 12px;
  height: 12px;
  margin-bottom: 1rem;
  border-radius: 50%;
  background: rgba(255,255,255,.25);
  box-shadow: 0 0 0 6px rgba(255,255,255,.04);
  transition: background .3s ease, box-shadow .3s ease;
}

.ws-workflow-step span{
  display: block;
  color: #fff;
  font-weight: 800;
  letter-spacing: -.02em;
}

.ws-workflow-step p{
  margin: .6rem 0 0;
  color: rgba(255,255,255,.56);
  font-size: .9rem;
  line-height: 1.6;
}

.ws-workflow-step.is-active{
  opacity: 1;
  transform: translateY(0);
  border-color: rgba(34,211,238,.34);
  background: rgba(34,211,238,.08);
}

.ws-workflow-step.is-complete i{
  background: #22c55e;
  box-shadow: 0 0 0 6px rgba(34,197,94,.12);
}

.ws-workflow-step-human.is-active{
  border-color: rgba(34,211,238,.55);
  background: rgba(255,255,255,.09);
}

.ws-workflow-step-human.is-active i{
  background: #22d3ee;
  box-shadow: 0 0 0 6px rgba(34,211,238,.14);
}

.ws-workflow-line{
  position: relative;
  align-self: center;
  height: 1px;
  background: rgba(255,255,255,.12);
  overflow: hidden;
}

.ws-workflow-line::after{
  content: "";
  position: absolute;
  inset: 0;
  transform: scaleX(0);
  transform-origin: left;
  background: #22d3ee;
  transition: transform .45s ease;
}

.ws-workflow-line.is-active::after{
  transform: scaleX(1);
}

.ws-human-note{
  margin-top: 1.4rem;
  padding-left: 1rem;
  border-left: 2px solid #22d3ee;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .35s ease, transform .35s ease;
}

.ws-human-note.is-visible{
  opacity: 1;
  transform: translateY(0);
}

.ws-human-note span{
  display: block;
  color: #fff;
  font-weight: 800;
}

.ws-human-note p{
  margin: .35rem 0 0;
  color: rgba(255,255,255,.62);
}

@media (max-width: 991.98px){
  .ws-workflow{
    grid-template-columns: 1fr;
    gap: .75rem;
  }

  .ws-workflow-line{
    display: none;
  }

  .ws-demo-top{
    flex-direction: column;
    align-items: flex-start;
  }

  .ws-demo-metrics{
    grid-template-columns: 1fr;
  }
}
.ws-nav-dropdown{
  position: relative;
}

.ws-dropdown-menu{
  margin-top: 1.1rem;
  padding: .65rem;
  min-width: 260px;
  border: 1px solid var(--line);
  border-radius: 0;
  background: rgba(255,255,255,.96);
  box-shadow: 0 24px 70px rgba(11,18,32,.12);
}

.ws-dropdown-item{
  padding: .75rem .85rem;
  color: var(--text-muted);
  font-size: .9rem;
  font-weight: 650;
  border-radius: 0;
}

.ws-dropdown-item:hover,
.ws-dropdown-item:focus{
  color: var(--text);
  background: rgba(8,145,178,.07);
}

.ws-nav-links .dropdown-toggle::after{
  margin-left: .45rem;
  vertical-align: .08em;
  border-top-color: currentColor;
}

@media (min-width: 992px){
  .ws-nav-dropdown:hover .ws-dropdown-menu{
    display: block;
  }
}

@media (min-width: 992px){
  .ws-nav-shell{
    display: flex;
    align-items: center;
    min-height: 92px;
  }

  .ws-nav-brand{
    flex: 0 0 auto;
    margin-right: 3rem;
  }

  .ws-nav-collapse{
    flex: 1 1 auto;
    display: flex !important;
    align-items: center;
  }

  .ws-nav-links{
    display: flex;
    align-items: center;
    gap: 1.8rem;
    margin-left: auto;
    margin-right: 2rem;
  }

  .ws-nav-cta{
    flex: 0 0 auto;
    margin-left: 0;
  }
}

@media (min-width: 992px){
  .ws-dropdown-menu{
    margin-top: 1.35rem;
    padding: .55rem;
    min-width: 300px;

    border: 1px solid rgba(11,18,32,.08);
    border-radius: 18px;

    background: rgba(255,255,255,.88);
    backdrop-filter: blur(18px);

    box-shadow:
      0 24px 70px rgba(11,18,32,.12),
      0 1px 0 rgba(255,255,255,.8) inset;
  }

  .ws-dropdown-item{
    display: block;
    padding: .9rem 1rem;
    border-radius: 12px;

    color: var(--text-soft);
    font-size: .94rem;
    font-weight: 700;
    letter-spacing: -.02em;

    transition: background .18s ease, color .18s ease, transform .18s ease;
  }

  .ws-dropdown-item:hover,
  .ws-dropdown-item:focus{
    color: var(--text);
    background: rgba(8,145,178,.08);
    transform: translateX(2px);
  }

  .ws-nav-links .dropdown-toggle::after{
    margin-left: .5rem;
    vertical-align: .12em;
    border-top-color: currentColor;
    opacity: .7;
  }
}
.ws-service-lines{
  padding: clamp(6rem, 9vw, 9rem) 0;
  background: #fff;
}

.ws-service-head{
  max-width: 860px;
  margin-bottom: clamp(3rem, 5vw, 4.5rem);
}

.ws-service-head h2{
  margin: 0;
  max-width: 13ch;
  font-size: clamp(2.5rem, 4.4vw, 4.4rem);
  line-height: 1;
  letter-spacing: -.06em;
  font-weight: 760;
}

.ws-service-head p{
  max-width: 640px;
  margin: 1.2rem 0 0;
  color: var(--text-soft);
  font-size: 1.03rem;
  line-height: 1.8;
}

.ws-service-list{
  display: grid;
  gap: 1rem;
}

.ws-service-line{
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr) minmax(280px, .46fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  padding: clamp(1.6rem, 3.5vw, 3rem);
  border: 1px solid var(--line);
  background:
    linear-gradient(90deg, rgba(11,18,32,.018) 1px, transparent 1px),
    linear-gradient(rgba(11,18,32,.018) 1px, transparent 1px),
    #fff;
  background-size: 56px 56px;
}

.ws-service-index{
  color: var(--cyan);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .14em;
}

.ws-service-main > span{
  display: block;
  margin-bottom: .85rem;
  color: var(--cyan);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.ws-service-main h3{
  margin: 0;
  max-width: 820px;
  font-size: clamp(1.7rem, 2.6vw, 2.7rem);
  line-height: 1.06;
  letter-spacing: -.055em;
  font-weight: 760;
}

.ws-service-main p{
  max-width: 760px;
  margin: 1rem 0 0;
  color: var(--text-soft);
  font-size: 1rem;
  line-height: 1.85;
}

.ws-service-tags{
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin-top: 1.4rem;
}

.ws-service-tags em{
  display: inline-flex;
  padding: .45rem .65rem;
  border: 1px solid rgba(8,145,178,.18);
  background: rgba(8,145,178,.045);
  color: var(--text-soft);
  font-size: .82rem;
  font-style: normal;
  font-weight: 650;
}

.ws-service-result{
  align-self: end;
  padding-left: 1rem;
  border-left: 2px solid var(--cyan);
}

.ws-service-result span{
  display: block;
  margin-bottom: .65rem;
  color: var(--cyan);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.ws-service-result p{
  margin: 0;
  color: var(--text);
  font-size: .95rem;
  font-weight: 650;
  line-height: 1.65;
}

@media (max-width: 991.98px){
  .ws-service-line{
    grid-template-columns: 1fr;
  }

  .ws-service-result{
    align-self: auto;
  }
}

.ws-practice-case-link{
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease;
}

.ws-practice-case-link:hover{
  transform: translateY(-2px);
  border-color: rgba(8,145,178,.22);
  box-shadow: 0 34px 90px rgba(11,18,32,.11);
}

.ws-practice-case-link .ws-practice-result span::after{
  content: " →";
}

.ws-practice-list{
  display: grid;
  gap: 1.25rem;
}

.ws-practice-case-link{
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease;
}

.ws-practice-case-link:hover{
  transform: translateY(-2px);
  border-color: rgba(8,145,178,.22);
  box-shadow: 0 34px 90px rgba(11,18,32,.11);
}

.ws-practice-case-link .ws-practice-result span::after{
  content: " →";
}

.ws-practice-more{
  margin-top: 2rem;
  display: flex;
  justify-content: flex-end;
}

.ws-practice-more a{
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  color: var(--text);
  font-size: .95rem;
  font-weight: 800;
  text-decoration: none;
  border-bottom: 1px solid rgba(8,145,178,.35);
}

.ws-practice-more a span{
  transition: transform .18s ease;
}

.ws-practice-more a:hover span{
  transform: translateX(3px);
}

@media (max-width: 767.98px){
  .ws-practice-more{
    justify-content: flex-start;
  }
}

/* USE CASE LANDING PAGE */

.ws-usecase-hero{
  padding: clamp(6rem, 10vw, 10rem) 0;
  background:
    radial-gradient(circle at 78% 28%, rgba(8,145,178,.09), transparent 32%),
    linear-gradient(90deg, rgba(11,18,32,.022) 1px, transparent 1px),
    linear-gradient(rgba(11,18,32,.022) 1px, transparent 1px),
    var(--bg);
  background-size: auto, 80px 80px, 80px 80px;
}

.ws-usecase-hero-grid{
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(360px, .75fr);
  gap: clamp(3rem, 7vw, 7rem);
  align-items: center;
}

.ws-usecase-copy h1{
  margin: 0;
  max-width: 11ch;
  font-size: clamp(3rem, 6vw, 5.6rem);
  line-height: .94;
  letter-spacing: -.07em;
  font-weight: 760;
}

.ws-usecase-benefits{
  margin: 2rem 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: .75rem;
}

.ws-usecase-benefits li{
  color: var(--text-soft);
  font-weight: 650;
}

.ws-usecase-benefits li::before{
  content: "✓";
  margin-right: .6rem;
  color: var(--cyan);
  font-weight: 800;
}

.ws-usecase-mockup{
  display: flex;
  justify-content: center;
}

.ws-pdf-card{
  width: min(100%, 360px);
  padding: .8rem;
  background: rgba(255,255,255,.76);
  border: 1px solid var(--line);
  box-shadow: 0 34px 100px rgba(11,18,32,.16);
  transform: rotate(1.5deg);
}

.ws-pdf-cover{
  min-height: 430px;
  padding: 1.8rem;
  background:
    linear-gradient(to bottom, rgba(11,18,32,.24), rgba(11,18,32,.82)),
    url("/assets/img/use-case-mail-cover.jpg");
  background-size: cover;
  background-position: center;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.ws-pdf-cover-system{
  background:
    linear-gradient(to bottom, rgba(11,18,32,.18), rgba(11,18,32,.86)),
    url("/assets/img/use-case-system-cover.jpg");
  background-size: cover;
  background-position: center;
}

.ws-pdf-cover span{
  color: #22d3ee;
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.ws-pdf-cover h2{
  margin: .75rem 0;
  font-size: 2rem;
  line-height: 1.05;
  letter-spacing: -.05em;
  font-weight: 800;
}

.ws-pdf-cover p{
  margin: 0;
  color: rgba(255,255,255,.78);
  line-height: 1.5;
}

.ws-pdf-pages{
  display: flex;
  gap: .35rem;
  margin-top: .7rem;
}

.ws-pdf-pages span{
  flex: 1;
  height: 5px;
  background: rgba(8,145,178,.22);
}

.ws-usecase-summary{
  padding: clamp(5.5rem, 8vw, 8rem) 0;
  background: #fff;
}

.ws-usecase-summary-grid{
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(0,1fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: start;
}

.ws-usecase-summary h2,
.ws-download-copy h2,
.ws-usecase-contact h2{
  margin: 0;
  max-width: 11ch;
  font-size: clamp(2.4rem, 4vw, 4rem);
  line-height: 1;
  letter-spacing: -.055em;
  font-weight: 760;
}

.ws-usecase-summary p,
.ws-download-copy p,
.ws-usecase-contact p{
  color: var(--text-soft);
  line-height: 1.85;
}

.ws-usecase-stats{
  margin-top: clamp(3rem, 5vw, 4rem);
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  border-top: 1px solid var(--line);
  border-left: 1px solid var(--line);
}

.ws-usecase-stats article{
  padding: 1.4rem;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.ws-usecase-stats strong{
  display: block;
  color: var(--text);
  font-size: clamp(2rem, 3.5vw, 3.6rem);
  line-height: 1;
  letter-spacing: -.05em;
}

.ws-usecase-stats span{
  display: block;
  margin-top: .6rem;
  color: var(--text-soft);
  line-height: 1.45;
}

.ws-usecase-download{
  padding: clamp(5.5rem, 8vw, 8rem) 0;
  background: var(--bg);
}

.ws-usecase-download-grid{
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(360px,.72fr);
  gap: clamp(3rem, 7vw, 7rem);
  align-items: start;
}

.ws-download-includes{
  margin-top: 2rem;
  padding-left: 1rem;
  border-left: 2px solid var(--cyan);
}

.ws-download-includes span{
  display: block;
  color: var(--cyan);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin-bottom: .8rem;
}

.ws-download-includes ul{
  margin: 0;
  padding-left: 1.1rem;
  color: var(--text-soft);
  line-height: 1.8;
}

.ws-lead-form{
  padding: clamp(1.4rem, 3vw, 2rem);
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 28px 80px rgba(11,18,32,.08);
}

.ws-lead-form label{
  display: block;
  margin: 1rem 0 .35rem;
  color: var(--text);
  font-size: .88rem;
  font-weight: 700;
}

.ws-lead-form input,
.ws-lead-form select{
  width: 100%;
  min-height: 46px;
  padding: .75rem .85rem;
  border: 1px solid rgba(11,18,32,.14);
  background: #f8fafc;
  color: var(--text);
  font: inherit;
}

.ws-lead-form input:focus,
.ws-lead-form select:focus{
  outline: none;
  border-color: rgba(8,145,178,.55);
}

.ws-lead-form .ws-check{
  display: flex;
  gap: .65rem;
  align-items: flex-start;
  margin-top: 1rem;
  color: var(--text-soft);
  font-size: .88rem;
  line-height: 1.5;
}

.ws-lead-form .ws-check input{
  width: auto;
  min-height: auto;
  margin-top: .25rem;
}

.ws-lead-form .ws-check a{
  color: var(--text);
  text-decoration: underline;
}

.ws-lead-form button{
  width: 100%;
  margin-top: 1.3rem;
  min-height: 48px;
  border: 0;
  border-radius: 999px;
  background: var(--navy);
  color: #fff;
  font: inherit;
  font-weight: 800;
}

.ws-usecase-contact{
  padding: clamp(5rem, 8vw, 7rem) 0;
  background: #fff;
}

.ws-usecase-contact-box{
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  align-items: center;
  padding-top: 2rem;
  border-top: 1px solid var(--line);
}

@media (max-width: 991.98px){
  .ws-usecase-hero-grid,
  .ws-usecase-summary-grid,
  .ws-usecase-download-grid{
    grid-template-columns: 1fr;
  }

  .ws-usecase-stats{
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .ws-usecase-contact-box{
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 767.98px){
  .ws-usecase-copy h1{
    font-size: clamp(2.6rem, 12vw, 4.2rem);
  }

  .ws-usecase-stats{
    grid-template-columns: 1fr;
  }

  .ws-pdf-card{
    transform: none;
  }
}
.ws-contact-person-box{
  display: grid;
  grid-template-columns: minmax(240px, .42fr) minmax(0, 1fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
  padding-top: clamp(2rem, 4vw, 3rem);
  border-top: 1px solid var(--line);
}

.ws-contact-person-image{
  margin: 0;
  overflow: hidden;
  background: #e5e7eb;
  border: 1px solid var(--line);
}

.ws-contact-person-image img{
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  display: block;
}

.ws-contact-person-copy h2{
  margin: 0;
  max-width: 12ch;
  font-size: clamp(2.6rem, 5vw, 5rem);
  line-height: .98;
  letter-spacing: -.065em;
  font-weight: 760;
}

.ws-contact-person-copy > p{
  max-width: 720px;
  margin: 1.2rem 0 0;
  color: var(--text-soft);
  font-size: 1.04rem;
  line-height: 1.85;
}

.ws-contact-person-meta{
  margin-top: 2rem;
  display: grid;
  gap: .25rem;
}

.ws-contact-person-meta span{
  color: var(--text-soft);
  font-size: .92rem;
  font-weight: 650;
}

.ws-contact-person-meta strong{
  color: var(--text);
  font-size: 1.08rem;
  font-weight: 800;
}

.ws-contact-person-meta small{
  color: var(--text-muted);
  font-size: .92rem;
}

.ws-contact-person-actions{
  margin-top: 1.6rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
}

.ws-contact-mail{
  color: var(--text);
  font-size: .95rem;
  font-weight: 750;
  text-decoration: none;
  border-bottom: 1px solid rgba(8,145,178,.35);
}

.ws-contact-mail:hover{
  color: var(--cyan);
}

@media (max-width: 767.98px){
  .ws-contact-person-box{
    grid-template-columns: 1fr;
  }

  .ws-contact-person-image{
    max-width: 320px;
  }
}

.ws-form-success,
.ws-form-error{
  margin-bottom: 1rem;
  padding: 1rem;
  font-weight: 700;
  line-height: 1.5;
}

.ws-form-success{
  background: rgba(34,197,94,.1);
  color: #166534;
}

.ws-form-error{
  background: rgba(239,68,68,.1);
  color: #991b1b;
}

.ws-lead-form-wrap{
  align-self: start;
}

.ws-lead-form .ws-check{
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: .7rem;
  align-items: start;
  margin-top: 1rem;
  color: var(--text-soft);
  font-size: .86rem;
  line-height: 1.5;
}

.ws-lead-form .ws-check input[type="checkbox"]{
  width: 18px;
  height: 18px;
  min-height: 18px;
  margin: .15rem 0 0;
  padding: 0;
  flex: none;
  accent-color: var(--cyan);
}

.ws-lead-form .ws-check span{
  display: block;
  color: var(--text-soft);
}

.ws-lead-form .ws-check a{
  color: var(--text);
  font-weight: 750;
  text-decoration: underline;
}

/* CONTACT PAGE */

.ws-contact-page-hero{
  padding: clamp(6rem, 10vw, 10rem) 0 5rem;
  background:
    radial-gradient(circle at 78% 28%, rgba(8,145,178,.09), transparent 32%),
    linear-gradient(90deg, rgba(11,18,32,.022) 1px, transparent 1px),
    linear-gradient(rgba(11,18,32,.022) 1px, transparent 1px),
    var(--bg);
  background-size: auto, 80px 80px, 80px 80px;
}

.ws-contact-page-grid{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .55fr);
  gap: clamp(3rem, 7vw, 7rem);
  align-items: center;
}

.ws-contact-page-hero h1{
  margin: 0;
  max-width: 10ch;
  font-size: clamp(3rem, 6vw, 5.8rem);
  line-height: .92;
  letter-spacing: -.07em;
  font-weight: 760;
}

.ws-contact-direct{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 2rem;
  max-width: 720px;
}

.ws-contact-direct div{
  padding: 1.2rem;
  background: #fff;
  border: 1px solid var(--line);
}

.ws-contact-direct span,
.ws-location-address span{
  display: block;
  margin-bottom: .45rem;
  color: var(--cyan);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.ws-contact-direct a,
.ws-contact-direct p,
.ws-location-address p{
  margin: 0;
  color: var(--text);
  font-weight: 700;
  line-height: 1.6;
}

.ws-contact-page-image{
  margin: 0;
  position: relative;
  overflow: hidden;
  background: #e5e7eb;
  border: 1px solid var(--line);
  box-shadow: 0 30px 90px rgba(11,18,32,.12);
}

.ws-contact-page-image img{
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  display: block;
}

.ws-contact-page-image figcaption{
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 18px;
  padding: 1rem;
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(14px);
  border: 1px solid rgba(255,255,255,.7);
  font-weight: 750;
  line-height: 1.5;
}

.ws-contact-page-image figcaption span{
  display: block;
  margin-bottom: .35rem;
  color: var(--cyan);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.ws-contact-form-section{
  padding: clamp(5.5rem, 8vw, 8rem) 0;
  background: #fff;
}

.ws-contact-form-grid{
  display: grid;
  grid-template-columns: minmax(0,.9fr) minmax(360px,.75fr);
  gap: clamp(3rem, 7vw, 7rem);
  align-items: start;
}

.ws-contact-process h2,
.ws-location-section h2{
  margin: 0;
  max-width: 11ch;
  font-size: clamp(2.4rem, 4vw, 4rem);
  line-height: 1;
  letter-spacing: -.055em;
  font-weight: 760;
}

.ws-contact-steps{
  display: grid;
  gap: 1rem;
  margin-top: 2.5rem;
}

.ws-contact-steps article{
  padding: 1.3rem;
  border: 1px solid var(--line);
  background: var(--bg);
}

.ws-contact-steps span{
  color: var(--cyan);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
}

.ws-contact-steps h3{
  margin: .6rem 0 .5rem;
  font-size: 1.1rem;
  font-weight: 760;
  letter-spacing: -.03em;
}

.ws-contact-steps p{
  margin: 0;
  color: var(--text-soft);
  line-height: 1.7;
}

.ws-contact-page-form{
  padding: clamp(1.4rem, 3vw, 2rem);
  background: var(--bg);
  border: 1px solid var(--line);
  box-shadow: 0 28px 80px rgba(11,18,32,.07);
}

.ws-contact-page-form label{
  display: block;
  margin: 1rem 0 .35rem;
  color: var(--text);
  font-size: .88rem;
  font-weight: 700;
}

.ws-contact-page-form input,
.ws-contact-page-form textarea{
  width: 100%;
  padding: .8rem .9rem;
  border: 1px solid rgba(11,18,32,.14);
  background: #fff;
  color: var(--text);
  font: inherit;
}

.ws-contact-page-form textarea{
  resize: vertical;
}

.ws-contact-page-form input:focus,
.ws-contact-page-form textarea:focus{
  outline: none;
  border-color: rgba(8,145,178,.55);
}

.ws-contact-page-form button{
  width: 100%;
  margin-top: 1.3rem;
  min-height: 48px;
  border: 0;
  border-radius: 999px;
  background: var(--navy);
  color: #fff;
  font: inherit;
  font-weight: 800;
}

.ws-location-section{
  padding: clamp(5.5rem, 8vw, 8rem) 0;
  background: var(--bg);
}

.ws-location-grid{
  display: grid;
  grid-template-columns: minmax(0,.75fr) minmax(420px,1fr);
  gap: clamp(3rem, 7vw, 7rem);
  align-items: center;
}

.ws-location-section p{
  max-width: 620px;
  margin: 1.2rem 0 0;
  color: var(--text-soft);
  line-height: 1.85;
}

.ws-location-address{
  margin-top: 2rem;
  padding-left: 1rem;
  border-left: 2px solid var(--cyan);
}

.ws-map-consent{
  min-height: 420px;
  background:
    linear-gradient(90deg, rgba(11,18,32,.035) 1px, transparent 1px),
    linear-gradient(rgba(11,18,32,.035) 1px, transparent 1px),
    #f8fafc;
  background-size: 48px 48px;
  border: 1px solid var(--line);
  overflow: hidden;
}

.ws-map-placeholder{
  min-height: 420px;
  padding: clamp(2rem, 4vw, 3rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.ws-map-placeholder h3{
  margin: 0;
  font-size: clamp(2rem, 4vw, 3.6rem);
  line-height: 1;
  letter-spacing: -.055em;
}

.ws-map-placeholder p{
  max-width: 520px;
  margin: 1rem 0 1.5rem;
  color: var(--text-soft);
}

.ws-map-placeholder button{
  width: fit-content;
  border: 0;
  border-radius: 999px;
  padding: .9rem 1.2rem;
  background: var(--navy);
  color: #fff;
  font-weight: 800;
}

.ws-map-consent iframe{
  display: block;
  width: 100%;
  height: 420px;
}

@media (max-width: 991.98px){
  .ws-contact-page-grid,
  .ws-contact-form-grid,
  .ws-location-grid{
    grid-template-columns: 1fr;
  }

  .ws-contact-direct{
    grid-template-columns: 1fr;
  }
}

.ws-contact-page-form .ws-check{
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: .7rem;
  align-items: start;
  margin-top: 1rem;
  color: var(--text-soft);
  font-size: .86rem;
  line-height: 1.5;
}

.ws-contact-page-form .ws-check input[type="checkbox"]{
  width: 18px;
  height: 18px;
  min-height: 18px;
  margin: .15rem 0 0;
  padding: 0;
  accent-color: var(--cyan);
}

.ws-contact-page-form .ws-check span{
  display: block;
  color: var(--text-soft);
}

.ws-contact-page-form .ws-check a{
  color: var(--text);
  font-weight: 750;
  text-decoration: underline;
}

.ws-map-card{
  background: #fff;
  border: 1px solid var(--line);
  box-shadow: 0 28px 80px rgba(11,18,32,.08);
  padding: .8rem;
}

.ws-map-card-head{
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  padding: .9rem 1rem 1rem;
  border-bottom: 1px solid var(--line);
}

.ws-map-card-head span{
  color: var(--cyan);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.ws-map-card-head strong{
  color: var(--text);
  font-size: .9rem;
  font-weight: 750;
}

.ws-map-card .ws-map-consent{
  border: 0;
  min-height: 380px;
}

.ws-map-card .ws-map-consent iframe{
  height: 380px;
  filter: grayscale(.25) contrast(1.03) saturate(.85);
}

.ws-map-card .ws-map-placeholder{
  min-height: 380px;
}

.ws-process-check{
  padding: clamp(4.5rem, 7vw, 7rem) 0;
  background: #fff;
}

.ws-process-check-box{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .62fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
  padding: clamp(2rem, 4vw, 3.2rem);
  border: 1px solid var(--line);
  background:
    radial-gradient(circle at 85% 15%, rgba(8,145,178,.08), transparent 32%),
    linear-gradient(90deg, rgba(11,18,32,.025) 1px, transparent 1px),
    linear-gradient(rgba(11,18,32,.025) 1px, transparent 1px),
    var(--bg);
  background-size: auto, 56px 56px, 56px 56px;
}

.ws-process-check h2{
  margin: 0;
  max-width: 11ch;
  font-size: clamp(2.5rem, 4.8vw, 5rem);
  line-height: .98;
  letter-spacing: -.065em;
  font-weight: 760;
}

.ws-process-check p{
  max-width: 680px;
  margin: 1.1rem 0 0;
  color: var(--text-soft);
  font-size: 1.04rem;
  line-height: 1.85;
}

.ws-process-check-list{
  padding-left: 1.2rem;
  border-left: 2px solid var(--cyan);
}

.ws-process-check-list span{
  display: block;
  margin-bottom: .8rem;
  color: var(--cyan);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.ws-process-check-list ul{
  margin: 0 0 1.6rem;
  padding-left: 1.1rem;
  color: var(--text-soft);
  line-height: 1.9;
}

@media (max-width: 991.98px){
  .ws-process-check-box{
    grid-template-columns: 1fr;
  }

  .ws-process-check-list{
    padding-left: 0;
    border-left: 0;
    border-top: 2px solid var(--cyan);
    padding-top: 1.2rem;
  }
}
.ws-process-check .ws-btn{
  text-decoration: none !important;
}

.ws-legal-hero{
  padding: clamp(5.5rem, 9vw, 8rem) 0 clamp(3rem, 5vw, 4rem);
  background:
    radial-gradient(circle at 78% 24%, rgba(8,145,178,.08), transparent 32%),
    linear-gradient(90deg, rgba(11,18,32,.022) 1px, transparent 1px),
    linear-gradient(rgba(11,18,32,.022) 1px, transparent 1px),
    var(--bg);
  background-size: auto, 72px 72px, 72px 72px;
  border-bottom: 1px solid var(--line);
}

.ws-legal-hero h1{
  margin: 0;
  font-size: clamp(3rem, 6vw, 5.8rem);
  line-height: .92;
  letter-spacing: -.07em;
  font-weight: 760;
}

.ws-legal-hero p{
  max-width: 680px;
  margin: 1.2rem 0 0;
  color: var(--text-soft);
  font-size: 1.04rem;
  line-height: 1.8;
}

.ws-legal-page{
  padding: clamp(4.5rem, 7vw, 7rem) 0;
  background: #fff;
}

.ws-legal-layout{
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
}

.ws-legal-sidebar{
  position: sticky;
  top: 110px;
  padding: 1.4rem;
  border: 1px solid var(--line);
  background:
    linear-gradient(90deg, rgba(11,18,32,.025) 1px, transparent 1px),
    linear-gradient(rgba(11,18,32,.025) 1px, transparent 1px),
    var(--bg);
  background-size: 44px 44px;
}

.ws-legal-sidebar span{
  display: block;
  color: var(--cyan);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.ws-legal-sidebar strong{
  display: block;
  margin-top: .55rem;
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: -.055em;
}

.ws-legal-sidebar p{
  margin: 1rem 0 0;
  color: var(--text-soft);
  line-height: 1.7;
}

.ws-legal-content{
  display: grid;
  gap: 1rem;
}

.ws-legal-content section{
  padding: clamp(1.3rem, 2.4vw, 2rem);
  border: 1px solid var(--line);
  background: #fff;
}

.ws-legal-content h2{
  margin: 0 0 .9rem;
  font-size: clamp(1.35rem, 2vw, 1.9rem);
  line-height: 1.1;
  letter-spacing: -.045em;
  font-weight: 760;
}

.ws-legal-content p{
  margin: 0;
  color: var(--text-soft);
  line-height: 1.85;
}

.ws-legal-content a{
  color: var(--text);
  font-weight: 750;
  text-decoration: none;
  border-bottom: 1px solid rgba(8,145,178,.35);
}

@media (max-width: 991.98px){
  .ws-legal-layout{
    grid-template-columns: 1fr;
  }

  .ws-legal-sidebar{
    position: static;
  }
}

.ws-legal-list{
  margin: 1rem 0 0;
  padding-left: 1.2rem;
  color: var(--text-soft);
  line-height: 1.9;
}

.ws-legal-list li{
  margin-bottom: .4rem;
}

