/* Applications only: no changes to existing product, news or contact layouts. */
.sl-app-page { background: #fff; --app-ink: #163d35; --app-muted: #526960; --app-line: #dce7e1; }
.sl-app-page main { overflow-wrap: anywhere; }
.sl-app-hero { padding: 146px 0 64px; background: linear-gradient(120deg,#eef5ef,#f8faf7 70%); border-bottom: 1px solid var(--app-line); }
.sl-app-breadcrumb { font-size: 13px; color: var(--app-muted); margin-bottom: 32px; }
.sl-app-breadcrumb a:hover { text-decoration: underline; }
.sl-app-eyebrow { color: #2e694d; font-size: 12px; font-weight: 700; letter-spacing: .12em; margin-bottom: 14px; }
.sl-app-hero h1 { font-size: clamp(32px,4vw,54px); line-height: 1.12; letter-spacing: -.025em; max-width: 950px; color: var(--app-ink); }
.sl-app-lead { max-width: 790px; font-size: 18px; line-height: 1.85; color: var(--app-muted); margin-top: 22px; }
.sl-app-textlink { display: inline-flex; align-items: center; gap: 12px; color: #246b45; font-weight: 600; font-size: 15px; }
.sl-app-hero > .wrap > .sl-app-textlink { margin-top: 25px; }
.sl-app-section { padding: 68px 0; scroll-margin-top: 110px; }
.sl-app-section-head { margin-bottom: 30px; max-width: 850px; }
.sl-app-section-head h2 { font-size: clamp(26px,3vw,34px); color: var(--app-ink); margin-bottom: 12px; }
.sl-app-section-head > p:not(.sl-app-eyebrow) { color: var(--app-muted); }
.sl-app-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px; }
.sl-app-card { border: 1px solid var(--app-line); border-radius: 18px; overflow: hidden; background: #fff; transition: box-shadow .2s,transform .2s; }
.sl-app-card:hover { box-shadow: 0 14px 36px rgba(22,61,53,.09); transform: translateY(-4px); }
.sl-app-card-link { display: flex; flex-direction: column; height: 100%; color: inherit; }
.sl-app-card-link:hover { color: inherit; }
.sl-app-card-image { aspect-ratio: 8/5; background: #edf2ee; overflow: hidden; }
.sl-app-card-image img { width: 100%; height: 100%; object-fit: cover; }
.sl-app-card-copy { padding: 26px; flex: 1; display: flex; flex-direction: column; align-items: flex-start; }
.sl-app-card-copy h3 { font-size: 23px; line-height: 1.35; color: var(--app-ink); margin-bottom: 13px; }
.sl-app-card-copy p { color: var(--app-muted); font-size: 15px; line-height: 1.8; margin-bottom: 24px; }
.sl-app-card-copy .sl-app-textlink { margin-top: auto; padding-top: 8px; }
.sl-app-selection { background: #f4f7f3; padding: 60px 0; }
.sl-app-checks { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; }
.sl-app-checks li { border-top: 1px solid #c9d9ce; padding-top: 20px; }
.sl-app-step { display: block; color: #467158; font-size: 14px; margin-bottom: 16px; }
.sl-app-checks h3 { font-size: 21px; color: var(--app-ink); margin-bottom: 12px; }
.sl-app-checks p { font-size: 15px; color: var(--app-muted); }
.sl-app-note { font-size: 13px; color: var(--app-muted); line-height: 1.8; margin-top: 28px; }
.sl-app-detail-layout { display: grid; grid-template-columns: minmax(0,1fr) 320px; align-items: start; gap: 64px; padding-top: 60px; padding-bottom: 40px; }
.sl-app-content { min-width: 0; font-size: 16px; line-height: 1.9; }
.sl-app-content h2 { font-size: 28px; color: var(--app-ink); margin: 36px 0 16px; scroll-margin-top: 110px; }
.sl-app-content h3 { font-size: 21px; color: var(--app-ink); margin: 28px 0 12px; }
.sl-app-content > :first-child { margin-top: 0; }
.sl-app-content p { margin-bottom: 18px; }
.sl-app-content ul,.sl-app-content ol { padding-left: 24px; margin: 16px 0 24px; }
.sl-app-content ul > li { list-style: disc; }
.sl-app-content ol > li { list-style: decimal; }
.sl-app-content li { margin-bottom: 8px; }
.sl-app-content a { color: #246b45; text-decoration: underline; text-underline-offset: 3px; }
.sl-app-content img { max-width: 100%; height: auto; border-radius: 12px; margin: 16px 0; }
.sl-app-content table { display: block; max-width: 100%; width: 100%; overflow-x: auto; border-collapse: collapse; margin: 24px 0; font-size: 14px; }
.sl-app-content th,.sl-app-content td { padding: 14px 16px; border: 1px solid var(--app-line); text-align: left; min-width: 120px; vertical-align: top; }
.sl-app-content th { background: #edf4ee; color: var(--app-ink); }
.sl-app-content blockquote { border-left: 3px solid #467158; padding: 18px 22px; background: #f4f7f3; margin: 24px 0; }
.sl-app-support { border: 1px solid var(--app-line); border-radius: 18px; padding: 28px; background: #f5f8f4; }
.sl-app-support h2 { font-size: 25px; margin-bottom: 16px; color: var(--app-ink); }
.sl-app-support p:not(.sl-app-eyebrow),.sl-app-support li { font-size: 14px; color: var(--app-muted); line-height: 1.8; }
.sl-app-support ul { padding-left: 18px; margin: 16px 0 20px; }
.sl-app-support li { list-style: disc; margin-bottom: 8px; }
.sl-app-button { display: flex; align-items: center; justify-content: center; gap: 16px; padding: 13px 18px; min-height: 48px; border-radius: 999px; background: #205c43; color: #fff; font-weight: 600; margin-top: 24px; }
.sl-app-button:hover { color: #fff; background: #15432f; }
.sl-app-return { padding-bottom: 60px; }
.sl-app-page main a:focus-visible { outline: 3px solid #bf8500; outline-offset: 4px; }
.sl-app-card:focus-within { outline: 3px solid #bf8500; outline-offset: 4px; }
@media(min-width:1101px) { .sl-app-sidebar { position: sticky; top: 110px; } }
@media(max-width:1100px) { .sl-app-detail-layout { gap: 30px; grid-template-columns: minmax(0,1fr) 290px; } .sl-app-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) {
  .sl-app-hero { padding: 110px 0 40px; }
  .sl-app-breadcrumb { margin-bottom: 24px; }
  .sl-app-lead { font-size: 16px; }
  .sl-app-section,.sl-app-selection { padding: 40px 0; }
  .sl-app-grid,.sl-app-checks,.sl-app-detail-layout { grid-template-columns: minmax(0,1fr); }
  .sl-app-grid { gap: 20px; }
  .sl-app-card-copy { padding: 22px; }
  .sl-app-detail-layout { padding-top: 36px; gap: 32px; }
  .sl-app-content h2 { font-size: 25px; }
  .sl-app-return { padding-bottom: 40px; }
}
@media(prefers-reduced-motion:reduce) { .sl-app-card { transition: none; } .sl-app-card:hover { transform: none; } }
