:root {
  --ink:#112429;
  --dark:#0d2023;
  --dark2:#153238;
  --forest:#2f5047;
  --muted:#64706d;
  --paper:#f6f7f2;
  --white:#fff;
  --lime:#d4fb95;
  --lime2:#b8f36f;
  --line:#dce2da;
  --sans:Manrope,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --radius:23px;
  --anchor-offset:24px
}
*,*::before,*::after {
  box-sizing:border-box
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:var(--anchor-offset)
}
body {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  -webkit-font-smoothing:antialiased;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%
}
body.no-scroll {
  overflow:hidden
}
::selection {
  background:var(--lime);
  color:var(--ink)
}
a {
  color:inherit;
  text-decoration:none
}
button,input,textarea,select {
  font:inherit
}
button {
  cursor:pointer
}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible {
  outline:3px solid #9ed948;
  outline-offset:4px
}
.container {
  width:min(1240px,calc(100% - 64px));
  margin-inline:auto
}
.skip {
  position:absolute;
  top:-100px;
  left:16px;
  z-index:999;
  background:var(--lime);
  color:var(--ink);
  padding:12px 16px;
  border-radius:8px
}
.skip:focus {
  top:12px
}
.back-to-top {
  position:fixed;
  z-index:40;
  right:calc(24px + env(safe-area-inset-right,0px));
  bottom:calc(24px + env(safe-area-inset-bottom,0px));
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  padding:0;
  border:1px solid #bddb95;
  border-radius:50%;
  background:var(--lime);
  color:var(--dark);
  box-shadow:0 8px 24px rgba(35,71,42,.18);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(16px) scale(.88);
  transition:opacity .25s,transform .35s cubic-bezier(.2,.8,.2,1),background .2s,box-shadow .2s,visibility .35s
}
.back-to-top::before {
  content:"";
  position:absolute;
  inset:-6px;
  border:1px solid rgba(91,143,55,.35);
  border-radius:inherit;
  opacity:0;
  pointer-events:none
}
.back-to-top svg {
  display:block;
  width:24px;
  height:24px
}
.back-to-top.is-visible {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0) scale(1)
}
.back-to-top.is-visible::before {
  animation:back-to-top-pulse 3.6s ease-out infinite
}
.back-to-top.is-visible svg {
  animation:back-to-top-arrow 3.6s ease-in-out infinite
}
.back-to-top:focus-visible {
  outline:3px solid var(--dark);
  outline-offset:4px
}
body.no-scroll .back-to-top {
  opacity:0;
  visibility:hidden;
  pointer-events:none
}
@keyframes back-to-top-pulse {
  0%,60% {
    opacity:0;
    transform:scale(.92)
  }
  72% {
    opacity:.65
  }
  100% {
    opacity:0;
    transform:scale(1.18)
  }
}
@keyframes back-to-top-arrow {
  0%,65%,100% {
    transform:translateY(0)
  }
  77% {
    transform:translateY(-3px)
  }
  88% {
    transform:translateY(1px)
  }
}
@media(hover:hover) {
  .back-to-top.is-visible:hover {
    background:#e2ffb4;
    box-shadow:0 12px 30px rgba(35,71,42,.24);
    transform:translateY(-4px)
  }
}
.nav-wrap {
  position:absolute;
  top:0;
  left:0;
  right:0;
  z-index:50
}
.nav {
  height:99px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  border-bottom:1px solid rgba(255,255,255,.13)
}
.brand {
  display:inline-flex;
  align-items:center;
  gap:12px;
  min-width:235px;
  color:#fff
}
.brand-mark {
  width:41px;
  height:41px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:var(--lime);
  color:var(--dark);
  font-weight:800;
  letter-spacing:-.09em;
  font-size:18px;
  transform:rotate(-7deg)
}
.brand-name {
  font-size:16px;
  font-weight:800;
  letter-spacing:-.04em;
  line-height:1.05
}
.brand-name small {
  display:block;
  color:#a0b5af;
  font-size:10px;
  font-weight:700;
  letter-spacing:.13em;
  text-transform:uppercase;
  margin-top:6px
}
.menu {
  display:flex;
  align-items:center;
  gap:30px
}
.menu a {
  font-size:14px;
  font-weight:700;
  color:#d5e0dc;
  transition:color .2s
}
.menu a:hover {
  color:var(--lime)
}
.nav-actions {
  display:flex;
  align-items:center;
  gap:12px
}
.header-cta {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  line-height:1.5;
  border:1px solid rgba(255,255,255,.27);
  color:#fff;
  border-radius:999px;
  padding:13px 18px;
  font-weight:800;
  font-size:13px;
  white-space:nowrap;
  transition:.2s
}
.header-cta:hover {
  background:#fff;
  color:var(--dark)
}
.menu-toggle {
  display:none;
  padding:0;
  line-height:1;
  flex-shrink:0;
  appearance:none;
  -webkit-appearance:none;
  background:none;
  color:white;
  border:1px solid rgba(255,255,255,.25);
  border-radius:12px;
  width:44px;
  height:44px;
  align-items:center;
  justify-content:center;
  font-size:22px
}
.hero {
  background:var(--dark);
  color:white;
  min-height:840px;
  position:relative;
  overflow:hidden;
  padding-top:99px
}
.hero::before {
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(ellipse at 82% 26%,rgba(104,159,125,.22),transparent 37%),radial-gradient(ellipse at 5% 100%,rgba(114,193,121,.08),transparent 43%);
  pointer-events:none
}
.hero::after,.hero-waves {
  position:absolute;
  right:-125px;
  top:145px;
  width:590px;
  height:590px;
  border-radius:50%;
  pointer-events:none
}
.hero::after {
  content:"";
  border:1px solid rgba(206,247,170,.07);
  box-shadow:0 0 0 100px rgba(206,247,170,.015),0 0 0 200px rgba(206,247,170,.012)
}
.hero-waves::before,.hero-waves::after {
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  box-shadow:0 0 56px 28px rgba(206,247,170,.1);
  opacity:0
}
@keyframes hero-halo-wave {
  0% {
    opacity:0;
    transform:scale(1)
  }
  30% {
    opacity:.22
  }
  100% {
    opacity:0;
    transform:scale(1.65)
  }
}
.hero-main {
  position:relative;
  z-index:1;
  min-height:660px;
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
  align-items:center;
  gap:36px;
  padding-top:38px;
  padding-bottom:57px
}
.eyebrow {
  font-weight:800;
  letter-spacing:.145em;
  font-size:12px;
  text-transform:uppercase;
  display:inline-flex;
  gap:10px;
  align-items:center
}
.eyebrow .dash {
  width:26px;
  height:2px;
  background:currentColor;
  display:inline-block
}
.hero .eyebrow {
  color:var(--lime)
}
h1,h2,h3,p {
  margin-top:0
}
h1 {
  font-size:clamp(51px,5.75vw,83px);
  line-height:1.025;
  letter-spacing:-.077em;
  font-weight:800;
  max-width:715px;
  margin:29px 0 25px
}
h1 .hero-italic {
  font-family:Georgia,'Times New Roman',serif;
  font-style:italic;
  font-weight:400;
  letter-spacing:-.055em;
  word-spacing:.08em;
  color:var(--lime);
  white-space:nowrap
}
.hero-lead {
  font-size:17px;
  line-height:1.85;
  color:#c2d0cc;
  max-width:510px;
  margin-bottom:31px
}
.hero-buttons {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:13px
}
.btn {
  border:0;
  line-height:1.5;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  min-height:56px;
  border-radius:999px;
  padding:16px 25px;
  font-size:14px;
  letter-spacing:-.012em;
  font-weight:800;
  transition:transform .2s,background .2s,color .2s,box-shadow .2s
}
.btn:hover {
  transform:translateY(-3px)
}
.btn-primary {
  background:var(--lime);
  color:var(--dark);
  box-shadow:0 9px 25px rgba(190,241,109,.09)
}
.btn-primary:hover {
  background:#e4ffb8;
  box-shadow:0 12px 35px rgba(190,241,109,.16)
}
.btn-ghost {
  border:1px solid rgba(255,255,255,.27);
  color:#fff;
  background:transparent
}
.btn-ghost:hover {
  background:rgba(255,255,255,.07)
}
.btn-dark {
  background:var(--dark);
  color:white
}
.btn-dark:hover {
  background:#24434a
}
.hero-mini-note {
  display:flex;
  align-items:center;
  gap:9px;
  margin-top:28px;
  color:#9eb2ac;
  font-size:13px;
  font-weight:700;
  line-height:1.6
}
.hero-mini-note svg {
  color:var(--lime)
}
.hero-art {
  position:relative;
  min-height:540px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  isolation:isolate
}
.art-halo {
  position:absolute;
  width:410px;
  height:410px;
  right:2%;
  top:15%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(182,239,132,.14),transparent 68%);
  filter:blur(6px)
}
.dashboard {
  position:relative;
  z-index:1;
  width:min(466px,100%);
  background:#f6f9f1;
  color:var(--ink);
  border-radius:29px;
  transform:rotate(2.5deg);
  animation:dashboard-float 5.5s ease-in-out infinite;
  box-shadow:0 38px 100px rgba(0,0,0,.28);
  padding:19px;
  border:1px solid rgba(255,255,255,.8)
}
@keyframes dashboard-float {
  0%,100% {
    translate:0 0
  }
  50% {
    translate:0 var(--dashboard-float,-6px)
  }
}
.dash-title {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:15px;
  padding:30px 7px 21px
}
.dash-title span {
  display:block;
  font-size:11px;
  font-weight:800;
  color:#658174;
  letter-spacing:.11em;
  text-transform:uppercase
}
.dash-title h3 {
  font-size:26px;
  letter-spacing:-.058em;
  line-height:1.2;
  margin:10px 0 0;
  max-width:280px
}
.circle-check {
  height:60px;
  width:60px;
  flex:0 0 60px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:#dff5c7;
  color:#2d7150
}
.dash-list {
  display:grid;
  gap:8px
}
.dash-row {
  display:flex;
  align-items:center;
  gap:13px;
  background:#fff;
  border:1px solid #edf0e9;
  border-radius:13px;
  padding:13px 14px
}
.dash-icon {
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  background:#e9f0e7;
  border-radius:10px;
  flex-shrink:0
}
.dash-row strong {
  display:block;
  font-size:12px
}
.dash-row small {
  display:block;
  margin-top:4px;
  font-size:10px;
  color:#899590
}
.dash-row .state {
  margin-left:auto;
  color:#427d50;
  font-size:10px;
  font-weight:800;
  white-space:nowrap
}
.dash-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:21px 8px 5px
}
.dash-bottom span {
  font-size:10px;
  color:#789084;
  font-weight:700
}
.dash-bottom b {
  font-size:11px;
  letter-spacing:.04em
}
.hero-badges {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  padding:2px 0 18px;
  border-bottom:1px solid #e0e7dc
}
.hero-badge {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-width:0;
  padding:9px 10px;
  border:1px solid #dce7d5;
  border-radius:10px;
  background:#e9f1e4;
  color:#3f604d;
  font-size:12px;
  line-height:1.5;
  font-weight:700;
  letter-spacing:-.01em
}
.hero-badge svg {
  flex:0 0 17px
}
.hero-stats {
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid rgba(255,255,255,.14);
  min-height:130px
}
.hero-stat {
  padding:25px 38px 25px 0;
  border-right:1px solid rgba(255,255,255,.12)
}
.hero-stat:not(:first-child) {
  padding-left:38px
}
.hero-stat:last-child {
  border-right:0
}
.hero-stat strong {
  font-size:35px;
  line-height:1;
  letter-spacing:-.07em;
  color:var(--lime)
}
.hero-stat p {
  font-size:15px;
  line-height:1.6;
  color:#a9c0b7;
  margin:8px 0 0;
  font-weight:600
}
.trust-strip {
  background:#e9eee6;
  border-bottom:1px solid #dce3d7
}
.trust-inner {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:25px;
  min-height:85px
}
.trust-label {
  font-size:12px;
  letter-spacing:.13em;
  text-transform:uppercase;
  font-weight:800;
  color:#5e7262;
  max-width:140px
}
.trust-items {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,max-content));
  justify-content:end;
  flex:1;
  min-width:0;
  width:100%;
  align-items:center;
  gap:12px 32px
}
.trust-item {
  min-width:0;
  min-height:28px;
  display:flex;
  align-items:center;
  gap:10px;
  font-size:14px;
  line-height:1.5;
  color:#375045;
  font-weight:800
}
.trust-item svg {
  flex:0 0 20px;
  color:#528862
}
section {
  position:relative
}
/* Anchor links align content below the viewport edge, past section spacing. */
section[id] {
  scroll-margin-top:calc(0px - var(--section-padding,0px))
}
.section {
  --section-padding:116px;
  padding:var(--section-padding) 0
}
.section-label {
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#55785c;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:800;
  font-size:12px;
  margin-bottom:22px
}
.section-label::before {
  content:"";
  width:20px;
  height:2px;
  background:#719f70
}
.section-title {
  font-size:clamp(35px,4.2vw,58px);
  letter-spacing:-.07em;
  line-height:1.1;
  font-weight:800;
  max-width:770px;
  margin-bottom:22px
}
.section-title em {
  font-family:Georgia,serif;
  color:#59836a;
  font-weight:400
}
.section-copy {
  font-size:16px;
  line-height:1.75;
  color:var(--muted);
  max-width:570px
}
.intro-layout {
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  align-items:end;
  gap:70px
}
.intro-title {
  margin:0
}
.intro-right {
  padding-bottom:8px
}
.intro-right p {
  margin-bottom:0
}
.services {
  background:var(--dark);
  color:#fff
}
.services .section-label,.services .section-title em {
  color:var(--lime)
}
.services .section-label::before {
  background:var(--lime)
}
.services .section-copy {
  color:#b9cdc4
}
.services .intro-layout {
  margin-bottom:44px
}
.service-package {
  padding:40px 44px;
  border:1px solid #35534d;
  border-radius:26px;
  background:radial-gradient(ellipse at top left,rgba(212,251,149,.07),transparent 65%),var(--dark2);
  color:#fff
}
.service-package-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:40px
}
.service-package h3 {
  min-width:0;
  font-size:clamp(30px,3.2vw,42px);
  line-height:1.15;
  letter-spacing:-.04em;
  margin:0
}
.service-package-name,.service-package h3 em {
  display:block
}
.service-package h3 em {
  font-family:Georgia,serif;
  font-weight:400;
  color:var(--lime)
}
.service-package-art {
  display:block;
  width:164px;
  height:auto;
  flex:0 0 164px
}
.service-package p {
  font-size:16px;
  line-height:1.75;
  color:#c7d7d0;
  margin:0;
  max-width:650px
}
.service-package-copy {
  min-width:0;
  border-top:1px solid #496057;
  margin-top:28px;
  padding-top:26px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px
}
.service-package-action {
  flex:0 0 auto;
  max-width:100%;
  gap:14px
}
.service-arrow {
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  color:#375f47;
  transition:color .2s
}
.services-selection-head {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:24px;
  margin:44px 0 22px
}
.services-selection-head h3 {
  margin:0;
  font-size:24px;
  line-height:1.3;
  letter-spacing:-.035em
}
.services-selection-head p {
  margin:0;
  max-width:410px;
  font-size:14px;
  line-height:1.6;
  color:#b9cdc4
}
.service-groups {
  display:grid;
  grid-template-columns:1fr;
  gap:32px
}
.service-group {
  min-width:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px
}
.service-group-label {
  grid-column:1/-1;
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 4px;
  font-size:14px;
  line-height:1.6;
  font-weight:800;
  color:#c7dacd
}
.service-group-label::before {
  content:"";
  width:14px;
  height:2px;
  background:#7f9e73
}
.service-card {
  position:relative;
  isolation:isolate;
  display:flex;
  flex-direction:column;
  color:var(--ink);
  background:#fff;
  border:1px solid #e1e7df;
  border-radius:24px;
  padding:32px 30px;
  min-height:300px;
  overflow:hidden;
  transition:transform .25s,border-color .25s,box-shadow .25s
}
.service-card:hover,.service-card:focus-visible {
  border-color:#b1cdac;
  box-shadow:0 24px 42px rgba(24,65,39,.07)
}
.service-card::after,.service-card-waves {
  position:absolute;
  z-index:-1;
  right:-30px;
  top:-30px;
  width:120px;
  height:120px;
  border-radius:50%;
  pointer-events:none
}
.service-card::after {
  content:"";
  z-index:-2;
  border:1px solid #e8eee5;
  box-shadow:0 0 0 25px #f9fbf7
}
.service-card-waves::before,.service-card-waves::after {
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  box-shadow:0 0 20px 10px rgba(125,165,102,.12);
  opacity:0
}
.service-top {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  margin-bottom:32px
}
.service-number {
  font-size:12px;
  line-height:1.6;
  letter-spacing:.1em;
  color:#64796b;
  font-weight:800
}
.service-icon {
  display:grid;
  place-items:center;
  width:49px;
  height:49px;
  flex-shrink:0;
  border-radius:15px;
  background:#edf4e8;
  color:#3f7957;
  position:relative;
  z-index:1;
  transition:transform .3s ease,background-color .3s ease
}
.service-card h4 {
  font-size:22px;
  line-height:1.25;
  letter-spacing:-.055em;
  min-height:2.5em;
  max-width:260px;
  margin:0 0 12px
}
.service-card p {
  font-size:15px;
  line-height:1.7;
  color:#5d7065;
  margin:0
}
@keyframes service-card-ripple {
  0% {
    opacity:0;
    transform:scale(.25)
  }
  18% {
    opacity:.4
  }
  100% {
    opacity:0;
    transform:scale(1.8)
  }
}
@media(prefers-reduced-motion:no-preference) {
  .hero-waves::before,.hero-waves::after {
    animation:hero-halo-wave 10s linear infinite
  }
  .hero-waves::after {
    animation-delay:-5s
  }
  .service-card-waves::before,.service-card-waves::after {
    animation:service-card-ripple 5.2s cubic-bezier(.2,.6,.3,1) infinite;
    animation-delay:var(--service-wave-offset,0s)
  }
  .service-card-waves::after {
    animation-delay:calc(var(--service-wave-offset,0s) - 2.6s)
  }
  .service-card:nth-of-type(2) {
    --service-wave-offset:-.8s
  }
  .service-card:nth-of-type(3) {
    --service-wave-offset:-1.6s
  }
  .js-motion .service-card:not(.in) .service-card-waves::before,.js-motion .service-card:not(.in) .service-card-waves::after {
    animation-play-state:paused
  }
}
.service-card-action {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  margin-top:auto;
  padding-top:22px;
  color:#375f47
}
.service-card-action .service-arrow {
  width:24px;
  height:24px;
  color:inherit
}
.service-wide {
  margin-top:24px;
  color:var(--ink);
  background:var(--lime);
  border:1px solid var(--lime);
  border-radius:20px;
  padding:24px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 40px;
  align-items:center;
  gap:24px;
  transition:background-color .2s,border-color .2s,box-shadow .2s
}
.service-wide:hover,.service-wide:focus-visible {
  background:#e2ffb4;
  border-color:#e2ffb4;
  box-shadow:0 8px 24px rgba(24,65,39,.05)
}
.service-wide h3 {
  font-size:20px;
  line-height:1.35;
  margin:0 0 8px;
  letter-spacing:-.035em
}
.service-wide p {
  font-size:15px;
  color:#49633e;
  line-height:1.65;
  margin:0
}
.services-help {
  margin:26px 0 0;
  text-align:center;
  font-size:15px;
  line-height:1.7;
  color:#b9cdc4
}
.services-help a {
  color:var(--lime);
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:4px;
  text-decoration-color:#8aab79
}
.services-help a:hover {
  text-decoration-color:currentColor
}
.how {
  --section-padding:110px;
  background:#e9eee6;
  padding:var(--section-padding) 0
}
.how-heading {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:25px;
  margin-bottom:45px
}
.how-heading .section-title {
  margin-bottom:0
}
.how-heading .section-copy {
  margin-bottom:6px;
  max-width:330px
}
.steps {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px
}
.step {
  background:var(--paper);
  border-radius:24px;
  padding:31px;
  min-height:267px;
  position:relative
}
.step-num {
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid #b4c4b5;
  display:grid;
  place-items:center;
  font-weight:800;
  font-size:12px;
  color:#4c755e
}
.step h3 {
  margin:65px 0 10px;
  font-size:20px;
  letter-spacing:-.045em
}
.step p {
  font-size:15px;
  line-height:1.7;
  color:#596e5f;
  margin:0
}
.faq {
  --section-padding:116px;
  padding:var(--section-padding) 0 48px
}
.faq-layout {
  display:grid;
  grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);
  gap:80px
}
.faq .section-title {
  font-size:clamp(33px,3.4vw,47px)
}
.faq .section-copy {
  font-size:15px
}
.faq-list {
  border-top:1px solid var(--line)
}
.faq-list details {
  border-bottom:1px solid var(--line)
}
.faq-list summary {
  cursor:pointer;
  padding:24px 4px;
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  font-size:16px;
  font-weight:800;
  letter-spacing:-.02em
}
.faq-list summary::-webkit-details-marker {
  display:none
}
.plus {
  display:grid;
  place-items:center;
  flex:0 0 30px;
  width:30px;
  height:30px;
  border:1px solid #cbd7c9;
  border-radius:50%;
  font-size:18px;
  line-height:1;
  color:#5f8063;
  transition:transform .2s
}
.faq-list details[open] .plus {
  transform:rotate(45deg);
  background:#d9edc8
}
.faq-list details p {
  font-size:15px;
  color:#596f60;
  line-height:1.75;
  padding:0 50px 20px 4px;
  margin:0
}
.closing-slogan {
  padding:24px 0 32px
}
.closing-slogan-title {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:14px .28em;
  margin:0;
  font-size:clamp(40px,6.4vw,88px);
  line-height:1.15;
  letter-spacing:-.06em;
  font-weight:800;
  text-align:center
}
.closing-slogan-start {
  white-space:nowrap
}
.closing-slogan-end {
  display:inline-flex;
  align-items:center;
  gap:.28em;
  white-space:nowrap
}
.closing-slogan .brand-mark {
  flex-shrink:0;
  width:clamp(58px,8vw,112px);
  height:clamp(58px,8vw,112px);
  border-radius:clamp(18px,2.3vw,34px);
  font-size:clamp(26px,3.6vw,50px)
}
.typewriter-text {
  position:relative;
  display:inline-block;
  white-space:pre
}
.typewriter-sizer {
  visibility:hidden
}
.typewriter-output {
  position:absolute;
  inset:0 auto auto 0;
  white-space:pre;
  text-align:left
}
.hero-lead.typewriter-text {
  display:block;
  white-space:normal
}
.hero-lead .typewriter-output {
  right:0;
  white-space:normal
}
.hero-lead .typewriter-output::after {
  color:var(--lime)
}
.hero-lead .typewriter-accessible {
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  border:0;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap
}
.typewriter-text.is-active .typewriter-output::after {
  content:"";
  display:inline-block;
  width:2px;
  height:.85em;
  margin-left:.06em;
  vertical-align:-.04em;
  background:currentColor;
  animation:typewriter-caret .75s step-end infinite
}
.closing-slogan.is-typewriter-ready .brand-mark {
  opacity:0;
  scale:.85
}
.closing-slogan.is-typed .brand-mark {
  opacity:1;
  scale:1
}
@keyframes typewriter-caret {
  0%,100% {
    opacity:1
  }
  50% {
    opacity:0
  }
}
.contact-section {
  padding:0 0 80px
}
.contact-shell {
  background:var(--lime);
  border-radius:34px;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  min-height:590px
}
.contact-intro {
  padding:60px 50px;
  position:relative;
  overflow:hidden
}
.contact-intro::after {
  content:"";
  position:absolute;
  width:360px;
  height:360px;
  border:1px solid #aed97a;
  border-radius:50%;
  left:-120px;
  bottom:-220px;
  box-shadow:0 0 0 58px rgba(255,255,255,.11),0 0 0 115px rgba(255,255,255,.08)
}
.contact-intro .section-label {
  color:#547244
}
.contact-intro .section-title {
  font-size:clamp(34px,3.6vw,51px);
  margin:8px 0 18px
}
.contact-intro .section-copy {
  font-size:15px;
  color:#4e6847;
  margin-bottom:42px;
  line-height:1.75
}
.contact-direct {
  display:grid;
  gap:12px;
  position:relative;
  z-index:1
}
.contact-direct a {
  display:inline-flex;
  gap:12px;
  align-items:center;
  font-size:15px;
  font-weight:800;
  letter-spacing:-.035em;
  line-height:1.6;
  overflow-wrap:anywhere
}
.contact-direct a:hover {
  text-decoration:underline
}
.contact-direct small {
  font-size:13px;
  color:#5c7856;
  font-weight:700;
  line-height:1.65
}
.contact-form-wrap {
  margin:17px;
  background:#fff;
  border-radius:24px;
  padding:37px 38px;
  align-self:stretch
}
.form-title {
  font-size:23px;
  letter-spacing:-.06em;
  margin-bottom:9px
}
.form-sub {
  font-size:14px;
  color:#607362;
  line-height:1.7;
  margin-bottom:25px
}
.fields {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));
  gap:14px
}
.field {
  display:grid;
  gap:7px;
  margin-bottom:15px;
  min-width:0
}
.field.full {
  grid-column:1/-1
}
.field label {
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:800;
  color:#526b58;
  line-height:1.5
}
.field input,.field select,.field textarea {
  width:100%;
  border:1px solid #e0e7dd;
  border-radius:11px;
  background:#f8faf7;
  padding:13px 14px;
  min-height:50px;
  font-size:16px;
  color:var(--ink);
  outline:none;
  transition:border-color .2s,box-shadow .2s;
  line-height:1.5
}
.field select {
  -webkit-appearance:none;
  appearance:none;
  padding-right:48px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23526b58' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 16px center;
  background-size:20px 20px;
  cursor:pointer
}
.field input:focus,.field textarea:focus,.field select:focus {
  border-color:#75ab60;
  box-shadow:0 0 0 3px rgba(124,188,93,.14)
}
.field textarea {
  min-height:108px;
  resize:vertical
}
.field input::placeholder,.field textarea::placeholder {
  color:#697d6c
}
.form-bottom {
  display:flex;
  align-items:center;
  gap:17px;
  margin-top:4px;
  flex-wrap:wrap
}
.form-bottom .btn {
  white-space:nowrap;
  min-height:49px;
  padding:13px 22px
}
.form-note {
  font-size:13px;
  line-height:1.65;
  color:#607362;
  flex:1 1 160px
}
.check-line {
  display:flex;
  gap:9px;
  align-items:start;
  font-size:13px;
  line-height:1.7;
  color:#566e59;
  margin:0 0 19px
}
.check-line input {
  accent-color:#547f46;
  flex:0 0 auto;
  width:20px;
  height:20px;
  margin:2px 0 0
}
.check-line a {
  text-decoration:underline;
  text-underline-offset:2px
}
.form-status {
  display:none;
  margin-top:11px;
  padding:11px 13px;
  border-radius:10px;
  font-size:14px;
  line-height:1.65;
  background:#edf6e5;
  color:#426342
}
.form-status.show {
  display:block
}
footer {
  padding:0 0 36px
}
.footer-top {
  display:flex;
  justify-content:space-between;
  gap:40px;
  align-items:center;
  border-bottom:1px solid #dae1d7;
  padding:19px 0 36px
}
.footer-brand {
  display:flex;
  flex-shrink:0;
  align-items:center;
  gap:12px;
  font-weight:800;
  font-size:14px;
  letter-spacing:-.04em
}
.footer-brand .brand-mark {
  width:37px;
  height:37px;
  font-size:16px
}
.footer-links {
  display:flex;
  align-items:center;
  gap:16px 24px;
  flex-wrap:wrap
}
.footer-links a {
  font-size:13px;
  color:#4f6457;
  font-weight:700;
  line-height:1.6
}
.footer-links a:hover {
  text-decoration:underline
}
.footer-bottom {
  display:flex;
  align-items:start;
  justify-content:space-between;
  gap:25px;
  padding-top:22px;
  font-size:13px;
  line-height:1.85;
  color:#5d7362
}
.footer-bottom p {
  margin:0;
  overflow-wrap:anywhere
}
.footer-bottom p:last-child {
  text-align:right
}
.footer-bottom a {
  text-decoration:underline
}
.footer-credit {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:4px 8px;
  margin:24px 0 0;
  padding-top:20px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:14px;
  line-height:1.6;
  text-align:center
}
.footer-credit a {
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 0;
  color:#375f47;
  font-weight:700;
  text-decoration:underline;
  text-decoration-color:#afc2a5;
  text-underline-offset:4px
}
.footer-credit a:hover {
  color:var(--ink);
  text-decoration-color:currentColor
}
.reveal {
  opacity:1;
  translate:none
}
.js-motion .reveal {
  opacity:0;
  translate:0 18px;
  transition:opacity .6s ease var(--reveal-delay,0ms),translate .7s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms),transform .25s ease,box-shadow .25s ease,border-color .25s ease,background-color .25s ease
}
.js-motion .reveal.in,.js-motion .reveal:focus-within {
  opacity:1;
  translate:0 0
}
.js-motion .reveal:focus-within {
  transition-delay:0s
}
.action-icon {
  display:block;
  width:18px;
  height:18px;
  flex:0 0 18px
}
.menu-toggle .action-icon {
  width:24px;
  height:24px;
  flex-basis:24px
}
.menu-close {
  display:none
}
.menu-toggle[aria-expanded="true"] .menu-lines {
  display:none
}
.menu-toggle[aria-expanded="true"] .menu-close {
  display:block
}
/* Experience, case studies and verified education. */ .hero h1 {
  font-size:clamp(48px,5vw,72px)
}
.hero-mini-note {
  max-width:510px;
  align-items:flex-start
}
.hero-mini-note svg {
  margin-top:3px
}
.hero-stat strong {
  display:block;
  white-space:nowrap
}
.text-link {
  display:inline-flex;
  align-items:center;
  gap:10px;
  width:fit-content;
  max-width:100%;
  font-size:14px;
  line-height:1.6;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:5px;
  text-decoration-color:#a5bca4
}
.text-link:hover {
  text-decoration-color:currentColor
}
.industry {
  background:var(--paper);
  color:var(--ink);
  overflow:hidden
}
.industry-layout {
  display:grid;
  grid-template-columns:minmax(0,.98fr) minmax(0,1.02fr);
  column-gap:70px;
  align-items:start
}
.industry-layout > .section-label {
  grid-column:1/-1;
  justify-self:start
}
.industry-copy {
  font-size:16px;
  line-height:1.8;
  color:var(--muted);
  max-width:540px
}
.industry-points {
  display:grid;
  gap:18px;
  margin-top:30px
}
.industry-points p {
  display:flex;
  align-items:flex-start;
  gap:12px;
  font-size:14px;
  line-height:1.7;
  color:#526b58;
  margin:0
}
.industry-points strong {
  display:block;
  margin-bottom:4px;
  color:var(--ink);
  font-size:15px;
  font-weight:800
}
.industry-points svg {
  flex:0 0 20px;
  color:#59836a;
  margin-top:2px
}
.industry-board {
  min-width:0;
  background:linear-gradient(145deg,#1b393e,#15302f);
  border:1px solid #34534b;
  border-radius:28px;
  padding:32px;
  position:relative;
  display:flex;
  flex-direction:column;
  overflow:hidden
}
.board-caption {
  display:flex;
  align-items:center;
  gap:10px;
  font-size:14px;
  font-weight:800;
  line-height:1.5;
  color:#c3d5cb;
  padding-bottom:18px;
  border-bottom:1px solid #3a5750
}
.expertise-drawing {
  display:block;
  width:100%;
  height:auto;
  margin-top:22px;
  color:#92b4a3
}
@keyframes expertise-crane {
  0%,100% {transform:scaleX(1) skewY(0deg)}
  40%,60% {transform:scaleX(.86) skewY(-1deg)}
}
@keyframes expertise-cable {
  0%,12%,100% {transform:scaleY(1)}
  40%,60% {transform:scaleY(.8)}
}
@keyframes expertise-load {
  0%,12%,100% {transform:translateY(0)}
  40%,60% {transform:translateY(-8.2px)}
}
@keyframes expertise-float {
  0%,100% {transform:translateY(0)}
  50% {transform:translateY(-4px)}
}
@keyframes expertise-check {
  0%,100% {transform:scale(1)}
  50% {transform:scale(1.05)}
}
.js-motion .expertise-motion {
  transform-box:view-box;
  animation-duration:8s;
  animation-timing-function:ease-in-out;
  animation-iteration-count:infinite;
  animation-play-state:paused
}
.js-motion .expertise-crane {
  transform-origin:136px 92px;
  animation-name:expertise-crane;
  animation-duration:12s
}
.js-motion .expertise-cable {
  transform-origin:75px 100px;
  animation-name:expertise-cable
}
.js-motion .expertise-load {
  animation-name:expertise-load
}
.js-motion .expertise-passport {
  animation-name:expertise-float;
  animation-duration:7s
}
.js-motion .expertise-government {
  animation-name:expertise-float;
  animation-duration:9s;
  animation-delay:-3s
}
.js-motion .expertise-sheet {
  animation-name:expertise-float;
  animation-duration:7s
}
.js-motion .expertise-check {
  transform-origin:294px 244px;
  animation-name:expertise-check;
  animation-duration:6s
}
.js-motion .industry-board.is-working .expertise-motion {
  animation-play-state:running
}
@media(prefers-reduced-motion:reduce) {
  .expertise-motion {
    animation:none!important;
    transform:none!important;
    stroke-dashoffset:0!important;
    opacity:1!important
  }
}
.cases-heading {
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);
  gap:50px;
  align-items:end;
  margin-bottom:42px
}
.cases-heading .section-title {
  margin-bottom:0
}
.cases-heading .section-copy {
  margin-bottom:4px
}
.case-feature {
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  background:#fff;
  border:1px solid var(--line);
  border-radius:28px;
  overflow:hidden
}
.case-story {
  padding:40px
}
.case-category {
  display:inline-block;
  font-size:12px;
  line-height:1.6;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#56725c
}
.case-story h3 {
  font-size:34px;
  line-height:1.15;
  letter-spacing:-.05em;
  margin:20px 0
}
.case-story>p {
  font-size:15px;
  line-height:1.8;
  color:var(--muted);
  margin-bottom:28px
}
.case-task strong {
  display:block;
  margin-bottom:6px;
  color:var(--ink);
  font-size:14px;
  font-weight:800
}
.case-work-title {
  margin:0 0 16px;
  color:var(--ink);
  font-size:14px;
  line-height:1.6;
  font-weight:800
}
.case-steps {
  list-style:none;
  padding:0;
  margin:0 0 30px;
  display:grid;
  gap:22px
}
.case-steps li {
  display:grid;
  grid-template-columns:30px minmax(0,1fr);
  gap:14px
}
.case-steps li>span {
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border:1px solid #cbd9c6;
  border-radius:50%;
  font-size:11px;
  font-weight:800;
  color:#5a7f5e
}
.case-steps strong {
  display:block;
  font-size:15px;
  line-height:1.6
}
.case-steps p {
  font-size:14px;
  line-height:1.7;
  color:var(--muted);
  margin:4px 0 0
}
.case-result {
  padding:40px;
  background:var(--dark2);
  color:white;
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative
}
.result-mark {
  display:grid;
  place-items:center;
  width:62px;
  height:62px;
  background:var(--lime);
  color:#24472b;
  border-radius:20px;
  margin-bottom:28px
}
.result-mark svg {
  width:32px;
  height:32px
}
.case-result-label {
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:#b9d0c0;
  font-weight:800
}
.case-result p {
  font-size:15px;
  line-height:1.8;
  color:#c1d2cb
}
.case-result .case-result-title {
  font-size:clamp(30px,3vw,41px);
  font-weight:800;
  letter-spacing:-.055em;
  line-height:1.16;
  color:var(--lime);
  margin:18px 0 24px
}
.case-result-proof {
  font-size:15px;
  line-height:1.75;
  font-weight:700;
  border-top:1px solid #3f5a50;
  padding-top:24px;
  margin-top:12px
}
.case-result-proof strong {
  display:block;
  color:#edf5e9;
  font-size:15px;
  line-height:1.6
}
.case-result-proof p {
  margin:8px 0 0;
  font-weight:400
}
.case-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-top:16px
}
.case-small {
  background:white;
  border:1px solid var(--line);
  border-radius:24px;
  padding:34px;
  display:flex;
  flex-direction:column;
  min-width:0
}
.case-small-accent {
  background:#e4eddb;
  border-color:#d3e1ca
}
.case-small h3 {
  font-size:30px;
  line-height:1.18;
  letter-spacing:-.045em;
  margin:18px 0
}
.case-details {
  display:grid;
  gap:20px;
  margin:0 0 26px
}
.case-details dt {
  color:var(--ink);
  font-size:14px;
  line-height:1.6;
  font-weight:800
}
.case-details dd {
  margin:6px 0 0;
  font-size:15px;
  line-height:1.75;
  color:#5c7162
}
.case-outcome {
  margin-top:4px;
  padding:18px;
  border:1px solid #dce6d4;
  border-radius:14px;
  background:#f2f5ed
}
.case-small-accent .case-outcome {
  background:rgba(255,255,255,.45);
  border-color:#ccdcbc
}
.case-outcome dd {
  color:#34503d;
  font-weight:600
}
.case-small .text-link {
  margin-top:auto
}
.credentials.section {
  padding-top:0;
  scroll-margin-top:0
}
.credentials-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px
}
.credential {
  display:flex;
  flex-direction:column;
  border:1px solid var(--line);
  border-radius:26px;
  background:#fff;
  overflow:hidden;
  min-width:0
}
.credential-preview {
  position:relative;
  display:grid;
  place-items:center;
  aspect-ratio:1.414;
  background:#e9eee6;
  padding:28px;
  overflow:hidden
}
.credential-preview img {
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  object-fit:contain;
  filter:drop-shadow(0 10px 16px rgba(25,51,33,.14));
  transition:transform .3s
}
.credential-preview:hover img {
  transform:scale(1.025)
}
.credential-preview:focus-visible {
  outline-offset:-4px
}
.preview-zoom {
  position:absolute;
  right:16px;
  bottom:16px;
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:10px 14px;
  border-radius:999px;
  background:var(--dark);
  color:white;
  font-size:12px;
  line-height:1.5;
  font-weight:700
}
.credential-body {
  display:flex;
  flex-direction:column;
  flex:1;
  padding:28px
}
.credential-owner {
  display:flex;
  align-items:center;
  gap:12px;
  padding-bottom:18px;
  margin-bottom:20px;
  border-bottom:1px solid var(--line)
}
.credential-owner-mark {
  display:grid;
  place-items:center;
  flex:0 0 40px;
  width:40px;
  height:40px;
  border-radius:13px;
  background:#e6efdc;
  color:#3a5f42;
  font-size:15px;
  font-weight:800;
  letter-spacing:-.04em
}
.credential-owner strong {
  display:block;
  font-size:14px;
  line-height:1.6;
  letter-spacing:-.02em
}
.credential-owner small {
  display:block;
  font-size:14px;
  line-height:1.6;
  color:var(--muted);
  margin-top:3px
}
.credential-tag {
  display:block;
  color:#56725c;
  font-size:12px;
  font-weight:800;
  line-height:1.6;
  letter-spacing:.045em;
  text-transform:uppercase
}
.credential-body h2 {
  font-size:27px;
  line-height:1.2;
  letter-spacing:-.045em;
  margin:16px 0 12px
}
.credential-body p {
  font-size:15px;
  line-height:1.75;
  color:var(--muted);
  margin:0 0 22px
}
.credential-meta {
  font-size:13px;
  line-height:1.7;
  color:#56725c;
  margin-top:auto;
  padding-top:18px;
  border-top:1px solid var(--line)
}
.credential-wide {
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr))
}
.credential-wide .credential-preview {
  aspect-ratio:auto;
  min-height:320px
}
.consultation-section {
  padding:0
}
.consultation-card {
  display:grid;
  grid-template-columns:160px minmax(0,1fr) auto;
  align-items:center;
  gap:34px;
  padding:40px;
  background:var(--lime);
  border-radius:28px
}
.consultation-price {
  padding-right:28px;
  border-right:1px solid #aacd83
}
.consultation-price strong {
  display:block;
  font-size:80px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.08em;
  white-space:nowrap
}
.consultation-price span {
  display:block;
  font-size:14px;
  line-height:1.5;
  font-weight:700;
  margin-top:14px
}
.consultation-copy {
  min-width:0
}
.consultation-copy .section-label {
  font-size:11px;
  color:#4b693e;
  margin-bottom:14px
}
.consultation-copy h2 {
  font-size:29px;
  line-height:1.2;
  letter-spacing:-.045em;
  margin:0 0 14px
}
.consultation-copy p {
  font-size:14px;
  line-height:1.8;
  color:#47623e;
  margin:0;
  max-width:600px
}
.consultation-card>.btn {
  max-width:285px;
  gap:12px;
  padding-inline:22px
}
.diploma-dialog {
  width:min(1100px,calc(100% - 48px));
  max-height:calc(100dvh - 48px);
  margin:auto;
  padding:28px;
  border:0;
  border-radius:24px;
  background:var(--paper);
  color:var(--ink);
  overflow:auto
}
.diploma-dialog::backdrop {
  background:rgba(5,18,20,.8);
  backdrop-filter:blur(5px)
}
.dialog-heading {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px
}
.dialog-heading h2 {
  font-size:clamp(22px,3vw,30px);
  line-height:1.25;
  letter-spacing:-.04em;
  margin:10px 0 0
}
.dialog-close {
  display:grid;
  place-items:center;
  flex:0 0 44px;
  width:44px;
  height:44px;
  padding:0;
  border:0;
  border-radius:50%;
  background:var(--dark);
  color:var(--lime)
}
.dialog-close .action-icon {
  width:22px;
  height:22px
}
.dialog-image-wrap {
  margin:24px 0;
  background:white;
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden
}
.dialog-image-wrap img {
  display:block;
  width:100%;
  height:auto;
  max-height:65dvh;
  object-fit:contain
}
.dialog-bottom {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:28px
}
.dialog-bottom p {
  font-size:14px;
  line-height:1.7;
  color:var(--muted);
  margin:0;
  max-width:660px
}
.dialog-bottom .text-link {
  flex-shrink:0;
  font-size:13px
}
/* The people behind the personnel department. */
.team-section {
  --section-padding:80px;
  padding:var(--section-padding) 0
}
.team-panel {
  padding:36px;
  background:#e9eee6;
  border:1px solid #dce4d6;
  border-radius:32px
}
.team-heading {
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:32px;
  align-items:end;
  margin-bottom:28px
}
.team-heading .section-title {
  font-size:clamp(34px,3.6vw,46px);
  margin-bottom:0
}
.team-heading .section-copy {
  font-size:15px;
  margin-bottom:4px;
  max-width:470px
}
.team-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px
}
.team-colleagues-heading {
  margin:28px 0 18px;
  color:var(--ink);
  font-size:20px;
  line-height:1.4;
  letter-spacing:-.025em
}
.team-member {
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:56px minmax(0,1fr);
  column-gap:20px;
  align-items:start;
  min-width:0;
  padding:24px;
  border:1px solid #dce4d6;
  border-radius:24px;
  background:#fff;
  overflow:hidden
}
.team-member::before {
  content:"";
  position:absolute;
  z-index:-1;
  width:190px;
  height:190px;
  right:-75px;
  top:-70px;
  border:1px solid #e4eadf;
  border-radius:50%;
  box-shadow:0 0 0 28px rgba(233,238,230,.35);
  pointer-events:none
}
.team-member-lead {
  background:var(--dark2);
  color:white;
  border-color:var(--dark2)
}
.team-member-lead::before {
  border-color:#456057;
  box-shadow:0 0 0 28px rgba(212,251,149,.025)
}
.team-member-top {
  grid-column:1;
  grid-row:1 / 3
}
.team-monogram {
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  border-radius:18px;
  background:#e6efdc;
  color:#3a5f42;
  font-size:22px;
  font-weight:800;
  letter-spacing:-.045em
}
.team-member-lead .team-monogram {
  background:var(--lime);
  color:var(--dark)
}
.team-name {
  grid-column:2;
  min-width:0;
  font-size:26px;
  line-height:1.2;
  letter-spacing:-.045em;
  margin:0 0 8px
}
.team-name span {
  display:block;
  font-size:16px;
  line-height:1.55;
  font-weight:600;
  letter-spacing:-.015em;
  margin-top:8px
}
.team-role {
  grid-column:2;
  margin:0;
  font-size:14px;
  line-height:1.65;
  color:#526b58
}
.team-bio {
  grid-column:1 / -1;
  margin:20px 0 0;
  padding-top:20px;
  border-top:1px solid #dce4d6;
  color:#526b58;
  font-size:15px;
  line-height:1.75
}
.team-member-lead .team-role,.team-member-lead .team-bio {
  color:#c7dacd;
  border-color:#456057
}
.team-leader {
  grid-template-columns:72px minmax(210px,.85fr) minmax(0,1.15fr);
  gap:28px;
  align-items:center;
  padding:32px
}
.team-leader .team-member-top {
  grid-column:auto;
  grid-row:auto;
  align-self:start;
  margin-top:4px
}
.team-leader .team-monogram {
  width:72px;
  height:72px;
  border-radius:22px;
  font-size:28px
}
.team-leader-identity {
  min-width:0
}
.team-leader-label {
  display:block;
  margin-bottom:12px;
  color:#adc6b4;
  font-size:14px;
  line-height:1.5;
  font-weight:700
}
.team-leader .team-name {
  font-size:32px;
  margin-bottom:12px
}
.team-leader .team-bio {
  grid-column:auto;
  margin:0;
  padding:0 0 0 28px;
  border-top:0;
  border-left:1px solid #456057;
  font-size:16px
}
.team-footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  border-top:1px solid #ccd9c6;
  padding-top:28px;
  margin-top:28px
}
/* Short entrances and interaction feedback. */ @keyframes content-enter {
  from {
    opacity:0;
    translate:0 14px
  }
  to {
    opacity:1;
    translate:0 0
  }
}
@keyframes drawing-enter {
  to {
    stroke-dashoffset:0
  }
}
@keyframes stamp-enter {
  from {
    opacity:0;
    scale:.85
  }
  to {
    opacity:1;
    scale:1
  }
}
@keyframes dialog-enter {
  from {
    opacity:0;
    translate:0 12px;
    scale:.985
  }
  to {
    opacity:1;
    translate:0 0;
    scale:1
  }
}
@keyframes backdrop-enter {
  from {
    opacity:0
  }
  to {
    opacity:1
  }
}
.js-motion .hero-copy>* {
  animation:content-enter .7s cubic-bezier(.16,1,.3,1) backwards
}
.js-motion .hero-copy>:nth-child(2) {
  animation-delay:60ms
}
.js-motion .hero-copy>:nth-child(3) {
  animation-delay:120ms
}
.js-motion .hero-copy>.hero-lead {
  animation:none
}
.js-motion .hero-copy>:nth-child(4) {
  animation-delay:180ms
}
.js-motion .hero-copy>:nth-child(5) {
  animation-delay:240ms
}
.js-motion .hero-art {
  animation:content-enter .85s cubic-bezier(.16,1,.3,1) 120ms backwards
}
.js-motion .dash-list.reveal {
  opacity:1;
  translate:none;
  transition:none
}
.js-motion .dash-row {
  opacity:0;
  translate:0 14px
}
.js-motion .dash-list.in .dash-row {
  animation:content-enter .7s cubic-bezier(.2,.7,.3,1) .2s both
}
.js-motion .dash-list.in .dash-row:nth-child(2) {
  animation-delay:.9s
}
.js-motion .dash-list.in .dash-row:nth-child(3) {
  animation-delay:1.6s
}
.js-motion .dash-list.in .dash-row:nth-child(4) {
  animation-delay:2.3s
}
@media(prefers-reduced-motion:reduce) {
  .js-motion .dash-row {
    opacity:1;
    translate:none;
    animation:none!important
  }
}
.js-motion .hero-stat.reveal {
  opacity:1;
  translate:none;
  transition:none
}
.js-motion .hero-stat.reveal strong,.js-motion .hero-stat.reveal p {
  opacity:0;
  translate:0 14px
}
.js-motion .hero-stat.in strong {
  animation:content-enter .75s cubic-bezier(.16,1,.3,1) var(--reveal-delay,0ms) both
}
.js-motion .hero-stat.in p {
  animation:content-enter .75s cubic-bezier(.16,1,.3,1) calc(var(--reveal-delay,0ms) + 180ms) both
}
.js-motion .expertise-drawing path:not(.expertise-motion) {
  stroke-dasharray:var(--line-length);
  stroke-dashoffset:var(--line-length)
}
.js-motion .industry-board.in .expertise-drawing path:not(.expertise-motion) {
  animation:drawing-enter 1.3s cubic-bezier(.2,.7,.3,1) 120ms forwards
}
.js-motion .closing-slogan.is-typed .brand-mark {
  animation:stamp-enter .65s cubic-bezier(.16,1,.3,1) backwards
}
.diploma-dialog[open] {
  animation:dialog-enter .25s cubic-bezier(.16,1,.3,1)
}
.diploma-dialog[open]::backdrop {
  animation:backdrop-enter .2s ease-out
}
.faq-list details.is-closing .plus {
  transform:rotate(0);
  background:transparent
}
.btn .action-icon,.header-cta .action-icon,.text-link .action-icon,.service-arrow .action-icon,.preview-zoom .action-icon {
  transition:translate .25s cubic-bezier(.2,.8,.2,1)
}
.team-monogram {
  transition:transform .3s ease,background-color .3s ease,border-color .3s ease
}
.field label {
  transition:color .2s ease
}
.field:focus-within label {
  color:#3b733e
}
.form-status.show {
  animation:content-enter .3s ease-out
}
.form-status.is-error {
  background:#fff0e9;
  color:#974d36
}
.form-trap {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap;
  pointer-events:none
}
.form-bottom .btn:disabled {
  opacity:.7;
  cursor:wait;
  transform:none
}
.form-bottom .btn {
  min-width:205px
}
.btn:active,.header-cta:active {
  scale:.98
}
.btn,.header-cta {
  transition:transform .2s,background .2s,color .2s,box-shadow .2s,scale .15s
}
@media(hover:hover) and (pointer:fine) {
  .btn-primary:hover .action-icon,.btn-dark:hover .action-icon,.header-cta:hover .action-icon,.text-link:hover .action-icon,.service-card:hover .action-icon,.service-wide:hover .action-icon,.credential-preview:hover .action-icon {
    translate:2px -2px
  }
  .btn-ghost:hover .action-icon {
    translate:0 3px
  }
  .service-card:hover {
    transform:translateY(-5px)
  }
  .service-card:hover .service-icon {
    transform:rotate(-5deg) scale(1.04)
  }
  .team-member:hover {
    transform:translateY(-4px);
    box-shadow:0 16px 32px rgba(24,65,39,.08)
  }
  .team-member:hover .team-monogram {
    transform:rotate(-5deg)
  }
  .credential-preview:hover .preview-zoom {
    background:#24434a
  }
}
@media(min-width:961px) and (hover:hover) and (pointer:fine) {
  .menu a {
    position:relative
  }
  .menu a::after {
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:-7px;
    height:2px;
    background:var(--lime);
    scale:0 1;
    transform-origin:left;
    transition:scale .25s ease
  }
  .menu a:hover::after,.menu a:focus-visible::after {
    scale:1 1
  }
}
@media(max-width:570px) {
  .js-motion .reveal {
    translate:0 12px
  }
  .js-motion .reveal.in,.js-motion .reveal:focus-within {
    translate:0 0
  }
}
/* Keep longer text inside flexible columns at every screen size. */ .hero-copy,.hero-art,.intro-layout>*,.service-card,.service-card>div,.service-wide>div,.service-package-copy,.faq-layout>*,.contact-shell>*,.footer-bottom>p {
  min-width:0
}
.hero-mini-note svg {
  flex-shrink:0
}
.faq-list summary {
  line-height:1.6
}
@media(max-width:1100px) {
  .container {
    width:min(1240px,calc(100% - 48px))
  }
  .nav {
    gap:20px
  }
  .menu {
    gap:14px
  }
  .brand {
    min-width:auto
  }
  .hero {
    min-height:730px
  }
  .hero-main {
    gap:10px;
    min-height:590px
  }
  .hero-art {
    transform:scale(.92);
    transform-origin:right center
  }
  .faq-layout {
    gap:36px
  }
  .contact-intro {
    padding:46px 33px
  }
  .contact-form-wrap {
    padding:30px 26px
  }
}
@media(max-width:960px) {
  .nav {
    height:81px
  }
  .hero {
    padding-top:81px;
    min-height:0
  }
  .menu-toggle {
    display:flex
  }
  .header-cta {
    display:none
  }
  .menu {
    position:absolute;
    top:81px;
    left:0;
    right:0;
    background:#112b2f;
    padding:20px 24px;
    display:none;
    flex-direction:column;
    gap:8px;
    align-items:stretch;
    box-shadow:0 22px 40px rgba(0,0,0,.2)
  }
  .menu.open {
    display:flex
  }
  .menu a {
    display:flex;
    align-items:center;
    min-height:44px;
    font-size:16px
  }
  .hero-main {
    grid-template-columns:1fr;
    gap:0;
    min-height:0;
    padding-top:56px;
    padding-bottom:32px
  }
  .hero-copy {
    max-width:660px
  }
  .hero h1 {
    font-size:clamp(52px,8.5vw,78px)
  }
  .hero-art {
    min-height:0;
    width:100%;
    max-width:460px;
    margin:32px auto 0;
    padding:0;
    justify-content:center;
    transform:none
  }
  .dashboard {
    --dashboard-float:-3px;
    max-width:460px;
    padding:16px;
    transform:none
  }
  .dash-title>div>span,.dash-row small,.dash-bottom,.hero-badges {
    display:none
  }
  .dash-title {
    padding:4px 6px 16px;
    align-items:center
  }
  .dash-title h3 {
    font-size:24px;
    margin:0
  }
  .circle-check {
    width:44px;
    height:44px;
    flex-basis:44px
  }
  .dash-row {
    padding:10px 12px
  }
  .dash-icon {
    width:32px;
    height:32px
  }
  .dash-row strong {
    font-size:14px;
    line-height:1.4
  }
  .dash-row .state {
    font-size:12px
  }
  .hero-stats {
    min-height:0
  }
  .hero-stat {
    padding:24px 16px 24px 0
  }
  .hero-stat:not(:first-child) {
    padding-left:20px
  }
  .intro-layout,.faq-layout {
    grid-template-columns:1fr;
    gap:30px
  }
  .intro-right {
    max-width:650px
  }
  .services .intro-layout {
    margin-bottom:32px
  }
  .service-groups {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:24px
  }
  .service-group {
    grid-template-columns:1fr;
    grid-template-rows:auto repeat(3,minmax(min-content,1fr))
  }
  .service-package {
    padding:30px
  }
  .service-package-heading {
    gap:24px
  }
  .service-package-art {
    width:120px;
    flex-basis:120px
  }
  .service-package-copy {
    flex-direction:column;
    align-items:flex-start;
    gap:22px
  }
  .how-heading {
    align-items:start;
    flex-direction:column
  }
  .how-heading .section-copy {
    max-width:580px
  }
  .steps {
    grid-template-columns:1fr
  }
  .step {
    min-height:0;
    padding:28px
  }
  .step h3 {
    margin-top:28px
  }
  .contact-shell {
    grid-template-columns:1fr
  }
  .contact-intro {
    padding:44px 40px
  }
  .contact-intro .section-copy {
    margin-bottom:24px
  }
  .contact-form-wrap {
    margin:0 17px 17px
  }
  .fields {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .trust-inner {
    padding-block:20px;
    align-items:flex-start;
    flex-direction:column;
    gap:12px
  }
  .trust-label {
    max-width:none
  }
  .trust-items {
    grid-template-columns:repeat(3,minmax(0,1fr));
    justify-content:normal;
    gap:16px 24px
  }
  .section {
    --section-padding:80px
  }
  .how {
    --section-padding:80px
  }
  .faq {
    --section-padding:80px;
    padding:var(--section-padding) 0 36px
  }
  .faq-layout {
    gap:16px
  }
  .footer-top,.footer-bottom {
    align-items:flex-start;
    flex-direction:column;
    gap:24px
  }
  .footer-bottom p:last-child {
    text-align:left
  }
}
@media(max-width:640px) {
  .service-groups {
    grid-template-columns:1fr;
    gap:28px
  }
  .service-group {
    grid-template-rows:none
  }
}
@media(max-width:570px) {
  .container {
    width:calc(100% - 36px)
  }
  .nav {
    height:73px;
    gap:16px
  }
  .menu {
    top:73px;
    padding-inline:18px
  }
  .hero {
    padding-top:73px
  }
  .brand {
    gap:10px
  }
  .brand-name {
    font-size:14px
  }
  .brand-name small {
    font-size:9px;
    letter-spacing:.1em
  }
  .brand-mark {
    width:37px;
    height:37px;
    border-radius:11px;
    flex-shrink:0
  }
  .back-to-top {
    right:calc(16px + env(safe-area-inset-right,0px));
    bottom:calc(16px + env(safe-area-inset-bottom,0px));
    width:48px;
    height:48px
  }
  .hero-main {
    padding-top:36px;
    padding-bottom:24px
  }
  .eyebrow {
    font-size:11px;
    letter-spacing:.08em;
    line-height:1.6
  }
  .hero h1 {
    font-size:clamp(38px,10.5vw,58px);
    line-height:1.08;
    letter-spacing:-.065em;
    margin:20px 0
  }
  .hero-italic {
    white-space:normal!important
  }
  .hero-lead {
    font-size:16px;
    line-height:1.7;
    margin-bottom:24px
  }
  .btn {
    min-height:52px;
    padding:14px 18px;
    font-size:14px;
    gap:12px
  }
  .hero-buttons {
    gap:10px
  }
  .hero-buttons .btn {
    flex:1 1 auto;
    gap:10px;
    padding-inline:16px
  }
  .hero-mini-note {
    font-size:13px;
    margin-top:20px;
    align-items:flex-start
  }
  .hero-mini-note svg {
    margin-top:3px
  }
  /* A compact illustration keeps the services closer to the first screen. */ .hero-art {
    max-width:420px;
    min-height:0;
    margin:24px auto 0;
    padding:0
  }
  .art-halo {
    width:260px;
    height:260px;
    top:0;
    right:10%
  }
  .dashboard {
    width:100%;
    border-radius:20px;
    padding:12px;
    transform:none
  }
  .dash-title {
    padding:2px 4px 12px;
    align-items:center;
    gap:12px
  }
  .dash-title h3 {
    font-size:20px;
    margin:0
  }
  .circle-check {
    width:36px;
    height:36px;
    flex-basis:36px
  }
  .circle-check svg {
    width:22px;
    height:22px
  }
  .dash-list {
    gap:6px
  }
  .dash-row {
    padding:8px;
    gap:8px;
    border-radius:10px
  }
  .dash-icon {
    width:28px;
    height:28px;
    border-radius:8px
  }
  .dash-row strong {
    font-size:13px;
    line-height:1.4
  }
  .dash-row .state {
    font-size:11px
  }
  .hero-stat {
    padding:18px 8px 20px 0
  }
  .hero-stat:not(:first-child) {
    padding-left:10px
  }
  .hero-stat strong {
    font-size:28px
  }
  .hero-stat p {
    font-size:13px;
    line-height:1.6
  }
  .trust-inner {
    padding-block:18px
  }
  .trust-items {
    grid-template-columns:1fr;
    gap:8px
  }
  .trust-item {
    font-size:14px
  }
  .section,.how,.faq {
    --section-padding:64px;
    padding:var(--section-padding) 0
  }
  .faq {
    padding-bottom:28px
  }
  .section-label {
    font-size:12px;
    letter-spacing:.1em;
    margin-bottom:18px
  }
  .section-title {
    font-size:clamp(32px,9vw,46px);
    line-height:1.15;
    letter-spacing:-.055em
  }
  .section-copy {
    font-size:15px;
    line-height:1.75
  }
  .services {
    padding:var(--section-padding) 0
  }
  .services .intro-layout {
    gap:18px;
    margin-bottom:28px
  }
  .services-selection-head {
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
    margin:32px 0 18px
  }
  .services-selection-head h3 {
    font-size:23px
  }
  .service-package {
    padding:24px;
    border-radius:24px
  }
  .service-package-heading {
    position:relative;
    display:block
  }
  .service-package-name {
    padding-right:100px
  }
  .service-package-art {
    position:absolute;
    top:0;
    right:0;
    width:88px
  }
  .service-package-copy {
    margin-top:24px;
    padding-top:22px;
    gap:20px
  }
  .service-package h3 {
    font-size:28px
  }
  .service-package h3 em {
    margin-top:6px
  }
  .service-package-action {
    width:100%;
    justify-content:space-between;
    text-align:left
  }
  .service-arrow {
    width:36px;
    height:36px
  }
  .service-card {
    min-height:0;
    padding:24px
  }
  .service-top {
    margin-bottom:28px
  }
  .service-wide>div {
    display:contents
  }
  .service-wide .service-arrow {
    grid-area:arrow
  }
  .service-wide p {
    grid-area:description
  }
  .service-card h4 {
    min-height:0;
    font-size:23px
  }
  .service-wide {
    grid-template-columns:minmax(0,1fr) 36px;
    grid-template-areas:"title arrow" "description description";
    padding:20px;
    margin-top:20px;
    gap:10px 16px
  }
  .service-wide h3 {
    grid-area:title;
    margin:0;
    font-size:20px
  }
  .step {
    padding:24px
  }
  .step h3 {
    margin-top:28px;
    font-size:21px
  }
  .faq-list summary {
    font-size:15px;
    padding-block:20px;
    gap:14px
  }
  .faq-list details p {
    padding-right:8px
  }
  .contact-section {
    padding-bottom:48px
  }
  .closing-slogan {
    padding-bottom:20px
  }
  .closing-slogan-title {
    font-size:clamp(36px,11vw,48px);
    row-gap:4px
  }
  .contact-shell {
    border-radius:25px;
    min-height:0
  }
  .contact-intro {
    padding:32px 24px
  }
  .contact-intro .section-title {
    font-size:clamp(32px,9vw,42px)
  }
  .contact-direct a {
    font-size:15px;
    gap:8px
  }
  .contact-form-wrap {
    padding:26px 20px;
    margin:0 9px 9px;
    border-radius:19px
  }
  .form-title {
    font-size:24px;
    line-height:1.25
  }
  .fields {
    grid-template-columns:minmax(0,1fr);
    gap:0
  }
  .field.full {
    grid-column:auto
  }
  .field label {
    font-size:13px;
    letter-spacing:.04em;
    text-transform:none
  }
  .field input,.field select,.field textarea {
    padding:12px;
    min-height:52px
  }
  .field select {
    padding-right:48px
  }
  .field textarea {
    min-height:112px
  }
  .form-bottom {
    align-items:stretch;
    flex-direction:column;
    gap:12px
  }
  .form-bottom .btn {
    width:100%;
    min-height:52px;
    white-space:normal
  }
  .form-note {
    flex:auto
  }
  .footer-links {
    gap:14px 20px
  }
  .footer-credit {
    flex-direction:column;
    gap:2px
  }
}
@media(max-width:419px) {
  .hero-stats {
    grid-template-columns:1fr
  }
  .hero-stat,.hero-stat:not(:first-child) {
    display:grid;
    grid-template-columns:56px minmax(0,1fr);
    align-items:center;
    gap:16px;
    padding:14px 0;
    border-right:0;
    border-bottom:1px solid rgba(255,255,255,.12)
  }
  .hero-stat:last-child {
    border-bottom:0
  }
  .hero-stat strong {
    font-size:30px
  }
  .hero-stat p {
    font-size:14px;
    margin:0
  }
}
@media(max-width:1100px) {
  .industry-layout {
    column-gap:35px
  }
  .case-story,.case-result {
    padding:32px
  }
  .consultation-card {
    grid-template-columns:120px minmax(0,1fr);
    gap:24px 30px;
    padding:32px
  }
  .consultation-price {
    grid-row:1 / 3;
    height:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding-right:20px
  }
  .consultation-price strong {
    font-size:64px
  }
  .consultation-card>.btn {
    grid-column:2;
    width:fit-content
  }
}
@media(max-width:960px) {
  .industry-layout {
    grid-template-columns:1fr
  }
  .industry-board {
    max-width:660px;
    width:100%;
    justify-self:center;
    margin-top:36px
  }
  .cases-heading {
    grid-template-columns:1fr;
    gap:24px;
    margin-bottom:32px
  }
  .case-feature {
    grid-template-columns:1fr
  }
  .case-result {
    padding:32px
  }
  .case-result .case-result-title {
    font-size:38px
  }
  .consultation-card {
    grid-template-columns:1fr;
    gap:26px
  }
  .consultation-price {
    grid-row:auto;
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
    gap:24px;
    border-right:0;
    border-bottom:1px solid #aacd83;
    padding:0 0 24px;
    height:auto
  }
  .consultation-price span {
    margin-top:0
  }
  .consultation-card>.btn {
    grid-column:auto;
    width:fit-content;
    max-width:100%
  }
  .dialog-bottom {
    flex-direction:column;
    gap:16px
  }
}
@media(max-width:760px) {
  .case-grid {
    grid-template-columns:1fr
  }
}
@media(max-width:640px) {
  .industry,.cases,.credentials {
    --section-padding:64px;
    padding-block:var(--section-padding)
  }
  .industry-board {
    padding:24px;
    border-radius:24px
  }
  .case-story,.case-result {
    padding:26px 24px
  }
  .case-story h3 {
    font-size:29px
  }
  .case-result .case-result-title {
    font-size:32px
  }
  .case-grid,.credentials-grid {
    grid-template-columns:1fr;
    gap:14px
  }
  .case-small {
    padding:26px 24px
  }
  .case-small h3 {
    font-size:28px
  }
  .credential-preview {
    padding:22px
  }
  .credential-body {
    padding:24px
  }
  .credential-body h2 {
    font-size:25px
  }
  .credential-wide {
    grid-template-columns:1fr
  }
  .credential-wide .credential-preview {
    aspect-ratio:1.414;
    min-height:0
  }
  .consultation-card {
    padding:28px 24px;
    border-radius:24px
  }
  .consultation-copy h2 {
    font-size:28px
  }
  .consultation-card>.btn {
    width:100%;
    max-width:none
  }
  .diploma-dialog {
    width:calc(100% - 24px);
    max-height:calc(100dvh - 24px);
    padding:20px 16px;
    border-radius:18px
  }
  .dialog-heading {
    gap:14px
  }
  .dialog-heading .credential-tag {
    font-size:11px
  }
  .dialog-image-wrap {
    margin-block:20px
  }
}
@media(max-width:419px) {
  .hero-stat,.hero-stat:not(:first-child) {
    grid-template-columns:90px minmax(0,1fr);
    gap:14px
  }
  .hero-stat strong {
    font-size:28px
  }
}
@media(max-width:359px) {
  .industry-board {
    padding:20px
  }
  .dialog-heading h2 {
    font-size:21px
  }
}
@media(max-width:960px) {
  .team-panel {
    padding:32px
  }
  .team-heading {
    grid-template-columns:1fr;
    gap:20px
  }
  .team-grid {
    gap:12px
  }
  .team-leader {
    grid-template-columns:56px minmax(0,1fr);
    gap:20px;
    padding:28px
  }
  .team-leader .team-monogram {
    width:56px;
    height:56px;
    border-radius:18px;
    font-size:22px
  }
  .team-leader .team-name {
    font-size:28px
  }
  .team-leader .team-bio {
    grid-column:1 / -1;
    border-left:0;
    border-top:1px solid #456057;
    padding:20px 0 0;
    font-size:15px
  }
}
@media(max-width:820px) {
  .team-grid {
    grid-template-columns:1fr
  }
}
@media(max-width:570px) {
  .team-section {
    --section-padding:64px;
    padding-block:var(--section-padding)
  }
  .team-panel {
    padding:28px 18px;
    border-radius:25px
  }
  .team-heading .section-title {
    font-size:clamp(32px,9vw,42px)
  }
  .team-heading .section-copy {
    font-size:15px
  }
  .team-member {
    column-gap:16px;
    padding:22px 16px;
    border-radius:19px
  }
  .team-name {
    font-size:24px
  }
  .team-name span {
    font-size:15px;
    line-height:1.6;
    margin-top:6px
  }
  .team-colleagues-heading {
    font-size:19px
  }
  .team-footer {
    margin-top:24px;
    padding-top:24px
  }
}
@media(max-width:359px) {
  .team-member {
    grid-template-columns:44px minmax(0,1fr);
    column-gap:12px
  }
  .team-monogram,.team-leader .team-monogram {
    width:44px;
    height:44px;
    border-radius:14px;
    font-size:18px
  }
  .team-name {
    font-size:22px
  }
  .team-name span {
    font-size:14px
  }
  .team-leader .team-name {
    font-size:26px
  }
}
@media(forced-colors:active) {
  .field select {
    -webkit-appearance:menulist;
    appearance:auto;
    background-image:none;
    padding-right:14px
  }
}
@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto
  }
  *,*::before,*::after {
    animation-duration:.01ms!important;
    transition-duration:.01ms!important
  }
  .js-motion .reveal {
    opacity:1;
    translate:none;
    transform:none;
    transition:none
  }
  .js-motion .hero-stat.reveal strong,.js-motion .hero-stat.reveal p {
    opacity:1;
    translate:none;
    animation:none!important
  }
  .dashboard,.back-to-top,.back-to-top::before,.back-to-top svg,.diploma-dialog,.diploma-dialog::backdrop,.typewriter-output::after {
    animation:none!important;
    transition:none!important
  }
  .service-card:hover,.service-wide:hover,.team-member:hover,.btn:hover {
    transform:none!important
  }
}
