/* Everything is intentionally scoped to .ksg-root so this widget does not override other Elementor widgets. */
.ksg-root{
  --ksg-text:#223940;
  --ksg-bg:#fff;
  --ksg-accent:#31d3bf;
  --ksg-btn-text:#163c40;
  --ksg-hero-text:#fff;
  --ksg-overlay:rgba(18,45,52,.48);
  width:100vw;
  max-width:none;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding:0;
  overflow:hidden;
  background:var(--ksg-bg);
  color:var(--ksg-text);
  font-family:Arial,Helvetica,sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.ksg-root,
.ksg-root *{box-sizing:border-box}
.ksg-root img{display:block;max-width:100%;border:0}
.ksg-root .ksg-container{width:calc(100% - 80px);max-width:1180px;margin:0 auto}
.ksg-root .ksg-section{width:100%;padding:72px 0;background:var(--ksg-bg)}

.ksg-root .ksg-hero{position:relative;width:100%;height:560px;overflow:hidden;background:#18363d}
.ksg-root .ksg-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 50%}
.ksg-root .ksg-hero-overlay{position:absolute;inset:0;background:var(--ksg-overlay)}
.ksg-root .ksg-hero-copy-wrap{position:relative;height:100%}
.ksg-root .ksg-hero-copy{position:absolute;left:0;bottom:84px;color:var(--ksg-hero-text)}
.ksg-root .ksg-hero-title{margin:6px 0 7px;font-family:Georgia,'Times New Roman',serif;font-size:64px;line-height:.98;font-weight:500;letter-spacing:-2px;color:var(--ksg-hero-text)}
.ksg-root .ksg-hero-subtitle{margin:0;font-size:18px;line-height:1.4;font-weight:600;color:var(--ksg-hero-text)}
.ksg-root .ksg-eyebrow{margin:0 0 44px;font-size:10px;line-height:1.2;letter-spacing:2px;font-weight:700;text-transform:uppercase;color:var(--ksg-text)}
.ksg-root .ksg-eyebrow-light{margin-bottom:8px;color:var(--ksg-hero-text)}

.ksg-root .ksg-snapshot{padding-top:86px;padding-bottom:104px}
.ksg-root .ksg-snapshot-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:54px}
.ksg-root .ksg-snapshot ul{margin:0;padding-left:18px}
.ksg-root .ksg-snapshot li{margin:0 0 10px;font-size:14px;line-height:1.6;color:var(--ksg-text)}

.ksg-root .ksg-text-block{padding-top:40px;padding-bottom:110px}
.ksg-root .ksg-copy{font-size:16px;line-height:1.75;color:var(--ksg-text)}
.ksg-root .ksg-copy-wide{max-width:760px}
.ksg-root .ksg-copy p{margin:0 0 17px;color:var(--ksg-text)}
.ksg-root .ksg-copy strong{font-weight:700;color:inherit}
.ksg-root .ksg-copy a:not(.ksg-btn){color:var(--ksg-text)}
.ksg-root .ksg-btn{display:inline-flex;align-items:center;justify-content:center;margin-top:6px;padding:10px 23px;border:0;border-radius:30px;background:var(--ksg-accent);color:var(--ksg-btn-text)!important;text-decoration:none!important;font-size:11px;line-height:1;font-weight:800;box-shadow:none;transition:transform .2s ease,filter .2s ease}
.ksg-root .ksg-btn:hover,.ksg-root .ksg-btn:focus{background:var(--ksg-accent);color:var(--ksg-btn-text)!important;text-decoration:none;transform:translateY(-2px);filter:brightness(.97)}

.ksg-root .ksg-feature{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.ksg-root .ksg-feature-image-right .ksg-media{order:2}
.ksg-root .ksg-feature-image-right .ksg-copy{order:1}
.ksg-root .ksg-feature .ksg-eyebrow{margin-bottom:36px}
.ksg-root .ksg-media{width:100%;overflow:hidden;background:#e8eeee}
.ksg-root .ksg-media.ksg-landscape{aspect-ratio:1.35/1}
.ksg-root .ksg-media.ksg-portrait{aspect-ratio:.73/1}
.ksg-root .ksg-media img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.ksg-root .ksg-media:hover img{transform:scale(1.025)}

.ksg-root .ksg-experiences{padding-top:60px;padding-bottom:90px}
.ksg-root .ksg-experience-intro{max-width:720px;margin:0 0 30px;font-size:15px;line-height:1.7;color:var(--ksg-text)}
.ksg-root .ksg-experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 64px}
.ksg-root .ksg-experience-item{display:grid;grid-template-columns:112px 1fr;gap:16px;align-items:center;margin:0;padding:0;background:none;border:0;box-shadow:none}
.ksg-root .ksg-experience-item img{width:112px;height:76px;object-fit:cover}
.ksg-root .ksg-experience-item p{margin:0;font-size:13px;line-height:1.55;color:var(--ksg-text)}

.ksg-root .ksg-reveal{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}
.ksg-root .ksg-reveal.ksg-is-visible{opacity:1;transform:none}

@media(max-width:900px){
  .ksg-root .ksg-container{width:calc(100% - 40px);max-width:760px}
  .ksg-root .ksg-section{padding:60px 0}
  .ksg-root .ksg-hero-copy{bottom:64px}
  .ksg-root .ksg-hero-title{font-size:54px}
  .ksg-root .ksg-snapshot-grid{grid-template-columns:1fr 1fr;gap:32px 42px}
  .ksg-root .ksg-feature{gap:40px}
  .ksg-root .ksg-copy{font-size:15.5px}
}

@media(max-width:640px){
  .ksg-root .ksg-container{width:calc(100% - 32px)}
  .ksg-root .ksg-section{padding:46px 0}
  .ksg-root .ksg-hero-copy{left:0;right:0;bottom:48px}
  .ksg-root .ksg-hero-title{font-size:46px;letter-spacing:-1px}
  .ksg-root .ksg-hero-subtitle{font-size:15px}
  .ksg-root .ksg-eyebrow{margin-bottom:26px}
  .ksg-root .ksg-snapshot{padding-top:54px;padding-bottom:60px}
  .ksg-root .ksg-snapshot-grid{grid-template-columns:1fr;gap:18px}
  .ksg-root .ksg-snapshot li{font-size:14px}
  .ksg-root .ksg-text-block{padding-top:22px;padding-bottom:64px}
  .ksg-root .ksg-feature,.ksg-root .ksg-feature-image-right{grid-template-columns:1fr;gap:28px}
  .ksg-root .ksg-feature-image-right .ksg-media{order:1}
  .ksg-root .ksg-feature-image-right .ksg-copy{order:2}
  .ksg-root .ksg-media.ksg-landscape{aspect-ratio:1.25/1}
  .ksg-root .ksg-media.ksg-portrait{aspect-ratio:.82/1}
  .ksg-root .ksg-copy{font-size:15px;line-height:1.7}
  .ksg-root .ksg-experiences{padding-bottom:60px}
  .ksg-root .ksg-experience-grid{grid-template-columns:1fr;gap:16px}
  .ksg-root .ksg-experience-item{grid-template-columns:100px 1fr;gap:14px}
  .ksg-root .ksg-experience-item img{width:100px;height:72px}
  .ksg-root .ksg-experience-item p{font-size:13px}
}

@media(prefers-reduced-motion:reduce){
  .ksg-root .ksg-reveal{opacity:1;transform:none;transition:none}
  .ksg-root .ksg-media img,.ksg-root .ksg-btn{transition:none}
}
