/* SOFTWORKS — component styles. Every value is a token from tokens.json. */
.sw-container{box-sizing:border-box;width:100%;max-width:var(--container-max);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter)}
@media (min-width:640px){.sw-container{padding-left:5vw;padding-right:5vw}}

.sw-logo{display:block;height:20px;width:116px}

/* Button — BtnFilled / BtnGhost */
.sw-btn{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:47px;padding:13px var(--space-26);border-radius:var(--radius-pill);border:1px solid transparent;font-family:var(--font-sans);font-size:14px;line-height:21px;font-weight:600;text-decoration:none;white-space:nowrap;cursor:pointer;transition:filter .15s ease,background-color .15s ease}
.sw-btn--filled{background:var(--primary);color:var(--on-primary)}
.sw-btn--filled:hover{filter:brightness(.93)}
.sw-btn--ghost{background:none;color:var(--on-dark);border-color:var(--on-dark-outline-btn);padding-top:12px;padding-bottom:12px}
.sw-btn--ghost:hover{background:var(--on-dark-divider)}
.sw-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.sw-btn--ghost:focus-visible{outline-color:var(--on-dark)}

/* Eyebrow */
.sw-eyebrow{display:inline-flex;align-items:center;box-sizing:border-box;height:30px;padding:5px var(--space-14);border-radius:var(--radius-pill);border:1px solid;font-family:var(--font-sans);font-size:12px;line-height:18px;font-weight:600;letter-spacing:.48px;white-space:nowrap}
.sw-eyebrow--light{border-color:var(--primary);color:var(--primary)}
.sw-eyebrow--dark{border-color:var(--on-dark-outline);color:var(--on-dark)}

/* SiteHeader */
.sw-header{background:var(--bg);border-bottom:1px solid var(--line);font-family:var(--font-sans)}
.sw-header__bar{display:flex;align-items:center;gap:var(--space-36);height:var(--header-height)}
.sw-header__logo{display:block;flex:none}
.sw-header__nav{display:flex;gap:var(--space-4);padding-left:var(--space-8)}
.sw-navlink{padding:var(--space-8) var(--space-16);border-radius:var(--radius-pill);color:var(--ink-muted);font-size:14px;line-height:21px;font-weight:500;text-decoration:none;white-space:nowrap}
.sw-navlink:hover,.sw-navlink.is-active{color:var(--ink);background:var(--surface-subtle)}
.sw-navlink:focus-visible{outline:2px solid var(--primary);outline-offset:0}
.sw-header__actions{flex:1;display:flex;justify-content:flex-end;align-items:center;gap:var(--space-20)}
@media (max-width:760px){.sw-header__nav{display:none}}

/* Hero */
.sw-hero{background:var(--navy-900);padding:var(--hero-pad-top) 0 var(--hero-pad-bottom);font-family:var(--font-sans)}
@media (min-width:640px){.sw-hero{padding:11vh 0 9vh}}
.sw-hero__inner{box-sizing:border-box;max-width:var(--hero-max);margin:0 auto;padding:0 var(--gutter)}
.sw-hero__title{margin:28px 0 0;max-width:671px;color:var(--on-dark);font-size:68px;line-height:73.44px;font-weight:800;letter-spacing:-1.36px}
.sw-hero__lead{margin:var(--space-28) 0 0;max-width:var(--measure-lead);color:var(--on-dark-muted);font-size:19px;line-height:33.25px;font-weight:300}
.sw-hero__actions{display:flex;flex-wrap:wrap;gap:var(--space-16);margin-top:var(--space-40)}
@media (max-width:640px){.sw-hero__title{font-size:40px;line-height:44.8px;letter-spacing:-.8px}.sw-hero__lead{font-size:15.5px;line-height:26.35px}}

