/* Product detail pages and the visible, crawlable product directory. */
.sws-professional .sws-product-index { padding-bottom:62px; }
.sws-professional .sws-product-directory { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:32px; align-items:start; }
.sws-professional .sws-product-summary { min-width:0; border:1px solid rgba(1,102,94,.13); border-radius:17px; background:linear-gradient(145deg,#fff,#f3faf6); box-shadow:0 10px 28px rgba(16,54,49,.04),inset 0 1px 0 #fff; }
.sws-professional .sws-product-summary summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:21px 24px; cursor:pointer; list-style:none; }
.sws-professional .sws-product-summary summary::-webkit-details-marker { display:none; }
.sws-professional .sws-product-summary summary h3 { margin:0; font-size:18px; line-height:1.3; font-weight:650; color:#123e46; letter-spacing:-.02em; }
.sws-professional .sws-product-summary summary > span { font-size:22px; color:#087c73; }
.sws-professional .sws-product-summary[open] summary > span { rotate:45deg; }
.sws-professional .sws-product-summary > div { padding:0 24px 24px; font-size:14px; color:#62796e; line-height:1.75; }
.sws-professional .sws-product-summary p { margin:0; }
.sws-professional .sws-product-summary ul { padding-left:18px; margin:18px 0; }
.sws-professional .sws-product-more { display:inline-flex; align-items:center; gap:12px; margin-top:14px; color:#01665e; font-size:13px; font-weight:700; text-decoration:none; }
.sws-professional .sws-product-more[hidden] { display:none; }
.sws-professional .sws-product-more:hover { text-decoration:underline; text-underline-offset:4px; }
.sws-service-page { background:#f4f8f6; color:#123e46; }
.sws-service-page .sws-service-wrap { width:min(1200px,calc(100% - 96px)); margin:0 auto; }
.sws-service-page .sws-service-hero { padding:32px 0 64px; background:radial-gradient(circle at 95% 5%,rgba(24,163,164,.09),transparent 45%),linear-gradient(155deg,#f9fcfa,#eef6f1); }
.sws-service-page .sws-service-breadcrumb { display:flex; align-items:center; gap:10px; flex-wrap:wrap; color:#6d8278; font-size:11px; line-height:1.7; margin-bottom:32px; }
.sws-service-page .sws-service-breadcrumb a { color:#437769; text-decoration:none; }
.sws-service-page .sws-service-hero-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,.8fr); gap:24px; align-items:stretch; }
.sws-service-page .sws-service-hero-copy,.sws-service-page .sws-service-fit { position:relative; min-width:0; padding:38px; border:1px solid rgba(1,102,94,.13); border-radius:27px; background:radial-gradient(circle at 100% 0%,rgba(24,163,164,.08),transparent 46%),linear-gradient(145deg,#fff,#f0f8f3); box-shadow:0 22px 56px rgba(16,54,49,.07),inset 0 1px 0 #fff; }
.sws-service-page .eyebrow { gap:10px; color:#01665e; font-size:10px; font-weight:750; letter-spacing:.12em; line-height:1.6; }
.sws-service-page .eyebrow::before { content:''; width:25px; height:2px; background:#18a3a4; flex:none; }
.sws-service-page h1 { font-size:clamp(36px,3.4vw,49px); line-height:1.14; letter-spacing:-.04em; font-weight:710; margin:24px 0 22px; text-wrap:balance; }
.sws-service-page h1 span,.sws-service-page .sws-service-section h2 span { color:#047c70; }
.sws-service-page p { font-size:15px; line-height:1.8; color:#637b70; margin:0; }
.sws-service-page .sws-service-actions { display:flex; align-items:center; flex-wrap:wrap; gap:20px; margin-top:29px; }
.sws-service-page .sws-service-actions a { font-size:12px; }
.sws-service-page .sws-service-secondary { color:#01665e; font-weight:650; text-decoration:none; }
.sws-service-page .sws-service-fit { display:flex; flex-direction:column; justify-content:center; padding:32px; background:radial-gradient(circle at 100% 0%,rgba(24,163,164,.13),transparent 50%),linear-gradient(145deg,#e7f4ec,#f5faf6); }
.sws-service-page .sws-service-fit > span { color:#08796b; font-size:10px; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
.sws-service-page .sws-service-fit h2 { font-size:27px; line-height:1.24; letter-spacing:-.03em; margin:22px 0 18px; font-weight:650; }
.sws-service-page .sws-service-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:26px; }
.sws-service-page .sws-service-tags span { padding:7px 10px; border:1px solid rgba(1,102,94,.14); border-radius:99px; color:#2e6c5d; background:rgba(255,255,255,.7); font-size:10px; font-weight:650; }
.sws-service-page .sws-service-section { padding:64px 0; scroll-margin-top:100px; }
.sws-service-page .sws-service-section h2 { max-width:850px; margin:20px 0; font-size:clamp(31px,3.2vw,44px); font-weight:650; line-height:1.15; letter-spacing:-.035em; text-wrap:balance; }
.sws-service-page .sws-service-lead { max-width:810px; }
.sws-service-page .sws-service-features { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; list-style:none; padding:0; margin:30px 0 0; }
.sws-service-page .sws-service-features li { display:flex; align-items:center; gap:14px; min-width:0; padding:20px 23px; border:1px solid rgba(1,102,94,.12); border-radius:15px; background:linear-gradient(145deg,#fff,#f6fbf8); box-shadow:0 8px 24px rgba(16,54,49,.035); font-size:14px; font-weight:600; line-height:1.5; }
.sws-service-page .sws-service-features li span { color:#078475; }
.sws-service-page .sws-service-tint { background:linear-gradient(150deg,#edf6f0,#f7faf8); border-block:1px solid rgba(1,102,94,.065); }
.sws-service-page .sws-service-example { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); gap:28px; align-items:start; margin-top:30px; }
.sws-service-page .sws-service-example figure { margin:0; min-width:0; overflow:hidden; border:1px solid rgba(1,102,94,.13); border-radius:20px; background:#fff; box-shadow:0 18px 42px rgba(16,54,49,.07); }
.sws-service-page .sws-service-example img { width:100%; height:auto; max-height:480px; object-fit:contain; background:#f6faf8; }
.sws-service-page .sws-service-example figcaption { padding:17px 20px; border-top:1px solid rgba(1,102,94,.08); font-size:11px; line-height:1.7; color:#668073; }
.sws-service-page .sws-service-story { min-width:0; padding:27px; border:1px solid rgba(1,102,94,.12); border-radius:20px; background:linear-gradient(145deg,#fff,#f5faf7); box-shadow:0 14px 34px rgba(16,54,49,.045); }
.sws-service-page .sws-service-story ol { padding-left:20px; margin:23px 0 0; color:#315f50; font-size:14px; line-height:1.75; }
.sws-service-page .sws-service-story li { padding:8px 0 8px 5px; }
.sws-service-page .sws-service-connections { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; margin-top:31px; }
.sws-service-page .sws-service-connections article { min-width:0; padding:28px; border:1px solid rgba(1,102,94,.13); border-radius:22px; background:radial-gradient(circle at 100% 0%,rgba(24,163,164,.065),transparent 50%),linear-gradient(145deg,#fff,#f5faf7); box-shadow:0 18px 42px rgba(16,54,49,.055),inset 0 1px 0 #fff; }
.sws-service-page .sws-service-index { display:inline-grid; place-items:center; width:37px; height:37px; border:1px solid rgba(1,102,94,.14); border-radius:11px; color:#01665e; font-size:11px; font-weight:750; background:#ecf7ef; }
.sws-service-page h3 { font-size:23px; font-weight:650; letter-spacing:-.025em; line-height:1.3; margin:22px 0 15px; }
.sws-service-page .sws-conclusion { margin-top:32px; }
.sws-service-page .sws-conclusion .sws-btn { margin-top:22px; font-size:12px; }
.sws-service-page .sws-service-related { padding:0 0 64px; }
.sws-service-page .sws-service-related h2 { font-size:22px; font-weight:650; letter-spacing:-.02em; }
.sws-service-page .sws-service-related .sws-service-wrap > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:22px 0; }
.sws-service-page .sws-service-related a { display:flex; align-items:center; justify-content:space-between; gap:12px; color:#01665e; text-decoration:none; font-size:13px; font-weight:600; line-height:1.5; }
.sws-service-page .sws-service-related div > div > a { padding:18px 20px; border:1px solid rgba(1,102,94,.14); border-radius:13px; background:#fff; }
@media(max-width:1000px) { .sws-service-page .sws-service-hero-grid,.sws-service-page .sws-service-example { grid-template-columns:1fr; } .sws-service-page .sws-service-connections { grid-template-columns:1fr; } }
@media(max-width:680px) {
 .sws-professional .sws-product-directory { grid-template-columns:1fr; }
 .sws-service-page .sws-service-wrap { width:calc(100% - 40px); }
 .sws-service-page .sws-service-hero { padding:24px 0 40px; }
 .sws-service-page .sws-service-breadcrumb { font-size:10px; margin-bottom:23px; gap:7px; }
 .sws-service-page .sws-service-hero-copy,.sws-service-page .sws-service-fit { padding:27px 23px; border-radius:22px; }
 .sws-service-page h1 { font-size:clamp(31px,8.1vw,39px); }
 .sws-service-page .sws-service-section { padding:42px 0; }
 .sws-service-page .sws-service-section h2 { font-size:31px; }
 .sws-service-page .sws-service-features { grid-template-columns:1fr; gap:10px; }
 .sws-service-page .sws-service-features li { padding:18px 20px; }
 .sws-service-page .sws-service-related .sws-service-wrap > div { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:no-preference) and (hover:hover) { .sws-service-page .sws-service-connections article,.sws-service-page .sws-service-fit { transition:translate .24s,box-shadow .24s; } .sws-service-page .sws-service-connections article:hover { translate:0 -4px; box-shadow:0 22px 48px rgba(16,54,49,.1); } }
