.cs-library{--navy:#15213a;--ink:#1b2945;--orange:#ff6337;--aqua:#5ee2d1;--gold:#ffc447;background:#f5f2ed;color:var(--ink);min-height:100vh}.cs-library *{box-sizing:border-box}.cs-library-shell{width:min(1440px,calc(100% - 64px));margin:auto}.cs-library-logo{width:94px;height:auto;object-fit:contain}.cs-library-kicker{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800}.cs-library-orbit{position:absolute;width:760px;height:760px;border:1px solid rgba(94,226,209,.3);border-radius:50%;right:-270px;top:-350px}.cs-library-orbit:before,.cs-library-orbit:after{content:"";position:absolute;border:1px solid rgba(255,99,55,.35);border-radius:50%;inset:90px}.cs-library-orbit:after{inset:210px;border-color:rgba(255,196,71,.4)}.cs-library-gate{position:relative;overflow:hidden;min-height:100vh;background:var(--navy);color:#fff;display:grid;align-items:center;padding:130px 32px}.cs-library-gate__inner{position:relative;z-index:1;width:min(790px,100%);margin:auto}.cs-library-gate .cs-library-kicker,.cs-library-hero .cs-library-kicker{color:var(--aqua);margin:70px 0 22px}.cs-library-gate h1,.cs-library-hero h1{font-size:clamp(55px,7vw,112px);line-height:.88;letter-spacing:-.055em;margin:0;font-weight:600}.cs-library-intro,.cs-library-hero .cs-library-shell>p:last-child{font-size:clamp(18px,2vw,26px);line-height:1.45;max-width:700px;color:#ccd4e2;margin:35px 0 48px}.cs-library-form{max-width:680px}.cs-library-form label{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.13em;font-weight:800;margin-bottom:12px}.cs-library-form__row{display:flex;border-bottom:2px solid var(--aqua)}.cs-library-form input{flex:1;min-width:0;background:rgba(255,255,255,.08);border:0;color:#fff;padding:18px;font-size:18px;outline:none}.cs-library-form button{border:0;background:var(--orange);color:#fff;padding:16px 24px;font-weight:800;cursor:pointer}.cs-library-error{color:#ff9d80}.cs-library-hero{position:relative;overflow:hidden;background:var(--navy);color:#fff;padding:90px 0 115px}.cs-library-hero .cs-library-orbit{width:630px;height:630px}.cs-library-index{padding:75px 0 110px}.cs-library-heading{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid #b8b5b0;padding-bottom:18px;margin-bottom:34px;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:800}.cs-library-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px 22px}.cs-library-card{background:#fff;min-width:0;transition:opacity .45s ease,transform .35s ease,box-shadow .35s ease}.cs-library-card:hover{transform:translateY(-7px);box-shadow:0 22px 50px rgba(21,33,58,.14)}.cs-library-card a{color:inherit;text-decoration:none}.cs-library-card__image{aspect-ratio:4/3;background:#dfe3e5;overflow:hidden}.cs-library-card__image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .6s ease}.cs-library-card:hover img{transform:scale(1.035)}.cs-library-card__body{padding:27px;min-height:210px;display:flex;flex-direction:column}.cs-library-card__body p{text-transform:uppercase;color:#60708b;letter-spacing:.12em;font-size:11px;font-weight:800;margin:0 0 13px}.cs-library-card h2{font-size:clamp(25px,2.2vw,37px);line-height:1.02;letter-spacing:-.035em;margin:0 0 28px}.cs-library-card__body span{margin-top:auto;color:var(--orange);font-weight:800}.cs-library .page-numbers{list-style:none;display:flex;gap:8px;justify-content:center;margin:55px 0 0;padding:0}.cs-library .page-numbers a,.cs-library .page-numbers span{display:grid;place-items:center;min-width:42px;height:42px;background:#fff;color:var(--ink);text-decoration:none}.cs-library .page-numbers .current{background:var(--orange);color:#fff}.cs-library-card{opacity:0;transform:translateY(24px)}.cs-library-card.is-visible{opacity:1;transform:none}.cs-library-card.is-visible:hover{transform:translateY(-7px)}@media(max-width:900px){.cs-library-grid{grid-template-columns:repeat(2,1fr)}.cs-library-shell{width:calc(100% - 36px);max-width:1440px}}@media(max-width:600px){.cs-library-grid{grid-template-columns:1fr}.cs-library-gate{padding:100px 20px}.cs-library-form__row{display:block;border:0}.cs-library-form input,.cs-library-form button{width:100%}.cs-library-form input{border-bottom:2px solid var(--aqua)}.cs-library-hero{padding:70px 0 85px}.cs-library-heading{align-items:start;gap:15px;flex-direction:column}}

/* Editorial archive hero */
.cs-library-hero{isolation:isolate;padding:clamp(70px,8vw,125px) 0}.cs-library-hero:before{content:"";position:absolute;z-index:-2;inset:0;background:radial-gradient(circle at 18% 110%,rgba(94,226,209,.16),transparent 38%),linear-gradient(115deg,rgba(255,255,255,.025),transparent 45%)}.cs-library-hero .cs-library-orbit{z-index:-1}.cs-library-hero__layout{display:grid;grid-template-columns:minmax(0,.86fr) minmax(30rem,1.14fr);gap:clamp(60px,8vw,135px);align-items:center}.cs-library-hero__copy{position:relative;z-index:2}.cs-library-hero .cs-library-kicker{display:flex;align-items:center;gap:12px;margin:0 0 30px;color:rgba(255,255,255,.58)}.cs-library-hero .cs-library-kicker span{color:var(--aqua)}.cs-library-hero .cs-library-kicker i{display:block;width:42px;height:1px;background:rgba(255,255,255,.26)}.cs-library-hero h1{max-width:9ch;margin:0;color:#fff!important;font-size:clamp(64px,6.4vw,116px);font-weight:600;letter-spacing:-.065em;line-height:.84}.cs-library-hero h1 em{color:var(--orange);font-style:normal}.cs-library-hero .cs-library-hero__copy>p:last-of-type{max-width:620px;margin:34px 0 0;color:#ccd4e2;font-size:clamp(18px,1.45vw,24px);line-height:1.55}.cs-library-hero__cta{display:inline-flex;align-items:center;gap:32px;margin-top:42px;padding:16px 18px 16px 22px;color:#fff!important;background:var(--orange);font-size:12px;font-weight:800;letter-spacing:.09em;text-decoration:none;text-transform:uppercase;transition:transform .25s ease,background .25s ease}.cs-library-hero__cta b{display:grid;place-items:center;width:34px;height:34px;color:var(--navy);background:#fff;font-size:17px}.cs-library-hero__cta:hover{background:#f04f21;transform:translateY(-4px)}.cs-library-hero__mosaic{position:relative;display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:auto 1fr 1fr;gap:10px;height:clamp(470px,49vw,650px);min-width:0}.cs-library-hero__mosaic>p{grid-column:1/-1;display:flex;justify-content:space-between;margin:0 0 4px;color:rgba(255,255,255,.55);font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.cs-library-hero__mosaic>p span{color:var(--aqua)}.cs-library-hero__tile{position:relative;display:block;min-width:0;overflow:hidden;background:#273653}.cs-library-hero__tile--1{grid-row:2/4}.cs-library-hero__tile img{width:100%;height:100%;display:block;object-fit:cover;filter:saturate(.82);transition:transform .65s cubic-bezier(.22,1,.36,1),filter .35s ease}.cs-library-hero__tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(9,17,39,.9))}.cs-library-hero__tile:hover img{filter:saturate(1);transform:scale(1.045)}.cs-library-hero__tile>span{position:absolute;z-index:2;left:20px;right:20px;bottom:18px;color:#fff;font-size:clamp(14px,1.1vw,18px);font-weight:600;line-height:1.15}.cs-library-hero__tile>span i{display:block;margin-bottom:8px;color:var(--aqua);font-size:10px;font-style:normal;letter-spacing:.15em}.cs-library-index{scroll-margin-top:30px}
@media(max-width:1050px){.cs-library-hero__layout{grid-template-columns:1fr;gap:55px}.cs-library-hero__copy{max-width:760px}.cs-library-hero__mosaic{height:580px}.cs-library-hero h1{font-size:clamp(68px,11vw,104px)}}
@media(max-width:600px){.cs-library-hero{padding:60px 0 70px}.cs-library-hero .cs-library-kicker{align-items:flex-start;flex-wrap:wrap}.cs-library-hero .cs-library-kicker i{display:none}.cs-library-hero h1{font-size:clamp(55px,18vw,82px)}.cs-library-hero__mosaic{grid-template-columns:1fr 1fr;height:440px}.cs-library-hero__tile--1{grid-column:1/-1;grid-row:2}.cs-library-hero__tile--2,.cs-library-hero__tile--3{grid-row:3}.cs-library-hero__tile>span{left:13px;right:13px;bottom:12px;font-size:12px}}

/* Animated service-area filter */
.cs-library-heading p,
.cs-library-heading span {
	margin: 0;
}
.cs-library-results {
	color: #657087;
	font-weight: 700;
	letter-spacing: .08em;
}
.cs-library-filter {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	margin: 0 0 42px;
	padding: clamp(24px, 3vw, 38px);
	background:
		radial-gradient(circle at 92% -30%, rgba(94, 226, 209, .24), transparent 42%),
		var(--navy);
	color: #fff;
	animation: cs-filter-arrive .65s cubic-bezier(.22, 1, .36, 1) both;
}
.cs-library-filter[hidden] {
	display: none;
}
.cs-library-filter::after {
	content: "";
	position: absolute;
	z-index: -1;
	width: 230px;
	height: 230px;
	right: -100px;
	top: -145px;
	border: 1px solid rgba(255, 255, 255, .13);
	border-radius: 50%;
}
.cs-library-filter__label {
	margin: 0 0 18px;
	color: var(--aqua);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .16em;
	text-transform: uppercase;
}
.cs-library-filter__track {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.cs-library-filter__button {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	min-height: 48px;
	padding: 10px 12px 10px 18px;
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 999px;
	background: rgba(255, 255, 255, .06);
	color: #fff;
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	transition: color .25s ease, background .25s ease, border-color .25s ease, transform .25s ease;
}
.cs-library-filter__button span {
	display: grid;
	place-items: center;
	min-width: 27px;
	height: 27px;
	padding: 0 7px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .12);
	color: var(--aqua);
	font-size: 10px;
	font-weight: 800;
	transition: color .25s ease, background .25s ease;
}
.cs-library-filter__button:hover {
	border-color: rgba(94, 226, 209, .75);
	background: rgba(94, 226, 209, .1);
	transform: translateY(-2px);
}
.cs-library-filter__button:focus-visible {
	outline: 3px solid var(--aqua);
	outline-offset: 3px;
}
.cs-library-filter__button.is-active {
	border-color: var(--orange);
	background: var(--orange);
	box-shadow: 0 10px 28px rgba(255, 99, 55, .23);
}
.cs-library-filter__button.is-active span {
	background: #fff;
	color: var(--navy);
}
.cs-library-card[hidden] {
	display: none;
}
.cs-library-empty {
	margin: 42px 0 0;
	padding: 48px 28px;
	border: 1px solid #d7d2cb;
	color: #657087;
	font-size: clamp(18px, 2vw, 24px);
	text-align: center;
}
.cs-library-empty[hidden] {
	display: none;
}
@keyframes cs-filter-arrive {
	from { opacity: 0; transform: translateY(18px); }
	to { opacity: 1; transform: none; }
}
@media(max-width:600px) {
	.cs-library-filter {
		margin-right: -18px;
		margin-left: -18px;
		padding-right: 0;
		padding-left: 18px;
	}
	.cs-library-filter__track {
		flex-wrap: nowrap;
		overflow-x: auto;
		padding: 3px 18px 12px 0;
		scroll-snap-type: x proximity;
		scrollbar-width: thin;
	}
	.cs-library-filter__button {
		flex: 0 0 auto;
		scroll-snap-align: start;
	}
}
@media(prefers-reduced-motion:reduce) {
	.cs-library-filter {
		animation: none;
	}
	.cs-library-card,
	.cs-library-card__image img,
	.cs-library-filter__button,
	.cs-library-filter__button span {
		transition: none !important;
	}
}