/* StatBand */
.sw-stats{background-image:linear-gradient(175.15deg,var(--stat-grad-1) 8.49%,var(--stat-grad-2) 41.7%,var(--stat-grad-3) 66.61%,var(--stat-grad-4) 91.51%);border-bottom:1px solid var(--line);font-family:var(--font-sans)}
.sw-stats__grid{display:grid;grid-template-columns:repeat(3,1fr)}
.sw-stat{padding:var(--space-56) var(--stat-col-pad)}
.sw-stat:first-child{padding-left:0}
.sw-stat:last-child{padding-right:0}
.sw-stat+.sw-stat{border-left:1px solid var(--on-dark-divider)}
.sw-stat__figure{display:flex;align-items:baseline;gap:13px;color:var(--stat-accent);letter-spacing:-2.1474px;white-space:nowrap}
.sw-stat__num{font-size:71.58px;line-height:71.58px;font-weight:900}
.sw-stat__unit{font-size:27.2px;line-height:27.2px;font-weight:700;letter-spacing:0}
.sw-stat__text{margin:var(--space-24) 0 0;max-width:249px;color:var(--on-dark-body);font-size:14px;line-height:23.1px}
@media (max-width:760px){.sw-stats__grid{grid-template-columns:1fr}.sw-stat,.sw-stat:first-child,.sw-stat:last-child{padding:var(--space-40) 0}.sw-stat+.sw-stat{border-left:0;border-top:1px solid var(--on-dark-divider)}}

/* ProofLine */
.sw-proof{background:var(--surface-subtle);border-bottom:1px solid var(--line);padding:22px 0;font-family:var(--font-sans);font-weight:600}
.sw-proof__row{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:18px;row-gap:4px}
.sw-proof__label{color:var(--ink-subtle);font-size:11px;line-height:16.5px;letter-spacing:.88px;text-transform:uppercase}
.sw-proof__items{color:var(--ink);font-size:14.5px;line-height:21.75px}

/* MissionBand */
.sw-mission{background:var(--navy-900);padding:var(--mission-y) 0;font-family:var(--font-sans)}
@media (min-width:640px){.sw-mission{padding:11vw 0}}
.sw-mission__text{margin:0 auto;max-width:920px;text-align:center;color:var(--on-dark);font-size:46px;line-height:58.88px;font-weight:800;letter-spacing:-.92px}
.sw-mission__text span{display:block}
@media (max-width:640px){.sw-mission__text{font-size:28px;line-height:36px;letter-spacing:-.56px}}

/* Section intro + ProductList */
.sw-products{background:var(--bg);padding:var(--section-y) 0;font-family:var(--font-sans)}
@media (min-width:640px){.sw-products{padding:9vw 0}}
.sw-section-intro{max-width:var(--measure-intro)}
.sw-h2{margin:28px 0 0;color:var(--ink);font-size:40px;line-height:44.8px;font-weight:800;letter-spacing:-.8px}
.sw-section-intro__text{margin:var(--space-16) 0 0;color:var(--ink-muted);font-size:15px;line-height:26.25px}
.sw-products__list{margin-top:var(--space-56);border-top:1px solid var(--line)}
.sw-product{display:grid;grid-template-columns:var(--product-meta-col) 1fr;column-gap:52px;padding:32px 12px;margin:0 -12px;border-bottom:1px solid var(--line);text-decoration:none;transition:background-color .15s ease}
.sw-product:hover{background:var(--surface-subtle)}
.sw-product:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}
.sw-product__name{color:var(--ink);font-size:20px;line-height:24px;font-weight:800;letter-spacing:-.2px}
.sw-product__cat{padding-top:5px;color:var(--ink-subtle);font-size:11.5px;line-height:17.25px;font-weight:600;letter-spacing:.69px;text-transform:uppercase}
.sw-product__text{margin:2px 0 0;max-width:575px;color:var(--ink-muted);font-size:15px;line-height:25.8px}
.sw-accent--blue{color:var(--product-blue)}
.sw-accent--green{color:var(--product-green)}
.sw-accent--red{color:var(--product-red)}
.sw-accent--yellow{color:var(--product-yellow)}
@media (max-width:760px){.sw-product{grid-template-columns:1fr;row-gap:12px}.sw-h2{font-size:32px;line-height:36px}}

/* CtaSection */
.sw-cta{background:var(--bg);border-top:1px solid var(--line);padding:var(--section-y) 0;font-family:var(--font-sans)}
@media (min-width:640px){.sw-cta{padding:9vw 0}}
.sw-cta__stack{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-24)}
.sw-cta__title{margin:0;max-width:519px;color:var(--ink);font-size:46px;line-height:51.52px;font-weight:800;letter-spacing:-.92px}
.sw-cta__text{margin:0;color:var(--ink-muted);font-size:15.5px;line-height:26.35px}
@media (max-width:640px){.sw-cta__title{font-size:32px;line-height:36px}}

/* SiteFooter */
.sw-footer{background:var(--bg);border-top:1px solid var(--line);padding:var(--space-28) 0;font-family:var(--font-sans)}
.sw-footer__row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--space-8);color:var(--ink-subtle);font-size:12.5px;line-height:18.75px}
