.sv-page, .sv-home { --sv-ink:#233455; --sv-muted:#58677a; color:var(--sv-ink); }
.sv-page main { padding-top:80px; }
.sv-wrap { width:min(1152px,calc(100% - 64px)); margin:0 auto; }
.sv-page main h1, .sv-page main h2, .sv-page main h3, .sv-page main p, .sv-home h2, .sv-home h3, .sv-home p { word-break:keep-all; overflow-wrap:anywhere; }
.sv-page main p, .sv-home p { margin:0; }
.sv-page main h1 { font-size:clamp(38px,4.3vw,58px); line-height:1.27; letter-spacing:-.05em; }
.sv-page main h2, .sv-home h2 { font-size:clamp(28px,3vw,40px); line-height:1.4; letter-spacing:-.04em; }
.sv-page main h3, .sv-home h3 { letter-spacing:-.025em; }
.sv-page section[id] { scroll-margin-top:100px; }
.sv-page :focus-visible, .sv-home :focus-visible { outline:3px solid #567ba8; outline-offset:5px; }
.sv-page .main-navigation [aria-current], .rf-page .main-navigation [aria-current] { color:#233455; font-weight:700; }
.sv-page .main-navigation [aria-current]::after, .rf-page .main-navigation [aria-current]::after { transform:scaleX(1); }
.sv-skip { position:fixed; top:-100px; left:20px; z-index:2000; background:#233455; color:#fff; padding:12px 20px; }
.sv-skip:focus { top:12px; }
.sv-page main .sv-eyebrow, .sv-home .sv-eyebrow { margin:0 0 17px; font-size:12px; letter-spacing:.09em; font-weight:700; color:#527384; }
.sv-page main .sv-copy { margin-top:22px; color:var(--sv-muted); max-width:610px; font-size:17px; line-height:1.9; }
.sv-hero { padding:65px 0 62px; background:#edf3f5; border-bottom:1px solid #dce5ea; }
.sv-hero-grid { display:grid; grid-template-columns:1.55fr 1fr; align-items:center; gap:70px; }
.sv-hero-index { border-top:1px solid #8ca0b0; }
.sv-hero-index a { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:20px 0; border-bottom:1px solid #c9d6de; color:#233455; text-decoration:none; }
.sv-hero-index a:hover strong { text-decoration:underline; text-underline-offset:5px; }
.sv-hero-index small { display:block; font-size:12px; color:#617387; margin-bottom:4px; }
.sv-hero-index strong { font-size:23px; }
.sv-hero-index a>span { font-size:24px; font-weight:300; }
.sv-section, .sv-home { padding:76px 0; }
.sv-home { background:#f5f7f8; }
.sv-home + #core-competencies { margin-top:0; }
.sv-heading { display:flex; justify-content:space-between; align-items:end; gap:35px; margin-bottom:32px; }
.sv-heading p { max-width:440px; color:var(--sv-muted); font-size:15px; line-height:1.8; }
.sv-link { display:inline-flex; align-items:center; gap:10px; min-height:44px; color:#233455; font-size:14px; font-weight:650; text-decoration:none; }
.sv-link:hover { text-decoration:underline; text-underline-offset:5px; }
.sv-link span { font-size:19px; }
.sv-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.sv-card { border:1px solid #dce3e8; border-radius:9px; overflow:hidden; background:#fff; display:flex; flex-direction:column; min-width:0; }
.sv-card-art { display:flex; justify-content:space-between; align-items:center; min-height:104px; padding:23px 27px; background:#f3eee6; }
.sv-card--liveclass .sv-card-art { background:#e1eef5; }
.sv-card--sayacross .sv-card-art { background:#e3eeeb; }
.sv-mark { font-size:36px; font-weight:800; letter-spacing:-.07em; line-height:1; }
.sv-card-art>span:last-child { font-size:12px; font-weight:550; color:#4f6273; }
.sv-card-body { padding:27px; flex:1; display:flex; flex-direction:column; }
.sv-card h3 { font-size:25px; margin-bottom:12px; }
.sv-card .sv-card-tagline { font-size:17px; font-weight:650; line-height:1.65; margin:0 0 13px; }
.sv-card .sv-card-description { color:#58677a; font-size:14px; line-height:1.85; margin:0 0 24px; }
.sv-card-bottom { margin-top:auto; }
.sv-card-actions { display:flex; flex-wrap:wrap; gap:9px 21px; align-items:center; }
.sv-card-actions .sv-link { font-size:13px; }
.sv-card-actions .sv-link:first-child { border:1px solid #233455; border-radius:4px; min-height:40px; padding:8px 14px; background:#233455; color:#fff; }
.sv-card-actions .sv-link:first-child:hover { background:#354d71; text-decoration:none; }
.sv-page main .sv-access, .sv-home .sv-access { margin-top:15px; font-size:11px; line-height:1.75; color:#617387; }
.sv-home .sv-card-art { min-height:83px; padding:21px 25px; }
.sv-home .sv-mark { font-size:28px; }
.sv-home .sv-card h3 { font-size:23px; }
.sv-home .sv-card-tagline { font-size:16px; margin-bottom:20px; }
.sv-page main .sv-catalog-note { font-size:13px; color:#647486; line-height:1.85; margin-top:23px; }
.sv-more { background:#f5f7f8; }
.sv-more-list { border-top:1px solid #b8c8d3; }
.sv-more-item { display:grid; grid-template-columns:1fr 1.8fr auto; gap:35px; align-items:start; padding:32px 0; border-bottom:1px solid #d4dfe6; }
.sv-more-item h3 { font-size:23px; }
.sv-more-item .sv-category { font-size:12px; color:#617387; margin-top:7px; }
.sv-more-item p { font-size:15px; color:#58677a; line-height:1.85; }
.sv-more-item details { margin-top:12px; font-size:13px; color:#526a80; }
.sv-more-item summary { cursor:pointer; padding:6px 0; }
.sv-more-item details p { padding-top:8px; font-size:13px; }
.sv-more-item .sv-access { max-width:170px; }
.sv-bottom { background:#233455; color:#fff; padding:45px 0; }
.sv-bottom .sv-wrap { display:flex; justify-content:space-between; gap:35px; align-items:center; }
.sv-bottom h2 { font-size:27px!important; }
.sv-page main .sv-bottom p { color:#d1dfea; font-size:15px; margin-top:13px; line-height:1.8; }
.sv-button { display:inline-flex; align-items:center; justify-content:center; gap:24px; padding:14px 21px; min-height:52px; border:1px solid #233455; border-radius:5px; background:#233455; color:#fff; text-decoration:none; font-weight:650; font-size:15px; }
.sv-button:hover { background:#354d71; }
.sv-button--light { color:#233455; background:#c0dae2; border-color:#c0dae2; }
.sv-button--light:hover { background:#d7e8ec; }
.sv-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px; margin-top:27px; }
.sv-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; font-size:12px; color:#58677a; margin:0 0 28px; }
.sv-breadcrumb a { color:#3c6075; text-underline-offset:4px; }
.rf-hero .sv-breadcrumb { margin-bottom:22px; }
.sv-detail-hero { padding:38px 0 65px; background:#edf4f7; }
.sv-detail--sayacross .sv-detail-hero { background:#eef4f1; }
.sv-detail-grid { display:grid; grid-template-columns:1.25fr 1fr; gap:70px; align-items:center; }
.sv-detail-brand { font-size:24px; font-weight:750; margin-bottom:18px; }
.sv-flow { padding:30px; background:#fff; border:1px solid #d5e1e7; border-radius:9px; }
.sv-page main .sv-flow-label { color:#5e7789; font-size:11px; font-weight:650; letter-spacing:.04em; margin-bottom:22px; }
.sv-flow ol { margin:0; padding:0; list-style:none; }
.sv-flow li { display:grid; grid-template-columns:28px 1fr; gap:12px; padding:18px 0; border-top:1px solid #dce5e9; }
.sv-flow li>span { color:#658092; font-size:12px; padding-top:4px; }
.sv-flow strong { font-size:18px; letter-spacing:-.025em; }
.sv-page main .sv-flow li p { font-size:13px; color:#647486; margin-top:5px; line-height:1.7; }
.sv-use-cases { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.sv-use-cases li { border-top:2px solid #c0dae2; padding-top:24px; }
.sv-use-cases span { color:#617387; font-size:12px; }
.sv-use-cases h3 { font-size:22px; margin:13px 0; }
.sv-use-cases p { font-size:15px; color:#58677a; line-height:1.85; }
.sv-get-started { background:#f5f7f8; }
.sv-guide { display:grid; grid-template-columns:1fr 1.4fr; gap:70px; }
.sv-guide ol { padding:0; margin:0; list-style:none; counter-reset:guide; }
.sv-guide li { counter-increment:guide; position:relative; border-bottom:1px solid #d4dfe6; padding:0 0 22px 42px; margin-bottom:24px; }
.sv-guide li::before { content:counter(guide,decimal-leading-zero); position:absolute; top:2px; left:0; font-size:13px; color:#5c7588; }
.sv-guide h3 { font-size:19px; }
.sv-page main .sv-guide li p { font-size:15px; color:#58677a; line-height:1.85; margin-top:9px; }
.sv-detail-footer { padding:35px 0; }
.sv-detail-footer .sv-wrap { display:flex; justify-content:space-between; align-items:center; gap:24px; flex-wrap:wrap; }
.sv-detail-footer p { color:#58677a; font-size:14px; }
@media(max-width:1000px) {
  .sv-hero-grid, .sv-detail-grid, .sv-guide { gap:36px; }
  .sv-card-art, .sv-card-body { padding:22px; }
  .sv-cards { gap:16px; }
  .sv-card-actions { gap:8px; }
  .sv-more-item { grid-template-columns:1fr 1.6fr; gap:25px; }
  .sv-more-item>div:last-child { grid-column:2; }
}
@media(max-width:768px) {
  .sv-wrap { width:calc(100% - 40px); }
  .sv-page main { padding-top:65px; }
  .sv-hero { padding:45px 0; }
  .sv-hero-grid, .sv-detail-grid, .sv-guide { grid-template-columns:1fr; gap:30px; }
  .sv-page main h1 { font-size:clamp(32px,8vw,44px); }
  .sv-page main .sv-copy { font-size:16px; }
  .sv-hero-index { display:none; }
  .sv-section, .sv-home { padding:52px 0; }
  .sv-heading { display:block; }
  .sv-heading>p, .sv-heading>.sv-link { margin-top:16px; }
  .sv-cards, .sv-use-cases { grid-template-columns:1fr; gap:23px; }
  .sv-card-art { min-height:85px; }
  .sv-card-body { padding:26px; }
  .sv-card-actions { gap:20px; }
  .sv-home .sv-card-body { padding:24px; }
  .sv-more-item { display:block; padding:27px 0; }
  .sv-more-item>div+div { margin-top:18px; }
  .sv-more-item .sv-access { max-width:none; margin-top:4px; }
  .sv-bottom .sv-wrap { display:block; }
  .sv-bottom .sv-button { margin-top:22px; }
  .sv-detail-hero { padding:30px 0 44px; }
  .sv-breadcrumb { margin-bottom:25px; }
  .sv-detail-brand { font-size:20px; }
  .sv-flow { padding:24px; }
  .sv-button { font-size:14px; }
}
