:root {
--sw-font: 'Nunito', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
--blue: #1684c5;
--green: #33b853;
--yellow: #ffd21b;
--ink: #151a1d;
--navy: #0d2638;
--soft-ink: #4f585f;
--warm: #f4f1eb;
--white: #ffffff;
--shell: 1320px;
--muted: var(--soft-ink);
--blue-text: #106ba3;
--green-text: #1a7a3a;
--muted-text: #5c666c;
--blue-strong: #116899;
--line: #e4e0d6;
--blue-soft: #e8f3fa;
--green-soft: #e9f8ed;
--yellow-soft: #fff7dc;
--r-s: 12px;
--r: 20px;
--r-l: 28px;
--r-xl: 30px;
--r-pill: 999px;
--max: var(--shell);
--shadow-soft: 0 22px 55px rgba(0, 0, 0, .08);
--shadow-lift: 0 26px 60px rgba(0, 0, 0, .18);
--sw-text: var(--ink);
--sw-muted: var(--muted);
--sw-bg: #ffffff;
--sw-border: var(--line);
--sw-max-width: var(--max);
--sw-gap: 24px;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html {
scroll-behavior: smooth;
}
button,
a {
font: inherit;
}
a {
color: inherit;
}
button {
color: inherit;
}
.sw-page {
font-family: var(--sw-font);
color: var(--ink);
background: #ffffff;
font-size: 17px;
line-height: 1.5;
-webkit-font-smoothing: antialiased;
}
.sw-page h1,
.sw-page h2,
.sw-page h3 {
font-weight: 600;
line-height: 1.15;
letter-spacing: -0.04em;
}
.sw-container {
width: min(var(--max), calc(100% - 96px));
max-width: var(--max);
margin: 0 auto;
padding: 0;
}
@media (max-width: 1240px) {
.sw-container {
width: min(1120px, calc(100% - 72px));
}
}
@media (max-width: 640px) {
.sw-container {
width: min(100% - 36px, var(--max));
}
}
@media (prefers-reduced-motion: reduce) {
*,
*::before,
*::after {
animation-duration: .001ms !important;
animation-iteration-count: 1 !important;
transition-duration: .001ms !important;
scroll-behavior: auto !important;
}
html {
scroll-behavior: auto;
}
}
.sw-visually-hidden {
position: absolute;
width: 1px;
height: 1px;
margin: -1px;
padding: 0;
overflow: hidden;
clip: rect(0 0 0 0);
clip-path: inset(50%);
white-space: nowrap;
border: 0;
}
.sw-skip-link {
position: absolute;
top: 0;
left: 0;
z-index: 9999;
padding: 12px 20px;
border-radius: 0 0 12px 0;
background: var(--navy);
color: #fff;
font-weight: 800;
text-decoration: none;
transform: translateY(-120%);
transition: transform .18s ease;
}
.sw-skip-link:focus,
.sw-skip-link:focus-visible {
transform: translateY(0);
outline: 3px solid var(--yellow);
outline-offset: 2px;
}
main:focus {
outline: none;
}
.kicker {
margin: 0 0 18px;
font-size: 13px;
line-height: 1.2;
font-weight: 900;
letter-spacing: .14em;
text-transform: uppercase;
color: var(--ink);
}
.kicker.blue-text { color: var(--blue-text); }
.kicker.green-text { color: var(--green-text); }
.kicker.yellow-text { color: #8a6500; }
.sw-section--navy .kicker.yellow-text,
.sw-block--navy .kicker.yellow-text,
.sw-block__flagship-tiles--navy .kicker.yellow-text,
.sw-block__feature-story .kicker.yellow-text,
.sw-block__hero .kicker.yellow-text,
.events-page-heading .kicker.yellow-text,
.events-archive-heading .kicker.yellow-text,
[data-sw-dark] .kicker.yellow-text { color: var(--yellow); }
.section-heading {
display: flex;
flex-wrap: wrap;
align-items: flex-end;
justify-content: space-between;
gap: 24px;
margin-bottom: 40px;
}
.section-heading h2 {
font-size: clamp(28px, 3.2vw, 42px);
margin: 10px 0 0;
}
.section-heading__lead {
max-width: 46ch;
color: var(--muted);
font-size: 16px;
line-height: 1.6;
margin: 10px 0 0;
}
.button {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 10px;
min-height: 48px;
padding: 0 22px;
border-radius: 14px;
border: none;
font-weight: 800;
font-size: 16px;
text-decoration: none;
cursor: pointer;
transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease;
}
.button:hover { transform: translateY(-2px); }
.button-blue { background: var(--blue-strong); color: #fff; box-shadow: 0 10px 28px rgba(22, 132, 197, .22); }
.button-dark { background: var(--ink); color: #fff; }
.button-light { background: #fff; color: var(--ink); border: 1.5px solid var(--line); }
.text-link {
display: inline-flex;
align-items: center;
gap: 8px;
color: var(--ink);
font-size: 14px;
font-weight: 900;
text-decoration: none;
}
.text-link.light-link { color: #fff; }
.sw-scroll-reveal {
opacity: 0;
translate: 0 18px;
transition: opacity .5s ease, translate .5s cubic-bezier(.22, .8, .24, 1);
transition-delay: var(--sw-reveal-delay, 0ms);
}
.sw-scroll-reveal.is-visible {
opacity: 1;
translate: 0 0;
}
.pattern-rail {
position: fixed;
z-index: 15;
top: 128px;
bottom: 20px;
width: 42px;
pointer-events: none;
}
.pattern-rail.left { left: 13px; }
.pattern-rail.right { right: 13px; }
.pattern-symbol {
position: absolute;
animation: sw-drift 7s ease-in-out infinite;
opacity: .65;
}
.pattern-symbol.blue { color: var(--blue-text); }
.pattern-symbol.green { color: var(--green-text); }
.pattern-symbol.yellow { color: #eebf00; }
@keyframes sw-drift {
0%, 100% { translate: 0 0; rotate: -3deg; }
50% { translate: 5px -11px; rotate: 4deg; }
}
@media (max-width: 1240px) {
.pattern-rail { display: none; }
}
.fact-pills {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin: 22px 0 0;
padding: 0;
list-style: none;
}
.fact-pill {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 8px 16px 8px 8px;
border-radius: var(--r-pill);
background: #fff;
box-shadow: var(--shadow-soft);
font-weight: 800;
font-size: 13.5px;
color: var(--ink);
}
.fact-pill__icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 26px;
height: 26px;
border-radius: 50%;
background: var(--page-accent-soft, var(--blue-soft));
color: var(--page-accent-text, var(--blue-text));
font-size: 13px;
}
.soft-tray {
border-radius: var(--r-xl);
padding: 16px;
}
.soft-tray--blue { background: var(--blue-soft); }
.soft-tray--green { background: var(--green-soft); }
.soft-tray--yellow { background: var(--yellow-soft); }
.soft-tray--warm { background: var(--warm); }
.soft-card {
background: #fff;
border-radius: var(--r-l);
box-shadow: var(--shadow-soft);
padding: 28px;
transition: transform .18s ease, box-shadow .18s ease;
}
.soft-card:hover {
transform: translateY(-4px);
box-shadow: var(--shadow-lift);
}
.sw-placeholder {
display: flex;
align-items: center;
justify-content: center;
min-height: 60vh;
text-align: center;
padding: 24px;
}
.sw-placeholder__box {
max-width: 480px;
}
.sw-placeholder__title {
font-size: 22px;
font-weight: 800;
margin: 0 0 8px;
}
.sw-placeholder__text {
color: var(--muted);
margin: 0;
}
.eyebrow {
display: inline-flex;
align-items: center;
gap: 10px;
font-size: 12px;
font-weight: 600;
letter-spacing: .14em;
text-transform: uppercase;
color: var(--muted);
margin-bottom: 18px;
}
.eyebrow::before {
content: "";
width: 22px;
height: 2px;
border-radius: 2px;
background: var(--ink);
}
.tag {
display: inline-block;
padding: 5px 14px;
border-radius: 999px;
font-size: 12px;
font-weight: 600;
letter-spacing: .06em;
text-transform: uppercase;
}
.tag-blue { background: var(--blue-soft); color: var(--blue-text); }
.tag-green { background: var(--green-soft); color: var(--green-text); }
.tag-yellow { background: var(--yellow-soft); color: #8A6500; }
.sw-listing-head {
padding: 62px 0 92px;
margin-bottom: 0;
background: #f0ede6;
}
.sw-listing-head h1 {
margin: 24px 0 0;
font-size: clamp(66px, 7vw, 104px);
line-height: .94;
letter-spacing: -.065em;
color: var(--ink);
}
.sw-listing-head .lead {
max-width: 690px;
margin: 22px 0 0;
font-size: 19px;
line-height: 1.75;
color: var(--soft-ink);
}
.dot { width: 10px; height: 10px; border-radius: 50%; flex: none; display: inline-block; }
.dot-blue { background: var(--blue); }
.dot-green { background: var(--green); }
.dot-yellow { background: var(--yellow); }
.dots { display: inline-flex; gap: 5px; }
.dots i { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }
.dots i:nth-child(1) { background: var(--blue); }
.dots i:nth-child(2) { background: var(--green); }
.dots i:nth-child(3) { background: var(--yellow); }
.plate { position: relative; display: inline-block; width: 100%; }
.plate::before {
content: "";
position: absolute;
inset: 0;
transform: translate(8px, 8px);
border-radius: var(--r);
}
.plate img {
position: relative;
width: 100%;
aspect-ratio: 4 / 3;
object-fit: cover;
border-radius: var(--r);
}
.plate-green::before { background: var(--green); }
.plate-blue::before { background: var(--blue); }
.plate-yellow::before { background: var(--yellow); }
.sw-breadcrumbs {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 9px;
margin-bottom: 54px;
color: var(--muted-text);
font-size: 12px;
font-weight: 800;
}
.sw-block--bg-yellow .sw-breadcrumbs,
.sw-block--bg-yellow .sw-breadcrumbs a,
[style*="--page-accent:#ffd21b"] .sw-breadcrumbs,
.sw-page-header--yellow .sw-breadcrumbs {
color: #3d4449;
}
.sw-breadcrumbs a {
color: inherit;
text-decoration: none;
}
.sw-breadcrumbs a:hover {
color: var(--blue-text);
}
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
body.sw-page--sidebar .sw-container {
--max: 1400px;
}
.sw-layout {
display: grid;
grid-template-columns: 280px 1fr;
gap: 40px;
align-items: start;
padding: 92px 0 128px;
}
.sw-layout__main > .sw-block:first-child:not([class*="sw-block--bg-"]),
.sw-layout__sidebar > .sw-block:first-child:not([class*="sw-block--bg-"]) {
padding-top: 0;
}
@media (max-width: 820px) {
.sw-layout {
padding-top: 64px;
}
}
@media (max-width: 640px) {
.sw-layout {
padding: 50px 0 82px;
}
}
.sw-layout--right {
grid-template-columns: 1fr 280px;
}
.sw-layout__sidenav,
.sw-layout__sidebar {
position: sticky;
top: 118px;
border: none;
border-radius: 0;
padding: 0;
min-width: 0;
}
.sw-page-main--narrow {
max-width: 760px;
}
.sw-block__button-link .sw-block__button-link-anchor {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 48px;
padding: 0 24px;
border-radius: 14px;
background: var(--blue-strong);
color: #ffffff;
text-decoration: none;
font-weight: 800;
font-size: 15px;
box-shadow: var(--shadow-soft);
transition: transform .16s ease;
}
.sw-block__button-link .sw-block__button-link-anchor:hover {
transform: translateY(-2px);
}
.sw-layout__sidebar .sw-block__button-link .sw-block__button-link-anchor {
width: 100%;
}
.sw-block__contact-info {
display: grid;
gap: 8px;
padding: 45px;
border-radius: 28px;
background: var(--sw-panel-bg, #eef2f4);
font-size: 16px;
line-height: 1.6;
color: var(--sw-panel-fg, var(--ink));
}
@media (max-width: 640px) {
.sw-block__contact-info {
padding: 29px 23px;
border-radius: 23px;
}
}
.sw-block__contact-info-name {
display: block;
margin-bottom: 2px;
font-size: 16px;
font-weight: 800;
color: var(--ink);
}
.sw-block__contact-info-item {
display: flex;
align-items: center;
gap: 8px;
color: var(--ink);
font-size: 16px;
font-weight: 800;
text-decoration: none;
}
.sw-block__contact-info-item i {
color: var(--blue-text);
}
.sw-block__contact-info-item:hover {
text-decoration: underline;
}
.sw-block__mini-list h2 {
font-size: 12px;
font-weight: 700;
letter-spacing: .1em;
text-transform: uppercase;
color: var(--muted);
margin: 0 0 6px;
}
.sw-block__mini-list ul {
list-style: none;
margin: 0;
padding: 0;
display: grid;
gap: 2px;
}
.sw-block__mini-list li {
padding: 12px 10px;
margin: 0 -10px;
border-radius: var(--r-s);
transition: background-color .15s ease;
}
.sw-block__mini-list li:hover {
background: var(--blue-soft);
}
.sw-block__mini-list-date {
display: block;
font-size: 11px;
font-weight: 700;
letter-spacing: .03em;
text-transform: uppercase;
color: var(--blue-text);
margin-bottom: 4px;
}
.sw-block__mini-list a {
display: block;
color: var(--ink);
text-decoration: none;
font-weight: 700;
font-size: 14.5px;
line-height: 1.4;
}
.sw-block__mini-list li:hover a {
color: var(--blue-text);
}
.sw-block__mini-list-excerpt {
display: block;
margin: 4px 0 0;
font-size: 12.5px;
line-height: 1.55;
color: var(--muted);
}
.sw-layout__sidebar .sw-block__rich-text {
font-size: 14px;
line-height: 1.65;
}
.sw-layout__sidebar .sw-block__rich-text h1,
.sw-layout__sidebar .sw-block__rich-text h2,
.sw-layout__sidebar .sw-block__rich-text h3 {
font-size: 15px;
}
.sw-layout__sidebar .sw-block__rich-text img {
max-width: 100%;
height: auto;
border-radius: var(--r-s);
}
.sw-layout__sidebar .sw-container,
.sw-layout__sidebar .sw-block__inner {
max-width: none;
padding-left: 0;
padding-right: 0;
}
.sw-layout__sidebar .sw-block {
padding: 0 0 18px;
margin-bottom: 18px;
border-bottom: 1px solid var(--line);
}
.sw-layout__sidebar .sw-block:last-child {
padding-bottom: 0;
margin-bottom: 0;
border-bottom: none;
}
.sw-layout__main {
min-width: 0;
}
.sw-layout__main .sw-container {
max-width: none;
padding-left: 0;
padding-right: 0;
}
.sw-layout__main .sw-block--bg-blue-soft,
.sw-layout__main .sw-block--bg-green-soft,
.sw-layout__main .sw-block--bg-yellow-soft,
.sw-layout__main .sw-block--bg-yellow,
.sw-layout__main .sw-block--bg-navy {
border-radius: var(--r-l);
}
.sw-layout__main .sw-block--cards:has(.sw-block__cards--grid) {
border-radius: var(--r-l);
}
.sw-layout__main .sw-block--page-header,
.sw-layout__main .sw-block--flagship-hero,
.sw-layout__main .sw-block--recent-articles:has(.sw-block__news-grid),
.sw-layout__main .sw-block--upcoming-events:has(.events-intro),
.sw-layout__main .sw-block--feature-split:has(.sw-block__feature--stats) {
border-radius: var(--r-l);
overflow: hidden;
}
.sw-sidenav {
display: block;
padding: 27px;
border-radius: 22px;
background: #f0ede6;
}
.sw-sidenav__kicker {
color: var(--muted-text);
}
.sw-sidenav__list {
list-style: none;
margin: 0;
padding: 0;
display: grid;
gap: 0;
}
.sw-sidenav__link {
display: flex;
align-items: center;
justify-content: space-between;
gap: 14px;
padding: 14px 0;
border-bottom: 1px solid rgba(21, 26, 29, .09);
color: var(--muted);
text-decoration: none;
font-size: 15px;
font-weight: 800;
line-height: 1.35;
}
.sw-sidenav__item:last-child .sw-sidenav__link {
border-bottom: none;
}
.sw-sidenav__link:hover,
.sw-sidenav__link.is-active {
background: none;
color: var(--page-accent-text, var(--blue-text));
font-weight: 800;
}
.sw-layout__sidebar .sw-block {
padding: 0;
margin-bottom: 18px;
border-bottom: none;
}
.sw-layout__sidebar .sw-block:last-child {
margin-bottom: 0;
}
.sw-layout__sidebar .sw-block__contact-info {
padding: 28px;
border-radius: 22px;
background: var(--page-accent-soft, var(--blue-soft));
min-width: 0;
overflow-wrap: anywhere;
}
.sw-layout__sidebar .sw-block__contact-info-kicker {
color: var(--page-accent-text, var(--blue-text));
}
.sw-layout__sidebar .sw-block__contact-info-name {
display: block;
margin: 0 0 12px;
font-size: 21px;
font-weight: 800;
line-height: 1.25;
}
.sw-layout__sidebar .sw-block__contact-info-note {
margin: 0 0 21px;
color: var(--soft-ink);
font-size: 15px;
line-height: 1.6;
font-weight: 400;
}
.sw-layout__sidebar .sw-block__contact-info-item {
gap: 9px;
margin-top: 11px;
font-size: 15px;
min-width: 0;
overflow-wrap: anywhere;
}
.sw-layout__sidebar .sw-block__contact-info-item i {
color: var(--page-accent-text, var(--blue-text));
}
.sw-layout__sidebar .sw-block__link-list {
padding: 24px;
border-radius: 22px;
background: #f1eee8;
}
.sw-layout__sidebar .sw-block__link-list h2 {
margin: 0 0 14px;
font-size: 13px;
font-weight: 900;
letter-spacing: .14em;
text-transform: uppercase;
color: var(--muted-text);
}
.sw-layout__sidebar .sw-block__link-list-grid {
display: flex;
flex-wrap: wrap;
gap: 9px;
padding: 0;
border-radius: 0;
background: none;
}
.sw-layout__sidebar .sw-block__link-item {
display: inline-flex;
grid-template-columns: none;
min-height: 42px;
padding: 9px 13px;
align-items: center;
gap: 8px;
border-radius: 999px;
background: #fff;
font-size: 15px;
font-weight: 900;
}
.sw-layout__sidebar .sw-block__link-item:hover {
background: #fff;
}
.sw-layout__sidebar .sw-block__link-item .dot {
width: 25px;
height: 25px;
}
.sw-layout__sidebar .sw-block__link-item .dot::before {
content: attr(data-badge);
width: auto;
height: auto;
border-radius: 0;
background: none;
color: #fff;
font-size: 11px;
text-transform: lowercase;
}
.sw-layout__sidebar .sw-block__link-item-body span {
display: none;
}
@media (max-width: 1000px) {
.sw-layout {
grid-template-columns: 1fr;
gap: 32px;
}
.sw-layout__sidenav,
.sw-layout__sidebar {
position: static;
width: 100%;
}
}
