.entry-content-wrap,
.entry-content.single-content,
.single-entry .entry-content-wrap,
.page .entry-content-wrap {
padding: 0 !important;
margin: 0 !important;
}
#masthead {
--ceh-navy: #03295f;
--ceh-navy-dark: #021c43;
--ceh-navy-mute: rgba(3, 41, 95, 0.65);
--ceh-navy-line: rgba(3, 41, 95, 0.10);
--ceh-navy-soft: rgba(3, 41, 95, 0.05);
--ceh-crimson: #c7272a;
--ceh-crimson-90: rgba(199, 39, 42, 0.92);
--ceh-paper: #fefefe;
--ceh-text: #1a1a1a;
--ceh-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ceh-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ceh-shadow: 0 1px 0 rgba(3, 41, 95, 0.06), 0 8px 24px -16px rgba(3, 41, 95, 0.18);
--ceh-shadow-stuck: 0 1px 0 rgba(3, 41, 95, 0.08), 0 12px 32px -18px rgba(3, 41, 95, 0.28);
position: relative;
z-index: 999;
background: var(--ceh-paper) !important;
border-bottom: 1px solid var(--ceh-navy-line);
box-shadow: var(--ceh-shadow);
font-family: var(--ceh-font-sans);
transition: box-shadow 0.35s var(--ceh-ease);
}
#masthead .site-header-row-container-inner {
background: transparent !important;
}
#masthead .site-container {
max-width: 1480px !important;
padding-left: clamp(1rem, 2.5vw, 2rem) !important;
padding-right: clamp(1rem, 2.5vw, 2rem) !important;
}
#masthead .kadence-sticky-header.item-is-fixed {
background: var(--ceh-paper) !important;
backdrop-filter: none !important;
-webkit-backdrop-filter: none !important;
box-shadow: var(--ceh-shadow-stuck) !important;
}
#masthead .site-header-upper-inner-wrap,
#masthead .site-main-header-wrap,
#masthead .site-main-header-inner-wrap,
#masthead .site-main-header-inner-wrap[style] {
min-height: 104px !important;
height: 104px !important;
max-height: 104px !important;
transition:
min-height 0.55s var(--ceh-ease),
height 0.55s var(--ceh-ease),
max-height 0.55s var(--ceh-ease),
box-shadow 0.35s var(--ceh-ease) !important;
will-change: height, min-height, max-height;
}
#masthead .site-main-header-wrap.kadence-sticky-header.item-is-fixed:not(.item-at-start),
#masthead .site-main-header-wrap.kadence-sticky-header.item-is-fixed:not(.item-at-start) .site-main-header-inner-wrap,
#masthead .site-main-header-wrap.kadence-sticky-header.item-is-fixed:not(.item-at-start) .site-main-header-inner-wrap[style] {
min-height: 72px !important;
height: 72px !important;
max-height: 72px !important;
}
#masthead .site-header-upper-inner-wrap.child-is-fixed {
min-height: 104px !important;
height: 104px !important;
max-height: 104px !important;
}
#masthead .site-main-header-inner-wrap {
display: flex !important;
align-items: center !important;
justify-content: space-between !important;
gap: 1rem;
width: 100% !important;
}
#masthead .site-header-main-section-left,
#masthead .site-header-main-section-left-contents {
flex: 0 0 auto !important;
}
#masthead .site-header-main-section-center,
#masthead .site-header-main-section-center-contents,
#masthead .header-navigation {
flex: 1 1 auto !important;
display: flex !important;
justify-content: center !important;
}
#masthead .site-header-main-section-right,
#masthead .site-header-main-section-right-contents {
flex: 0 0 auto !important;
}
#masthead .site-header-row-container-inner,
#masthead .site-header-main-section-left,
#masthead .site-header-main-section-center,
#masthead .site-header-main-section-right {
min-height: 0 !important;
}
#masthead .site-header-item[data-section="title_tagline"],
#masthead .site-branding,
#masthead .site-branding .brand,
#mobile-header .site-header-item[data-section="title_tagline"],
#mobile-header .site-branding,
#mobile-header .site-branding .brand {
display: flex !important;
align-items: center !important;
overflow: visible !important;
max-height: none !important;
height: auto !important;
}
#masthead .site-branding .custom-logo,
#mobile-header .site-branding .custom-logo {
content: url('https://cardiology-experts.co.uk/wp-content/uploads/2026/10/cardiology-experts-logo-480.webp') !important;
width: auto !important;
object-fit: contain !important;
display: block !important;
transform-origin: left center;
transition:
height 0.55s var(--ceh-ease),
max-width 0.55s var(--ceh-ease),
transform 0.55s var(--ceh-ease) !important;
will-change: height, max-width, transform;
}
#masthead .site-branding .custom-logo {
height: 98px !important;
max-height: 98px !important;
min-height: 98px !important;
max-width: 280px !important;
}
#masthead .site-main-header-wrap.kadence-sticky-header.item-is-fixed:not(.item-at-start) .site-branding .custom-logo {
height: 62px !important;
max-height: 62px !important;
min-height: 62px !important;
max-width: 200px !important;
transform: scale(0.96);
}
#mobile-header .site-branding .custom-logo {
height: 64px !important;
max-height: 64px !important;
min-height: 64px !important;
max-width: 190px !important;
}
#masthead .site-branding {
margin-right: clamp(0.5rem, 1.5vw, 1.5rem);
}
#masthead .brand:focus-visible {
outline: 2px solid var(--ceh-crimson);
outline-offset: 4px;
border-radius: 4px;
}
#masthead #primary-menu {
display: flex !important;
align-items: center;
gap: 2px;
list-style: none;
margin: 0 auto !important;
padding: 0;
}
#masthead #primary-menu > li {
position: relative;
list-style: none;
}
#masthead #primary-menu > li > a {
display: inline-flex !important;
align-items: center;
gap: 4px;
padding: 9px 11px !important;
font-family: var(--ceh-font-sans);
font-size: 14px;
font-weight: 500;
letter-spacing: -0.005em;
color: var(--ceh-navy) !important;
text-decoration: none !important;
border-radius: 8px;
white-space: nowrap;
position: relative;
transition:
color 0.25s var(--ceh-ease),
background-color 0.25s var(--ceh-ease);
}
#masthead #primary-menu > li > a::after {
content: "";
position: absolute;
left: 11px;
right: 11px;
bottom: 4px;
height: 2px;
background: var(--ceh-crimson);
border-radius: 2px;
transform: scaleX(0);
transform-origin: center;
transition: transform 0.3s var(--ceh-ease);
}
#masthead #primary-menu > li:hover > a,
#masthead #primary-menu > li.current-menu-item > a,
#masthead #primary-menu > li.current_page_item > a,
#masthead #primary-menu > li.current-menu-ancestor > a,
#masthead #primary-menu > li.ce-mega-active > a {
color: var(--ceh-navy-dark) !important;
}
#masthead #primary-menu > li:hover > a::after,
#masthead #primary-menu > li.current-menu-item > a::after,
#masthead #primary-menu > li.current_page_item > a::after,
#masthead #primary-menu > li.current-menu-ancestor > a::after,
#masthead #primary-menu > li.ce-mega-active > a::after {
transform: scaleX(1);
}
#masthead #primary-menu > li > a:focus-visible {
outline: 2px solid var(--ceh-crimson);
outline-offset: 2px;
}
#masthead .nav-drop-title-wrap {
display: inline-flex;
align-items: center;
gap: 4px;
}
#masthead .dropdown-nav-toggle .kadence-svg-iconset {
display: inline-flex;
align-items: center;
}
#masthead .dropdown-nav-toggle svg {
width: 12px !important;
height: 12px !important;
color: var(--ceh-navy-mute);
transition:
transform 0.3s var(--ceh-ease),
color 0.25s var(--ceh-ease);
}
#masthead #primary-menu > li:hover .dropdown-nav-toggle svg,
#masthead #primary-menu > li.ce-mega-active .dropdown-nav-toggle svg {
transform: rotate(180deg);
color: var(--ceh-crimson);
}
@media (min-width: 1025px) {
#masthead .dropdown-nav-special-toggle {
display: none !important;
}
}
#masthead .header-button {
display: inline-flex !important;
align-items: center;
justify-content: center;
gap: 8px;
padding: 11px 20px !important;
font-family: var(--ceh-font-sans) !important;
font-size: 13.5px !important;
font-weight: 500 !important;
letter-spacing: -0.005em;
line-height: 1 !important;
white-space: nowrap;
background: var(--ceh-crimson) !important;
color: var(--ceh-paper) !important;
border: 1px solid transparent !important;
border-radius: 8px !important;
text-decoration: none !important;
box-shadow:
0 1px 0 rgba(255, 255, 255, 0.15) inset,
0 6px 16px -8px var(--ceh-crimson-90),
0 2px 4px rgba(3, 41, 95, 0.06);
transition:
transform 0.3s var(--ceh-ease),
background 0.25s var(--ceh-ease),
box-shadow 0.3s var(--ceh-ease);
}
#masthead .header-button:hover,
#masthead .header-button:focus-visible {
background: #b21f22 !important;
transform: translateY(-1px);
box-shadow:
0 1px 0 rgba(255, 255, 255, 0.18) inset,
0 12px 24px -10px var(--ceh-crimson-90),
0 4px 8px rgba(3, 41, 95, 0.08);
}
#masthead .header-button:focus-visible {
outline: 2px solid var(--ceh-navy);
outline-offset: 3px;
}
#masthead .header-button-wrap {
margin-left: clamp(0.5rem, 1.5vw, 1.25rem);
}
#masthead .header-button-inner-wrap {
padding: 0 !important;
}
#masthead .header-navigation .sub-menu {
background: var(--ceh-paper) !important;
border: 1px solid var(--ceh-navy-line) !important;
border-radius: 12px !important;
box-shadow:
0 25px 60px rgba(2, 10, 25, 0.15),
0 0 0 1px rgba(255, 255, 255, 0.5) inset !important;
padding: 8px !important;
margin-top: 6px !important;
}
#masthead .header-navigation .sub-menu li a {
padding: 9px 14px !important;
font-size: 14px !important;
font-weight: 500 !important;
color: var(--ceh-navy) !important;
border-radius: 6px !important;
transition:
background-color 0.2s var(--ceh-ease),
color 0.2s var(--ceh-ease) !important;
}
#masthead .header-navigation .sub-menu li a:hover {
background: var(--ceh-navy-soft) !important;
color: var(--ceh-navy-dark) !important;
}
#mobile-toggle {
background: transparent !important;
border: 1px solid var(--ceh-navy-line) !important;
border-radius: 8px !important;
padding: 8px !important;
color: var(--ceh-navy) !important;
transition:
background 0.25s var(--ceh-ease),
border-color 0.25s var(--ceh-ease);
}
#mobile-toggle:hover,
#mobile-toggle:focus-visible {
background: var(--ceh-navy-soft) !important;
border-color: var(--ceh-navy) !important;
}
#mobile-toggle:focus-visible {
outline: 2px solid var(--ceh-crimson);
outline-offset: 2px;
}
#mobile-toggle svg {
width: 22px !important;
height: 22px !important;
}
#mobile-header {
background: var(--ceh-paper) !important;
border-bottom: 1px solid var(--ceh-navy-line);
box-shadow: var(--ceh-shadow);
}
#masthead .main-navigation .header-menu-container > ul > li > a {
text-transform: none !important;
}
.ce-hero,
.ce-hero * {
box-sizing: border-box;
}
.ce-hero {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
margin-top: 0 !important;
margin-bottom: 0;
scroll-margin-top: 104px;
}
.ce-hero {
--ce-navy: #03295f;
--ce-navy-92: rgba(3, 41, 95, 0.92);
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-60: rgba(3, 41, 95, 0.60);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-08: rgba(3, 41, 95, 0.08);
--ce-navy-04: rgba(3, 41, 95, 0.04);
--ce-crimson: #c7272a;
--ce-crimson-90: rgba(199, 39, 42, 0.92);
--ce-crimson-15: rgba(199, 39, 42, 0.15);
--ce-white: #fefefe;
--ce-radius-sm: 8px;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-hero-pulse-y: 72%;
--ce-hero-pulse-height: 32%;
--ce-hero-pulse-opacity: 0.85;
--ce-hero-pulse-fade: 50%;
--ce-hero-min-height: auto;
--ce-hero-photo-opacity: 1;
--ce-hero-photo-offset-x: 20%;
--ce-hero-photo-width: 60%;
--ce-hero-photo-tint: 0.55;
--ce-hero-photo-saturation: 0.85;
--ce-hero-content-offset: -20px;
--ce-pad-y: clamp(3.5rem, 6vw, 6rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
position: relative;
isolation: isolate;
overflow: hidden;
min-height: var(--ce-hero-min-height);
padding: var(--ce-pad-y) 0;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
body.home .ce-hero,
body.front-page .ce-hero,
body.page .ce-hero:first-of-type {
margin-top: 0 !important;
}
.ce-hero__bg {
position: absolute;
inset: 0;
z-index: -3;
pointer-events: none;
overflow: hidden;
}
.ce-hero__mesh {
position: absolute;
inset: 0;
background:
radial-gradient(ellipse 75% 60% at 5% 95%, var(--ce-navy-08) 0%, transparent 65%),
radial-gradient(ellipse 50% 40% at 30% 50%, var(--ce-navy-04) 0%, transparent 70%),
radial-gradient(ellipse 60% 80% at 92% 50%, rgba(3, 41, 95, 0.06) 0%, transparent 65%),
var(--ce-white);
}
.ce-hero__pulse-wrap {
position: absolute;
left: 0;
right: 0;
top: var(--ce-hero-pulse-y);
height: var(--ce-hero-pulse-height);
transform: translateY(-50%);
opacity: var(--ce-hero-pulse-opacity);
-webkit-mask-image: linear-gradient(to right, #000 0%, #000 25%, rgba(0,0,0,0.35) var(--ce-hero-pulse-fade), transparent 72%);
mask-image: linear-gradient(to right, #000 0%, #000 25%, rgba(0,0,0,0.35) var(--ce-hero-pulse-fade), transparent 72%);
}
.ce-hero__pulse {
width: 100%;
height: 100%;
display: block;
}
.ce-hero__pulse-line,
.ce-hero__pulse-glow {
stroke-dasharray: 3200;
stroke-dashoffset: 3200;
}
.ce-hero.is-ready .ce-hero__pulse-line,
.ce-hero.is-ready .ce-hero__pulse-glow {
animation:
ce-hero-ecg-draw 4.5s var(--ce-ease) 0.4s forwards,
ce-hero-ecg-loop 9s linear 5.2s infinite;
}
@keyframes ce-hero-ecg-draw {
to {
stroke-dashoffset: 0;
}
}
@keyframes ce-hero-ecg-loop {
0% {
stroke-dashoffset: 0;
}
49.999% {
stroke-dashoffset: -3200;
}
50% {
stroke-dashoffset: 3200;
}
100% {
stroke-dashoffset: 0;
}
}
.ce-hero__visual {
position: absolute;
top: 0;
right: 0;
bottom: 0;
width: var(--ce-hero-photo-width);
max-width: 880px;
z-index: -1;
pointer-events: none;
overflow: hidden;
opacity: var(--ce-hero-photo-opacity);
}
.ce-hero__visual-wash {
position: absolute;
inset: 0;
background: linear-gradient(
to right,
transparent 0%,
rgba(3, 41, 95, 0.015) 25%,
rgba(3, 41, 95, 0.04) 45%,
rgba(3, 41, 95, 0.07) 65%,
rgba(3, 41, 95, 0.10) 85%,
rgba(3, 41, 95, 0.13) 100%
);
}
.ce-hero__visual-inner {
position: absolute;
inset: 0;
transform: scale(1.02);
opacity: 0;
transition: opacity 1.2s var(--ce-ease);
will-change: opacity;
}
.ce-hero.is-ready .ce-hero__visual-inner.is-visible {
opacity: 1;
}
.ce-hero__photo {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center right;
transform: translateX(var(--ce-hero-photo-offset-x));
-webkit-mask-image:
linear-gradient(to right, transparent 0%, rgba(0,0,0,0.02) 5%, rgba(0,0,0,0.08) 14%, rgba(0,0,0,0.20) 24%, rgba(0,0,0,0.38) 35%, rgba(0,0,0,0.58) 47%, rgba(0,0,0,0.78) 60%, rgba(0,0,0,0.92) 75%, #000 90%, #000 100%),
linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.6) 6%, #000 14%, #000 86%, rgba(0,0,0,0.6) 94%, transparent 100%);
mask-image:
linear-gradient(to right, transparent 0%, rgba(0,0,0,0.02) 5%, rgba(0,0,0,0.08) 14%, rgba(0,0,0,0.20) 24%, rgba(0,0,0,0.38) 35%, rgba(0,0,0,0.58) 47%, rgba(0,0,0,0.78) 60%, rgba(0,0,0,0.92) 75%, #000 90%, #000 100%),
linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.6) 6%, #000 14%, #000 86%, rgba(0,0,0,0.6) 94%, transparent 100%);
-webkit-mask-composite: source-in;
mask-composite: intersect;
filter: saturate(var(--ce-hero-photo-saturation)) contrast(1.12) brightness(1.08);
}
.ce-hero__visual::after {
content: '';
position: absolute;
inset: 0;
opacity: var(--ce-hero-photo-tint);
background:
linear-gradient(115deg, rgba(3, 41, 95, 0.42) 0%, rgba(3, 41, 95, 0.20) 35%, rgba(3, 41, 95, 0.08) 60%, rgba(3, 41, 95, 0.05) 100%),
radial-gradient(ellipse at 100% 50%, rgba(199, 39, 42, 0.06), transparent 60%);
pointer-events: none;
-webkit-mask-image: linear-gradient(to right, transparent 0%, transparent 22%, rgba(0,0,0,0.05) 35%, rgba(0,0,0,0.25) 55%, rgba(0,0,0,0.6) 75%, #000 95%);
mask-image: linear-gradient(to right, transparent 0%, transparent 22%, rgba(0,0,0,0.05) 35%, rgba(0,0,0,0.25) 55%, rgba(0,0,0,0.6) 75%, #000 95%);
}
.ce-hero__container {
position: relative;
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-hero__layout {
display: grid;
grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
gap: clamp(2rem, 5vw, 4rem);
align-items: center;
}
.ce-hero__content {
position: relative;
max-width: 38rem;
margin-top: var(--ce-hero-content-offset);
}
.ce-hero__heading {
margin: 0 0 clamp(1.25rem, 2.5vw, 1.75rem);
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(2rem, 5.4vw, 4.4rem);
line-height: 1.04;
letter-spacing: -0.035em;
color: var(--ce-navy);
word-wrap: break-word;
overflow-wrap: break-word;
}
.ce-hero__heading-row {
display: block;
}
.ce-hero__heading-row--accent {
margin-top: 0.18em;
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
font-size: 0.75em;
letter-spacing: -0.02em;
}
.ce-hero__heading-em {
color: var(--ce-navy-60);
}
.ce-hero__heading-strong {
position: relative;
color: var(--ce-crimson);
font-style: italic;
font-weight: 500;
white-space: nowrap;
}
.ce-hero__heading-strong::after {
content: '';
position: absolute;
left: 0;
right: 0;
bottom: 0.05em;
height: 0.42em;
background: var(--ce-crimson-15);
z-index: -1;
border-radius: 2px;
transform: skewX(-6deg);
}
.ce-hero__sub {
max-width: 36rem;
margin: 0 0 clamp(1.75rem, 3vw, 2.5rem);
font-size: clamp(0.9375rem, 1.2vw, 1.1875rem);
line-height: 1.6;
color: var(--ce-navy-70);
font-weight: 400;
}
.ce-hero__cta-group {
display: flex;
flex-wrap: wrap;
gap: 0.875rem;
margin-bottom: clamp(2rem, 3.5vw, 3rem);
}
.ce-hero__cta {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.75rem;
padding: 0.95rem 1.625rem;
border: 1px solid transparent;
border-radius: var(--ce-radius-sm);
font-family: inherit;
text-decoration: none;
cursor: pointer;
transition:
transform 0.4s var(--ce-ease),
background-color 0.3s var(--ce-ease),
border-color 0.3s var(--ce-ease),
color 0.3s var(--ce-ease),
box-shadow 0.4s var(--ce-ease);
will-change: transform;
}
.ce-hero__cta-label {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 2px;
line-height: 1.1;
}
.ce-hero__cta-text {
font-size: 0.9375rem;
font-weight: 600;
letter-spacing: -0.005em;
}
.ce-hero__cta-meta {
font-size: 0.6875rem;
font-weight: 500;
letter-spacing: 0.04em;
text-transform: uppercase;
opacity: 0.75;
line-height: 1.2;
}
.ce-hero__cta--primary {
background: var(--ce-crimson);
color: var(--ce-white);
box-shadow:
0 1px 0 rgba(255, 255, 255, 0.15) inset,
0 8px 20px -8px var(--ce-crimson-90),
0 2px 4px var(--ce-navy-08);
}
.ce-hero__cta--primary:hover,
.ce-hero__cta--primary:focus-visible {
transform: translateY(-2px);
background: #b21f22;
box-shadow:
0 1px 0 rgba(255, 255, 255, 0.18) inset,
0 14px 28px -10px var(--ce-crimson-90),
0 4px 8px var(--ce-navy-08);
}
.ce-hero__cta--secondary {
background: rgba(254, 254, 254, 0.7);
color: var(--ce-navy);
border-color: var(--ce-navy-15);
backdrop-filter: blur(6px);
-webkit-backdrop-filter: blur(6px);
}
.ce-hero__cta--secondary:hover,
.ce-hero__cta--secondary:focus-visible {
transform: translateY(-2px);
background: var(--ce-navy);
color: var(--ce-white);
border-color: var(--ce-navy);
box-shadow: 0 12px 24px -10px var(--ce-navy-40);
}
.ce-hero__cta:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: 3px;
}
.ce-hero__cta-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 18px;
height: 18px;
transition: transform 0.4s var(--ce-ease);
flex-shrink: 0;
}
.ce-hero__cta-icon svg {
width: 100%;
height: 100%;
}
.ce-hero__cta--primary:hover .ce-hero__cta-icon:not(.ce-hero__cta-icon--lead) {
transform: translateX(4px);
}
.ce-hero__trust {
display: grid;
grid-template-columns: repeat(3, minmax(0, auto));
justify-content: start;
column-gap: clamp(2rem, 5vw, 3.5rem);
row-gap: 1.25rem;
margin: 0;
padding: 1.5rem 0 0;
list-style: none;
border-top: 1px solid var(--ce-navy-15);
}
.ce-hero__trust-item {
display: flex;
flex-direction: column;
gap: 0.25rem;
}
.ce-hero__trust-num {
font-size: clamp(1.125rem, 1.8vw, 1.5rem);
font-weight: 600;
letter-spacing: -0.02em;
color: var(--ce-navy);
line-height: 1.1;
}
.ce-hero__trust-label {
font-size: 0.75rem;
font-weight: 500;
color: var(--ce-navy-60);
line-height: 1.3;
}
[data-animate] {
opacity: 0;
transform: translateY(22px);
transition:
opacity 0.9s var(--ce-ease),
transform 0.9s var(--ce-ease);
}
[data-animate="visual"] {
transform: none;
transition: opacity 1.2s var(--ce-ease);
}
.ce-hero.is-ready [data-animate].is-visible {
opacity: 1;
transform: translate(0, 0);
}
@media (max-width: 1380px) {
#masthead .site-header-upper-inner-wrap,
#masthead .site-main-header-wrap,
#masthead .site-main-header-inner-wrap,
#masthead .site-main-header-inner-wrap[style] {
min-height: 96px !important;
height: 96px !important;
max-height: 96px !important;
}
#masthead .site-header-upper-inner-wrap.child-is-fixed {
min-height: 96px !important;
height: 96px !important;
max-height: 96px !important;
}
#masthead .site-main-header-wrap.kadence-sticky-header.item-is-fixed:not(.item-at-start),
#masthead .site-main-header-wrap.kadence-sticky-header.item-is-fixed:not(.item-at-start) .site-main-header-inner-wrap,
#masthead .site-main-header-wrap.kadence-sticky-header.item-is-fixed:not(.item-at-start) .site-main-header-inner-wrap[style] {
min-height: 68px !important;
height: 68px !important;
max-height: 68px !important;
}
#masthead #primary-menu > li > a {
padding: 9px 9px !important;
font-size: 13.5px;
}
#masthead .site-branding .custom-logo {
height: 86px !important;
max-height: 86px !important;
min-height: 86px !important;
max-width: 240px !important;
}
}
@media (max-width: 1200px) {
#masthead .site-header-upper-inner-wrap,
#masthead .site-main-header-wrap,
#masthead .site-main-header-inner-wrap,
#masthead .site-main-header-inner-wrap[style] {
min-height: 86px !important;
height: 86px !important;
max-height: 86px !important;
}
#masthead .site-header-upper-inner-wrap.child-is-fixed {
min-height: 86px !important;
height: 86px !important;
max-height: 86px !important;
}
#masthead .site-main-header-wrap.kadence-sticky-header.item-is-fixed:not(.item-at-start),
#masthead .site-main-header-wrap.kadence-sticky-header.item-is-fixed:not(.item-at-start) .site-main-header-inner-wrap,
#masthead .site-main-header-wrap.kadence-sticky-header.item-is-fixed:not(.item-at-start) .site-main-header-inner-wrap[style] {
min-height: 64px !important;
height: 64px !important;
max-height: 64px !important;
}
#masthead #primary-menu > li > a {
padding: 9px 8px !important;
font-size: 13px;
}
#masthead .header-button {
padding: 10px 14px !important;
font-size: 13px !important;
}
#masthead .site-branding .custom-logo {
height: 76px !important;
max-height: 76px !important;
min-height: 76px !important;
max-width: 215px !important;
}
.ce-hero {
--ce-hero-content-offset: -10px;
}
.ce-hero__visual {
width: 55%;
}
}
@media (max-width: 1024px) {
.ce-hero {
--ce-hero-content-offset: 0;
--ce-hero-photo-width: 50%;
}
.ce-hero__visual {
display: none;
}
.ce-hero__layout {
grid-template-columns: 1fr;
}
.ce-hero__content {
max-width: 100%;
}
}
@media (max-width: 540px) {
.ce-hero__trust {
grid-template-columns: repeat(2, minmax(0, auto));
column-gap: 2rem;
}
}
@media (max-width: 420px) {
.ce-hero__cta {
width: 100%;
}
.ce-hero__cta-group {
flex-direction: column;
align-items: stretch;
}
.ce-hero__heading-strong {
white-space: normal;
}
.ce-hero__trust {
column-gap: 1.5rem;
}
.ce-hero__trust-num {
font-size: 1.0625rem;
}
}
@media (max-width: 360px) {
.ce-hero__trust {
grid-template-columns: 1fr 1fr;
column-gap: 1rem;
}
}
@media (prefers-reduced-motion: reduce) {
#masthead,
#masthead *,
#masthead *::before,
#masthead *::after,
.ce-hero *,
.ce-hero *::before,
.ce-hero *::after {
animation-duration: 0.001ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.001ms !important;
}
[data-animate] {
opacity: 1;
transform: none;
}
}
.ce-authority,
.ce-authority * {
box-sizing: border-box;
}
.ce-authority {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
margin-top: 0;
margin-bottom: 0;
--ce-navy: #03295f;
--ce-navy-deep: #021c43;
--ce-navy-soft: #0a3573;
--ce-navy-92: rgba(3, 41, 95, 0.92);
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-60: rgba(3, 41, 95, 0.60);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-08: rgba(3, 41, 95, 0.08);
--ce-navy-04: rgba(3, 41, 95, 0.04);
--ce-crimson: #c7272a;
--ce-crimson-soft: #e8444a;
--ce-crimson-90: rgba(199, 39, 42, 0.92);
--ce-crimson-15: rgba(199, 39, 42, 0.15);
--ce-white: #fefefe;
--ce-white-90: rgba(254, 254, 254, 0.92);
--ce-white-70: rgba(254, 254, 254, 0.72);
--ce-white-50: rgba(254, 254, 254, 0.50);
--ce-white-25: rgba(254, 254, 254, 0.25);
--ce-white-12: rgba(254, 254, 254, 0.12);
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3.5rem, 6vw, 6rem);
--ce-pad-x: clamp(1.5rem, 4vw, 3rem);
--ce-max: 1320px;
position: relative;
isolation: isolate;
overflow: hidden;
font-family: var(--ce-font-sans);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.ce-authority__top-accent {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 1px;
background: linear-gradient(90deg,
transparent 0%,
var(--ce-navy-15) 25%,
var(--ce-crimson) 50%,
var(--ce-white-25) 75%,
transparent 100%);
z-index: 5;
pointer-events: none;
}
.ce-authority__inner {
display: grid;
grid-template-columns: 1.1fr 1fr;
align-items: center;
min-height: 540px;
position: relative;
}
.ce-authority__pane {
position: relative;
padding: var(--ce-pad-y) var(--ce-pad-x);
overflow: hidden;
align-self: stretch;
display: flex;
align-items: center;
}
.ce-authority__pane-inner {
width: 100%;
}
.ce-authority__pane--statement {
background:
radial-gradient(ellipse 60% 80% at 0% 50%, rgba(199, 39, 42, 0.04) 0%, transparent 60%),
radial-gradient(ellipse 70% 50% at 100% 100%, var(--ce-navy-04) 0%, transparent 65%),
var(--ce-white);
color: var(--ce-navy);
padding-right: clamp(3rem, 5vw, 5rem);
padding-left: max(var(--ce-pad-x), calc((100vw - var(--ce-max)) / 2 + var(--ce-pad-x)));
}
.ce-authority__pane--statement::before {
content: '';
position: absolute;
top: 0;
left: 0;
bottom: 0;
width: 100px;
background-image: repeating-linear-gradient(
135deg,
transparent 0,
transparent 14px,
rgba(3, 41, 95, 0.025) 14px,
rgba(3, 41, 95, 0.025) 15px
);
pointer-events: none;
}
.ce-authority__pane--metrics {
background:
radial-gradient(ellipse 60% 80% at 100% 0%, rgba(199, 39, 42, 0.18) 0%, transparent 60%),
radial-gradient(ellipse 70% 60% at 20% 100%, rgba(10, 53, 115, 0.55) 0%, transparent 65%),
linear-gradient(135deg, var(--ce-navy) 0%, var(--ce-navy-deep) 100%);
color: var(--ce-white-90);
padding-right: max(var(--ce-pad-x), calc((100vw - var(--ce-max)) / 2 + var(--ce-pad-x)));
padding-left: clamp(3rem, 5vw, 5rem);
clip-path: polygon(6% 0, 100% 0, 100% 100%, 0% 100%);
margin-left: -3vw;
}
.ce-authority__pane--metrics::before {
content: '';
position: absolute;
inset: 0;
background-image: radial-gradient(circle at 1px 1px, rgba(254, 254, 254, 0.05) 1px, transparent 0);
background-size: 24px 24px;
pointer-events: none;
opacity: 0.6;
}
.ce-authority__heading {
margin: 0 0 clamp(1.75rem, 3vw, 2.25rem);
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.875rem, 3.6vw, 3.25rem);
line-height: 1.05;
letter-spacing: -0.03em;
color: var(--ce-navy);
word-wrap: break-word;
overflow-wrap: break-word;
}
.ce-authority__copy {
margin: 0 0 clamp(1.5rem, 2.5vw, 2rem);
font-size: clamp(0.9375rem, 1.05vw, 1.0625rem);
line-height: 1.6;
color: var(--ce-navy-70);
max-width: 32rem;
}
.ce-authority__cases {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 0.5rem;
}
.ce-authority__case {
margin: 0;
padding: 0;
}
.ce-authority__case-link {
display: flex;
align-items: center;
gap: 0.875rem;
padding: 0.625rem 0.75rem;
margin: 0 -0.75rem;
border-radius: 8px;
font-size: 0.9375rem;
font-weight: 500;
color: var(--ce-navy);
line-height: 1.45;
text-decoration: none;
transition:
background-color 0.25s var(--ce-ease),
transform 0.25s var(--ce-ease);
}
.ce-authority__case-link:hover,
.ce-authority__case-link:focus-visible {
background: rgba(3, 41, 95, 0.04);
color: var(--ce-navy-deep);
}
.ce-authority__case-link:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: 2px;
}
.ce-authority__case-mark {
flex-shrink: 0;
display: inline-flex;
align-items: center;
justify-content: center;
width: 24px;
height: 24px;
border-radius: 50%;
background: var(--ce-crimson);
color: var(--ce-white);
transition: transform 0.3s var(--ce-ease);
}
.ce-authority__case-mark svg {
width: 12px;
height: 12px;
}
.ce-authority__case-link:hover .ce-authority__case-mark {
transform: scale(1.1);
}
.ce-authority__case-text {
flex-grow: 1;
}
.ce-authority__case-arrow {
flex-shrink: 0;
display: inline-flex;
align-items: center;
justify-content: center;
width: 14px;
height: 14px;
color: var(--ce-crimson);
opacity: 0;
transform: translateX(-4px);
transition: opacity 0.25s var(--ce-ease), transform 0.25s var(--ce-ease);
}
.ce-authority__case-arrow svg {
width: 100%;
height: 100%;
}
.ce-authority__case-link:hover .ce-authority__case-arrow,
.ce-authority__case-link:focus-visible .ce-authority__case-arrow {
opacity: 1;
transform: translateX(0);
}
.ce-authority__pulse {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 30px;
pointer-events: none;
opacity: 0.55;
z-index: 1;
}
.ce-authority__pulse svg {
width: 100%;
height: 100%;
display: block;
}
.ce-authority__metrics {
list-style: none;
margin: 0 0 clamp(1.5rem, 2.5vw, 2rem);
padding: 0;
display: grid;
grid-template-columns: 1fr 1fr;
gap: clamp(1.75rem, 3vw, 2.5rem) clamp(1.25rem, 2vw, 2rem);
position: relative;
z-index: 2;
}
.ce-authority__metric {
position: relative;
display: flex;
flex-direction: column;
gap: 0.5rem;
padding: 0 0 0 1.125rem;
}
.ce-authority__metric::before {
content: '';
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 2px;
background: var(--ce-crimson);
border-radius: 2px;
opacity: 0.85;
}
.ce-authority__metric-num {
display: inline-flex;
align-items: baseline;
gap: 0.05em;
font-family: var(--ce-font-serif);
font-weight: 500;
font-size: clamp(2rem, 3.6vw, 3rem);
line-height: 1;
letter-spacing: -0.02em;
color: var(--ce-white);
}
.ce-authority__metric-plus {
font-family: var(--ce-font-sans);
font-weight: 500;
font-size: 0.55em;
color: var(--ce-crimson-soft);
margin-left: 0.05em;
}
.ce-authority__metric-label {
font-size: 0.8125rem;
font-weight: 500;
line-height: 1.45;
color: var(--ce-white-70);
letter-spacing: -0.005em;
}
.ce-authority__cta {
display: inline-flex;
align-items: center;
gap: 0.5rem;
padding: 0.75rem 1.25rem;
border: 1px solid var(--ce-white-25);
border-radius: 8px;
font-size: 0.875rem;
font-weight: 500;
letter-spacing: -0.005em;
color: var(--ce-white);
text-decoration: none;
background: transparent;
position: relative;
z-index: 2;
transition:
background-color 0.3s var(--ce-ease),
border-color 0.3s var(--ce-ease),
color 0.3s var(--ce-ease),
transform 0.3s var(--ce-ease);
}
.ce-authority__cta:hover,
.ce-authority__cta:focus-visible {
background: var(--ce-crimson);
border-color: var(--ce-crimson);
color: var(--ce-white);
transform: translateY(-1px);
}
.ce-authority__cta:focus-visible {
outline: 2px solid var(--ce-white);
outline-offset: 3px;
}
.ce-authority__cta svg {
width: 14px;
height: 14px;
transition: transform 0.25s var(--ce-ease);
}
.ce-authority__cta:hover svg {
transform: translateX(3px);
}
.ce-authority__heading,
.ce-authority__cases,
.ce-authority__metrics,
.ce-authority__cta {
opacity: 0;
transform: translateY(22px);
animation: ce-authority-fade-up 0.9s var(--ce-ease) forwards;
}
.ce-authority__heading { animation-delay: 0s; }
.ce-authority__cases   { animation-delay: 0.15s; }
.ce-authority__metrics { animation-delay: 0.1s; }
.ce-authority__cta     { animation-delay: 0.25s; }
@keyframes ce-authority-fade-up {
to {
opacity: 1;
transform: translateY(0);
}
}
@media (prefers-reduced-motion: reduce) {
.ce-authority *,
.ce-authority *::before,
.ce-authority *::after {
animation-duration: 0.001ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.001ms !important;
}
.ce-authority__heading,
.ce-authority__cases,
.ce-authority__metrics,
.ce-authority__cta {
opacity: 1;
transform: none;
}
}
@media (max-width: 1100px) {
.ce-authority__inner {
grid-template-columns: 1fr 1fr;
min-height: 480px;
}
.ce-authority__pane--metrics {
clip-path: polygon(4% 0, 100% 0, 100% 100%, 0% 100%);
margin-left: -2vw;
}
}
@media (max-width: 900px) {
.ce-authority__inner {
grid-template-columns: 1fr;
min-height: auto;
}
.ce-authority__pane {
padding-left: var(--ce-pad-x);
padding-right: var(--ce-pad-x);
}
.ce-authority__pane--statement {
padding-bottom: clamp(2.5rem, 4vw, 4rem);
}
.ce-authority__pane--metrics {
clip-path: polygon(0 4%, 100% 0, 100% 100%, 0 100%);
margin-left: 0;
margin-top: -2vw;
padding-top: clamp(3.5rem, 6vw, 5rem);
}
}
@media (max-width: 600px) {
.ce-authority__metrics {
grid-template-columns: 1fr 1fr;
gap: 1.5rem 1.25rem;
}
.ce-authority__pane--metrics {
clip-path: polygon(0 3%, 100% 0, 100% 100%, 0 100%);
}
}
@media (max-width: 420px) {
.ce-authority__metrics {
grid-template-columns: 1fr;
gap: 1.25rem;
}
.ce-authority__heading {
font-size: clamp(1.625rem, 7vw, 2.125rem);
}
.ce-authority__pane {
padding-left: 1.25rem;
padding-right: 1.25rem;
}
}
.ce-services,
.ce-services * {
box-sizing: border-box;
}
.ce-services {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
margin-top: 0;
margin-bottom: 0;
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-50: rgba(3, 41, 95, 0.50);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-navy-04: rgba(3, 41, 95, 0.04);
--ce-crimson: #c7272a;
--ce-white: #fefefe;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(2rem, 3.5vw, 3rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
position: relative;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
padding: var(--ce-pad-y) 0;
}
.ce-services__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-services__header {
max-width: 44rem;
margin: 0 0 clamp(1.5rem, 2.5vw, 2rem);
}
.ce-services__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.75rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-services__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
flex-shrink: 0;
}
.ce-services__heading {
margin: 0 0 0.625rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-services__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-services__intro {
margin: 0;
font-size: clamp(0.875rem, 0.95vw, 1rem);
line-height: 1.55;
color: var(--ce-navy-70);
max-width: 38rem;
}
.ce-services__grid {
list-style: none;
margin: 0 0 clamp(1.25rem, 2vw, 1.75rem);
padding: 0;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: clamp(0.5rem, 0.875vw, 0.875rem);
}
.ce-services__tile {
margin: 0;
padding: 0;
background: var(--ce-white);
border: 1px solid var(--ce-navy-10);
border-radius: 4px;
transition:
border-color 0.3s var(--ce-ease),
transform 0.3s var(--ce-ease);
overflow: hidden;
position: relative;
}
.ce-services__tile::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 2px;
background: var(--ce-crimson);
transform: scaleX(0);
transform-origin: left center;
transition: transform 0.4s var(--ce-ease);
}
.ce-services__tile:hover {
border-color: var(--ce-navy);
transform: translateY(-2px);
}
.ce-services__tile:hover::before {
transform: scaleX(1);
}
.ce-services__tile-link {
display: flex;
flex-direction: column;
height: 100%;
padding: clamp(1rem, 1.4vw, 1.375rem) clamp(1rem, 1.25vw, 1.25rem);
text-decoration: none;
color: inherit;
}
.ce-services__tile-link:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: 3px;
border-radius: 4px;
}
.ce-services__tile-num {
display: inline-block;
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
font-size: 0.8125rem;
color: var(--ce-crimson);
margin-bottom: 0.625rem;
letter-spacing: 0.02em;
}
.ce-services__tile-title {
margin: 0 0 0.5rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(0.9375rem, 1.05vw, 1.0625rem);
line-height: 1.25;
letter-spacing: -0.015em;
color: var(--ce-navy);
}
.ce-services__tile-copy {
margin: 0 0 0.875rem;
font-size: 0.8125rem;
line-height: 1.5;
color: var(--ce-navy-70);
flex-grow: 1;
}
.ce-services__tile-cta {
display: inline-flex;
align-items: center;
gap: 0.3125rem;
margin-top: auto;
font-size: 0.75rem;
font-weight: 500;
color: var(--ce-crimson);
letter-spacing: 0.005em;
transition: gap 0.25s var(--ce-ease);
}
.ce-services__tile-cta svg {
width: 11px;
height: 11px;
transition: transform 0.25s var(--ce-ease);
}
.ce-services__tile:hover .ce-services__tile-cta {
gap: 0.5rem;
}
.ce-services__tile:hover .ce-services__tile-cta svg {
transform: translateX(2px);
}
.ce-services__footer {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
gap: 0.75rem 1.25rem;
padding-top: clamp(1rem, 1.75vw, 1.5rem);
border-top: 1px solid var(--ce-navy-15);
}
.ce-services__footer-text {
margin: 0;
font-size: 0.875rem;
color: var(--ce-navy-70);
line-height: 1.5;
}
.ce-services__footer-cta {
display: inline-flex;
align-items: center;
gap: 0.4375rem;
font-size: 0.8125rem;
font-weight: 500;
color: var(--ce-navy);
text-decoration: none;
padding: 0.375rem 0;
border-bottom: 1px solid var(--ce-navy);
transition:
color 0.3s var(--ce-ease),
border-color 0.3s var(--ce-ease),
gap 0.25s var(--ce-ease);
}
.ce-services__footer-cta svg {
width: 12px;
height: 12px;
transition: transform 0.25s var(--ce-ease);
}
.ce-services__footer-cta:hover,
.ce-services__footer-cta:focus-visible {
color: var(--ce-crimson);
border-color: var(--ce-crimson);
gap: 0.625rem;
}
.ce-services__footer-cta:hover svg,
.ce-services__footer-cta:focus-visible svg {
transform: translateX(3px);
}
.ce-services__footer-cta:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: 3px;
}
.ce-services__header,
.ce-services__grid,
.ce-services__footer {
opacity: 0;
transform: translateY(18px);
animation: ce-services-fade-up 0.7s var(--ce-ease) forwards;
}
.ce-services__header { animation-delay: 0s; }
.ce-services__grid   { animation-delay: 0.08s; }
.ce-services__footer { animation-delay: 0.2s; }
@keyframes ce-services-fade-up {
to {
opacity: 1;
transform: translateY(0);
}
}
@media (prefers-reduced-motion: reduce) {
.ce-services *,
.ce-services *::before,
.ce-services *::after {
animation-duration: 0.001ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.001ms !important;
}
.ce-services__header,
.ce-services__grid,
.ce-services__footer {
opacity: 1;
transform: none;
}
}
@media (max-width: 1100px) {
.ce-services__grid {
gap: 0.625rem;
}
}
@media (max-width: 900px) {
.ce-services__grid {
grid-template-columns: 1fr 1fr;
gap: 0.625rem;
}
}
@media (max-width: 640px) {
.ce-services__footer {
flex-direction: column;
align-items: flex-start;
}
}
@media (max-width: 480px) {
.ce-services__grid {
grid-template-columns: 1fr;
gap: 0.5rem;
}
}
.ce-speed,
.ce-speed * {
box-sizing: border-box;
}
.ce-speed {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
margin-top: 0;
margin-bottom: 0;
--ce-navy: #03295f;
--ce-crimson: #c7272a;
--ce-crimson-soft: #e8444a;
--ce-white: #fefefe;
--ce-white-90: rgba(254, 254, 254, 0.92);
--ce-white-70: rgba(254, 254, 254, 0.72);
--ce-white-15: rgba(254, 254, 254, 0.15);
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-navy);
color: var(--ce-white-90);
font-family: var(--ce-font-sans);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
padding: clamp(1.25rem, 2vw, 1.75rem) 0;
}
.ce-speed__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-speed__list {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
align-items: center;
}
.ce-speed__item {
display: flex;
align-items: center;
justify-content: center;
gap: 0.875rem;
padding: 0.25rem clamp(0.75rem, 2vw, 1.5rem);
position: relative;
}
.ce-speed__item + .ce-speed__item::before {
content: '';
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 1px;
height: 70%;
background: var(--ce-white-15);
}
.ce-speed__num {
font-family: var(--ce-font-serif);
font-weight: 500;
font-size: clamp(1.625rem, 2.6vw, 2.25rem);
line-height: 1;
letter-spacing: -0.02em;
color: var(--ce-white);
display: inline-flex;
align-items: baseline;
flex-shrink: 0;
}
.ce-speed__num--small {
font-size: clamp(1rem, 1.4vw, 1.25rem);
font-weight: 600;
font-family: var(--ce-font-sans);
font-style: italic;
color: var(--ce-crimson-soft);
letter-spacing: -0.01em;
line-height: 1.1;
}
.ce-speed__unit {
font-family: var(--ce-font-sans);
font-weight: 500;
font-size: 0.45em;
color: var(--ce-crimson-soft);
margin-left: 0.1em;
letter-spacing: 0;
}
.ce-speed__label {
font-size: 0.8125rem;
font-weight: 500;
line-height: 1.3;
color: var(--ce-white-70);
letter-spacing: 0.005em;
border-left: 2px solid var(--ce-crimson);
padding-left: 0.75rem;
display: inline-block;
}
.ce-speed__item--urgent {
gap: 0;
}
.ce-speed__urgent-link {
display: inline-flex;
align-items: center;
gap: 0.75rem;
padding: 0.5rem 0.75rem;
margin: -0.5rem -0.75rem;
border-radius: 8px;
text-decoration: none;
color: inherit;
transition:
background-color 0.25s var(--ce-ease),
transform 0.25s var(--ce-ease);
}
.ce-speed__urgent-link:hover,
.ce-speed__urgent-link:focus-visible {
background: rgba(254, 254, 254, 0.08);
transform: translateY(-1px);
}
.ce-speed__urgent-link:focus-visible {
outline: 2px solid var(--ce-white);
outline-offset: 2px;
}
.ce-speed__icon {
flex-shrink: 0;
display: inline-flex;
align-items: center;
justify-content: center;
width: 38px;
height: 38px;
border-radius: 50%;
background: var(--ce-crimson);
color: var(--ce-white);
transition: transform 0.25s var(--ce-ease);
}
.ce-speed__urgent-link:hover .ce-speed__icon {
transform: scale(1.06);
}
.ce-speed__icon svg {
width: 16px;
height: 16px;
}
.ce-speed__urgent-text {
display: flex;
flex-direction: column;
gap: 0.125rem;
}
.ce-speed__urgent-text .ce-speed__label {
border-left: 0;
padding-left: 0;
}
.ce-speed__item {
opacity: 0;
transform: translateY(12px);
animation: ce-speed-fade-up 0.6s var(--ce-ease) forwards;
}
.ce-speed__item:nth-child(1) { animation-delay: 0s; }
.ce-speed__item:nth-child(2) { animation-delay: 0.08s; }
.ce-speed__item:nth-child(3) { animation-delay: 0.16s; }
@keyframes ce-speed-fade-up {
to {
opacity: 1;
transform: translateY(0);
}
}
@media (prefers-reduced-motion: reduce) {
.ce-speed *,
.ce-speed *::before,
.ce-speed *::after {
animation-duration: 0.001ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.001ms !important;
}
.ce-speed__item {
opacity: 1;
transform: none;
}
}
@media (max-width: 900px) {
.ce-speed__item {
gap: 0.625rem;
padding: 0.25rem 0.875rem;
}
.ce-speed__label {
padding-left: 0.625rem;
}
.ce-speed__icon {
width: 32px;
height: 32px;
}
.ce-speed__icon svg {
width: 14px;
height: 14px;
}
}
@media (max-width: 640px) {
.ce-speed {
padding: 0.875rem 0;
}
.ce-speed__list {
grid-template-columns: 1fr;
gap: 0;
}
.ce-speed__item {
justify-content: flex-start;
padding: 0.875rem var(--ce-pad-x);
}
.ce-speed__item + .ce-speed__item::before {
top: 0;
left: var(--ce-pad-x);
right: var(--ce-pad-x);
bottom: auto;
transform: none;
width: auto;
height: 1px;
}
}
.ce-why,
.ce-why * {
box-sizing: border-box;
}
.ce-why {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
margin-top: 0;
margin-bottom: 0;
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-50: rgba(3, 41, 95, 0.50);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-crimson: #c7272a;
--ce-crimson-15: rgba(199, 39, 42, 0.15);
--ce-white: #fefefe;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(2rem, 3.5vw, 3rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
position: relative;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
padding: var(--ce-pad-y) 0;
}
.ce-why__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-why__header {
max-width: 44rem;
margin: 0 0 clamp(1.75rem, 2.75vw, 2.25rem);
}
.ce-why__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.75rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-why__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
flex-shrink: 0;
}
.ce-why__heading {
margin: 0 0 0.625rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-why__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-why__intro {
margin: 0;
font-size: clamp(0.875rem, 0.95vw, 1rem);
line-height: 1.55;
color: var(--ce-navy-70);
max-width: 38rem;
}
.ce-why__grid {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 0;
}
.ce-why__pillar {
position: relative;
display: flex;
flex-direction: column;
align-items: flex-start;
padding: clamp(1rem, 1.5vw, 1.5rem) clamp(1rem, 1.5vw, 1.5rem);
}
.ce-why__pillar + .ce-why__pillar::before {
content: '';
position: absolute;
left: 0;
top: 10%;
bottom: 10%;
width: 1px;
background: var(--ce-navy-15);
}
.ce-why__pillar-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 44px;
height: 44px;
border-radius: 50%;
background: var(--ce-white);
border: 1.5px solid var(--ce-crimson);
color: var(--ce-crimson);
margin-bottom: 1rem;
transition:
background-color 0.3s var(--ce-ease),
color 0.3s var(--ce-ease),
transform 0.3s var(--ce-ease);
}
.ce-why__pillar-icon svg {
width: 18px;
height: 18px;
}
.ce-why__pillar:hover .ce-why__pillar-icon {
background: var(--ce-crimson);
color: var(--ce-white);
transform: translateY(-2px);
}
.ce-why__pillar-title {
margin: 0 0 0.5rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(0.9375rem, 1.05vw, 1.0625rem);
line-height: 1.25;
letter-spacing: -0.015em;
color: var(--ce-navy);
}
.ce-why__pillar-copy {
margin: 0 0 0.75rem;
font-size: 0.8125rem;
line-height: 1.5;
color: var(--ce-navy-70);
flex-grow: 1;
}
.ce-why__inline-link {
color: var(--ce-navy);
text-decoration: underline;
text-decoration-color: var(--ce-crimson);
text-decoration-thickness: 1px;
text-underline-offset: 3px;
font-weight: 500;
transition: color 0.25s var(--ce-ease), text-decoration-color 0.25s var(--ce-ease);
}
.ce-why__inline-link:hover,
.ce-why__inline-link:focus-visible {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
.ce-why__inline-link:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: 2px;
border-radius: 2px;
}
.ce-why__pillar-link {
display: inline-flex;
align-items: center;
gap: 0.3125rem;
margin-top: auto;
font-size: 0.75rem;
font-weight: 500;
color: var(--ce-crimson);
text-decoration: none;
letter-spacing: 0.005em;
transition: gap 0.25s var(--ce-ease), color 0.25s var(--ce-ease);
}
.ce-why__pillar-link svg {
width: 11px;
height: 11px;
transition: transform 0.25s var(--ce-ease);
}
.ce-why__pillar-link:hover,
.ce-why__pillar-link:focus-visible {
gap: 0.5rem;
color: #b21f22;
}
.ce-why__pillar-link:hover svg,
.ce-why__pillar-link:focus-visible svg {
transform: translateX(2px);
}
.ce-why__pillar-link:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: 3px;
border-radius: 2px;
}
.ce-why__header,
.ce-why__pillar {
opacity: 0;
transform: translateY(18px);
animation: ce-why-fade-up 0.7s var(--ce-ease) forwards;
}
.ce-why__header              { animation-delay: 0s; }
.ce-why__pillar:nth-child(1) { animation-delay: 0.08s; }
.ce-why__pillar:nth-child(2) { animation-delay: 0.16s; }
.ce-why__pillar:nth-child(3) { animation-delay: 0.24s; }
.ce-why__pillar:nth-child(4) { animation-delay: 0.32s; }
@keyframes ce-why-fade-up {
to {
opacity: 1;
transform: translateY(0);
}
}
@media (prefers-reduced-motion: reduce) {
.ce-why *,
.ce-why *::before,
.ce-why *::after {
animation-duration: 0.001ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.001ms !important;
}
.ce-why__header,
.ce-why__pillar {
opacity: 1;
transform: none;
}
}
@media (max-width: 900px) {
.ce-why__grid {
grid-template-columns: 1fr 1fr;
}
.ce-why__pillar + .ce-why__pillar::before {
display: none;
}
.ce-why__pillar:nth-child(2)::before,
.ce-why__pillar:nth-child(4)::before {
content: '';
display: block;
position: absolute;
left: 0;
top: 10%;
bottom: 10%;
width: 1px;
background: var(--ce-navy-15);
}
.ce-why__pillar:nth-child(3)::after,
.ce-why__pillar:nth-child(4)::after {
content: '';
position: absolute;
top: 0;
left: 10%;
right: 10%;
height: 1px;
background: var(--ce-navy-15);
}
}
@media (max-width: 600px) {
.ce-why__grid {
grid-template-columns: 1fr;
}
.ce-why__pillar {
padding: 1rem 0;
}
.ce-why__pillar::before,
.ce-why__pillar::after {
display: none !important;
}
.ce-why__pillar + .ce-why__pillar::before {
display: block !important;
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: auto;
width: auto;
height: 1px;
background: var(--ce-navy-15);
}
}
.ce-process,
.ce-process * {
box-sizing: border-box;
}
.ce-process {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
margin-top: 0;
margin-bottom: 0;
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-50: rgba(3, 41, 95, 0.50);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-crimson: #c7272a;
--ce-white: #fefefe;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(2.25rem, 3.5vw, 3rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
padding: var(--ce-pad-y) 0;
}
.ce-process__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-process__header {
max-width: 44rem;
margin: 0 0 clamp(2rem, 3vw, 2.5rem);
}
.ce-process__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.75rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-process__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
flex-shrink: 0;
}
.ce-process__heading {
margin: 0 0 0.625rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-process__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-process__intro {
margin: 0;
font-size: clamp(0.875rem, 0.95vw, 1rem);
line-height: 1.55;
color: var(--ce-navy-70);
max-width: 38rem;
}
.ce-process__steps {
list-style: none;
margin: 0 0 clamp(1.75rem, 2.75vw, 2.25rem);
padding: 0;
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: 0;
position: relative;
}
.ce-process__steps::before {
content: '';
position: absolute;
top: 22px;
left: 10%;
right: 10%;
height: 1px;
background: var(--ce-navy-15);
z-index: 0;
}
.ce-process__step {
position: relative;
display: flex;
flex-direction: column;
align-items: flex-start;
padding: 0 clamp(0.75rem, 1.25vw, 1.25rem);
text-align: left;
}
.ce-process__step-num {
position: relative;
z-index: 2;
display: inline-flex;
align-items: center;
justify-content: center;
width: 44px;
height: 44px;
border-radius: 50%;
background: var(--ce-white);
border: 1.5px solid var(--ce-crimson);
color: var(--ce-crimson);
font-family: var(--ce-font-serif);
font-weight: 500;
font-style: italic;
font-size: 0.9375rem;
letter-spacing: 0.02em;
margin-bottom: 1rem;
transition:
background-color 0.3s var(--ce-ease),
color 0.3s var(--ce-ease);
}
.ce-process__step-title {
margin: 0 0 0.4rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(0.875rem, 1vw, 1rem);
line-height: 1.25;
letter-spacing: -0.015em;
color: var(--ce-navy);
}
.ce-process__step-title-link {
color: var(--ce-navy);
text-decoration: none;
background-image: linear-gradient(to top, var(--ce-crimson) 1px, transparent 1px);
background-position: 0 100%;
background-repeat: no-repeat;
background-size: 0% 1px;
transition: color 0.25s var(--ce-ease), background-size 0.3s var(--ce-ease);
}
.ce-process__step-title-link:hover,
.ce-process__step-title-link:focus-visible {
color: var(--ce-crimson);
background-size: 100% 1px;
}
.ce-process__step-title-link:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: 3px;
border-radius: 2px;
}
.ce-process__step:first-child .ce-process__step-num {
background: var(--ce-crimson);
color: var(--ce-white);
}
.ce-process__step-copy {
margin: 0;
font-size: 0.8125rem;
line-height: 1.5;
color: var(--ce-navy-70);
}
.ce-process__step-accent {
display: inline-block;
margin-top: 0.25rem;
font-family: var(--ce-font-serif);
font-style: italic;
font-weight: 500;
color: var(--ce-crimson);
}
.ce-process__footer {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: space-between;
gap: 0.75rem 1.25rem;
padding-top: clamp(1rem, 1.75vw, 1.5rem);
border-top: 1px solid var(--ce-navy-15);
}
.ce-process__footer-text {
margin: 0;
font-size: 0.875rem;
color: var(--ce-navy-70);
line-height: 1.5;
}
.ce-process__footer-cta {
display: inline-flex;
align-items: center;
gap: 0.4375rem;
font-size: 0.8125rem;
font-weight: 500;
color: var(--ce-navy);
text-decoration: none;
padding: 0.375rem 0;
border-bottom: 1px solid var(--ce-navy);
transition:
color 0.3s var(--ce-ease),
border-color 0.3s var(--ce-ease),
gap 0.25s var(--ce-ease);
}
.ce-process__footer-cta svg {
width: 12px;
height: 12px;
transition: transform 0.25s var(--ce-ease);
}
.ce-process__footer-cta:hover,
.ce-process__footer-cta:focus-visible {
color: var(--ce-crimson);
border-color: var(--ce-crimson);
gap: 0.625rem;
}
.ce-process__footer-cta:hover svg,
.ce-process__footer-cta:focus-visible svg {
transform: translateX(3px);
}
.ce-process__footer-cta:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: 3px;
}
.ce-process__header,
.ce-process__step,
.ce-process__footer {
opacity: 0;
transform: translateY(18px);
animation: ce-process-fade-up 0.7s var(--ce-ease) forwards;
}
.ce-process__header              { animation-delay: 0s; }
.ce-process__step:nth-child(1)   { animation-delay: 0.08s; }
.ce-process__step:nth-child(2)   { animation-delay: 0.14s; }
.ce-process__step:nth-child(3)   { animation-delay: 0.20s; }
.ce-process__step:nth-child(4)   { animation-delay: 0.26s; }
.ce-process__step:nth-child(5)   { animation-delay: 0.32s; }
.ce-process__footer              { animation-delay: 0.42s; }
@keyframes ce-process-fade-up {
to {
opacity: 1;
transform: translateY(0);
}
}
@media (prefers-reduced-motion: reduce) {
.ce-process *,
.ce-process *::before,
.ce-process *::after {
animation-duration: 0.001ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.001ms !important;
}
.ce-process__header,
.ce-process__step,
.ce-process__footer {
opacity: 1;
transform: none;
}
}
@media (max-width: 1100px) {
.ce-process__step {
padding: 0 0.75rem;
}
}
@media (max-width: 900px) {
.ce-process__steps {
grid-template-columns: 1fr;
gap: 1.25rem;
}
.ce-process__steps::before {
top: 22px;
bottom: 22px;
left: 22px;
right: auto;
width: 1px;
height: auto;
}
.ce-process__step {
display: grid;
grid-template-columns: 44px 1fr;
column-gap: 1.25rem;
row-gap: 0.25rem;
padding: 0;
}
.ce-process__step-num {
grid-row: 1 / span 2;
margin-bottom: 0;
flex-shrink: 0;
}
.ce-process__step-title {
grid-column: 2;
margin: 0.625rem 0 0;
}
.ce-process__step-copy {
grid-column: 2;
}
}
@media (max-width: 640px) {
.ce-process__footer {
flex-direction: column;
align-items: flex-start;
}
}
@media (max-width: 480px) {
.ce-process__step-num {
width: 38px;
height: 38px;
font-size: 0.875rem;
}
.ce-process__steps::before {
top: 19px;
bottom: 19px;
left: 19px;
}
}
.ce-cta,
.ce-cta * {
box-sizing: border-box;
}
.ce-cta {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
margin-top: 0;
margin-bottom: 0;
--ce-navy: #03295f;
--ce-navy-deep: #021c43;
--ce-crimson: #c7272a;
--ce-crimson-deep: #a51e21;
--ce-white: #fefefe;
--ce-white-90: rgba(254, 254, 254, 0.92);
--ce-white-70: rgba(254, 254, 254, 0.72);
--ce-white-50: rgba(254, 254, 254, 0.50);
--ce-white-25: rgba(254, 254, 254, 0.25);
--ce-white-15: rgba(254, 254, 254, 0.15);
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(2.75rem, 4.5vw, 4rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1100px;
position: relative;
overflow: hidden;
background: var(--ce-crimson);
color: var(--ce-white);
font-family: var(--ce-font-sans);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
padding: var(--ce-pad-y) 0;
}
.ce-cta__pulse {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 32px;
pointer-events: none;
opacity: 0.6;
z-index: 1;
}
.ce-cta__pulse svg {
width: 100%;
height: 100%;
display: block;
}
.ce-cta__container {
position: relative;
z-index: 2;
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-cta__content {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
}
.ce-cta__heading {
margin: 0 0 1rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.75rem, 3.4vw, 2.875rem);
line-height: 1.05;
letter-spacing: -0.025em;
color: var(--ce-white);
max-width: 24ch;
}
.ce-cta__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-white);
background-image: linear-gradient(to top, rgba(254, 254, 254, 0.25) 12%, transparent 12%, transparent 100%);
}
.ce-cta__sub {
margin: 0 0 clamp(1.5rem, 2.5vw, 2rem);
max-width: 40rem;
font-size: clamp(0.9375rem, 1.05vw, 1.0625rem);
line-height: 1.55;
color: var(--ce-white-90);
font-weight: 400;
}
.ce-cta__actions {
display: flex;
flex-wrap: wrap;
align-items: stretch;
justify-content: center;
gap: 0.75rem;
margin-bottom: clamp(1.25rem, 2vw, 1.5rem);
}
.ce-cta__btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.875rem;
padding: 0.875rem 1.5rem;
border: 1.5px solid transparent;
border-radius: 6px;
font-family: inherit;
text-decoration: none;
cursor: pointer;
transition:
transform 0.35s var(--ce-ease),
background-color 0.3s var(--ce-ease),
border-color 0.3s var(--ce-ease),
color 0.3s var(--ce-ease),
box-shadow 0.4s var(--ce-ease);
min-width: 220px;
}
.ce-cta__btn-label {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 0.125rem;
}
.ce-cta__btn-text {
font-size: 0.9375rem;
font-weight: 600;
line-height: 1.1;
letter-spacing: -0.01em;
}
.ce-cta__btn-meta {
font-size: 0.6875rem;
font-weight: 500;
letter-spacing: 0.04em;
text-transform: uppercase;
opacity: 0.75;
line-height: 1.2;
}
.ce-cta__btn-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 18px;
height: 18px;
flex-shrink: 0;
transition: transform 0.35s var(--ce-ease);
}
.ce-cta__btn-icon svg {
width: 100%;
height: 100%;
}
.ce-cta__btn--primary {
background: var(--ce-navy);
color: var(--ce-white);
box-shadow:
0 1px 0 rgba(255, 255, 255, 0.12) inset,
0 6px 16px -6px rgba(2, 28, 67, 0.5);
}
.ce-cta__btn--primary:hover,
.ce-cta__btn--primary:focus-visible {
background: var(--ce-navy-deep);
transform: translateY(-2px);
box-shadow:
0 1px 0 rgba(255, 255, 255, 0.15) inset,
0 12px 24px -8px rgba(2, 28, 67, 0.6);
}
.ce-cta__btn--primary:hover .ce-cta__btn-icon:not(.ce-cta__btn-icon--lead) {
transform: translateX(4px);
}
.ce-cta__btn--secondary {
background: transparent;
color: var(--ce-white);
border-color: rgba(254, 254, 254, 0.45);
}
.ce-cta__btn--secondary:hover,
.ce-cta__btn--secondary:focus-visible {
background: var(--ce-white);
color: var(--ce-crimson);
border-color: var(--ce-white);
transform: translateY(-2px);
}
.ce-cta__btn:focus-visible {
outline: 2px solid var(--ce-white);
outline-offset: 3px;
}
.ce-cta__trust {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
gap: 0.5rem 1rem;
margin: 0 0 clamp(1rem, 1.5vw, 1.25rem);
font-size: 0.8125rem;
font-weight: 500;
color: var(--ce-white-70);
}
.ce-cta__trust-item {
display: inline-flex;
align-items: center;
gap: 0.4rem;
line-height: 1.3;
}
.ce-cta__trust-item svg {
width: 13px;
height: 13px;
flex-shrink: 0;
color: var(--ce-white);
}
.ce-cta__trust-divider {
width: 1px;
height: 14px;
background: var(--ce-white-25);
}
.ce-cta__solicitors {
margin: clamp(1rem, 1.5vw, 1.25rem) 0 0;
padding-top: clamp(0.875rem, 1.25vw, 1rem);
border-top: 1px solid var(--ce-white-15);
font-size: 0.8125rem;
color: var(--ce-white-70);
display: inline-flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
gap: 0.5rem;
line-height: 1.5;
}
.ce-cta__solicitors-link {
display: inline-flex;
align-items: center;
gap: 0.3125rem;
color: var(--ce-white);
text-decoration: none;
font-weight: 500;
padding-bottom: 1px;
border-bottom: 1px solid rgba(254, 254, 254, 0.4);
transition:
color 0.3s var(--ce-ease),
border-color 0.3s var(--ce-ease),
gap 0.25s var(--ce-ease);
}
.ce-cta__solicitors-link svg {
width: 11px;
height: 11px;
transition: transform 0.25s var(--ce-ease);
}
.ce-cta__solicitors-link:hover,
.ce-cta__solicitors-link:focus-visible {
color: var(--ce-white);
border-color: var(--ce-white);
gap: 0.4375rem;
}
.ce-cta__solicitors-link:hover svg,
.ce-cta__solicitors-link:focus-visible svg {
transform: translateX(2px);
}
.ce-cta__solicitors-link:focus-visible {
outline: 2px solid var(--ce-white);
outline-offset: 3px;
border-radius: 2px;
}
.ce-cta__heading,
.ce-cta__sub,
.ce-cta__actions,
.ce-cta__trust,
.ce-cta__solicitors {
opacity: 0;
transform: translateY(18px);
animation: ce-cta-fade-up 0.75s var(--ce-ease) forwards;
}
.ce-cta__heading    { animation-delay: 0s; }
.ce-cta__sub        { animation-delay: 0.08s; }
.ce-cta__actions    { animation-delay: 0.16s; }
.ce-cta__trust      { animation-delay: 0.26s; }
.ce-cta__solicitors { animation-delay: 0.34s; }
@keyframes ce-cta-fade-up {
to {
opacity: 1;
transform: translateY(0);
}
}
@media (prefers-reduced-motion: reduce) {
.ce-cta *,
.ce-cta *::before,
.ce-cta *::after {
animation-duration: 0.001ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.001ms !important;
}
.ce-cta__heading,
.ce-cta__sub,
.ce-cta__actions,
.ce-cta__trust,
.ce-cta__solicitors {
opacity: 1;
transform: none;
}
}
@media (max-width: 760px) {
.ce-cta__btn {
min-width: 0;
flex: 1 1 100%;
max-width: 360px;
}
}
@media (max-width: 540px) {
.ce-cta__actions {
flex-direction: column;
align-items: stretch;
width: 100%;
max-width: 360px;
}
.ce-cta__btn {
max-width: 100%;
}
.ce-cta__btn-label {
align-items: flex-start;
}
.ce-cta__trust {
gap: 0.5rem 0.75rem;
font-size: 0.75rem;
}
}
@media (max-width: 420px) {
.ce-cta__trust-divider {
display: none;
}
.ce-cta__trust {
flex-direction: column;
align-items: center;
gap: 0.4rem;
}
}
.site-footer {
--ce-navy: #03295f;
--ce-navy-deep: #021c43;
--ce-navy-soft: #0a3573;
--ce-crimson: #c7272a;
--ce-crimson-soft: #e8444a;
--ce-white: #fefefe;
--ce-white-90: rgba(254, 254, 254, 0.92);
--ce-white-70: rgba(254, 254, 254, 0.72);
--ce-white-50: rgba(254, 254, 254, 0.50);
--ce-white-25: rgba(254, 254, 254, 0.25);
--ce-white-12: rgba(254, 254, 254, 0.12);
--ce-white-08: rgba(254, 254, 254, 0.08);
--ce-radius-sm: 8px;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-fpad-y: clamp(2rem, 3.5vw, 3rem);
--ce-fpad-x: clamp(1.25rem, 4vw, 3rem);
--ce-fmax: 1320px;
position: relative;
isolation: isolate;
overflow: hidden;
background:
radial-gradient(ellipse 80% 60% at 15% 0%, rgba(199, 39, 42, 0.10) 0%, transparent 60%),
radial-gradient(ellipse 90% 70% at 90% 100%, rgba(10, 53, 115, 0.45) 0%, transparent 60%),
linear-gradient(180deg, var(--ce-navy) 0%, var(--ce-navy-deep) 100%) !important;
color: var(--ce-white-90) !important;
font-family: var(--ce-font-sans);
font-size: 0.875rem;
line-height: 1.5;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.site-footer,
.site-footer * {
box-sizing: border-box;
}
.site-footer p,
.site-footer span,
.site-footer li,
.site-footer h1,
.site-footer h2,
.site-footer h3,
.site-footer h4,
.site-footer h5,
.site-footer h6 {
color: var(--ce-white-90) !important;
}
.site-footer a {
color: var(--ce-white-70) !important;
text-decoration: none !important;
}
.site-footer a:hover,
.site-footer a:focus-visible {
color: var(--ce-white) !important;
}
.site-footer .site-footer-wrap {
position: relative;
z-index: 2;
}
.site-footer::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 1px;
background: linear-gradient(90deg,
transparent 0%,
var(--ce-white-12) 30%,
var(--ce-white-25) 50%,
var(--ce-white-12) 70%,
transparent 100%);
z-index: 3;
}
.site-footer::after {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 1px;
background: linear-gradient(90deg,
transparent 0%,
rgba(199, 39, 42, 0) 15%,
rgba(199, 39, 42, 0.55) 35%,
rgba(199, 39, 42, 0.9) 50%,
rgba(199, 39, 42, 0.55) 65%,
rgba(199, 39, 42, 0) 85%,
transparent 100%);
opacity: 0.7;
pointer-events: none;
z-index: 1;
}
.site-footer .site-middle-footer-wrap {
padding: clamp(2.5rem, 4vw, 3.5rem) 0 clamp(1.25rem, 2.5vw, 1.75rem);
position: relative;
z-index: 2;
}
.site-footer .site-middle-footer-wrap .site-container {
max-width: var(--ce-fmax);
padding-left: var(--ce-fpad-x);
padding-right: var(--ce-fpad-x);
margin: 0 auto;
}
.site-footer .site-middle-footer-inner-wrap {
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr 1.4fr;
gap: clamp(1.5rem, 2.5vw, 2.5rem);
padding-bottom: clamp(1.5rem, 2.5vw, 2rem);
border-bottom: 1px solid var(--ce-white-12);
}
.site-footer .site-footer-section {
width: 100%;
min-width: 0;
padding: 0;
margin: 0;
}
.site-footer .footer-widget-area,
.site-footer .footer-widget-area-inner {
padding: 0;
margin: 0;
}
.site-footer .widget {
margin: 0 !important;
padding: 0 !important;
}
.ce-footer__col {
min-width: 0;
}
.ce-footer__col--brand {
display: flex;
flex-direction: column;
gap: 1rem;
}
.ce-footer__logo {
display: inline-block;
line-height: 0;
transition: opacity 0.3s var(--ce-ease);
}
.ce-footer__logo:hover {
opacity: 0.85;
}
.ce-footer__logo img {
max-width: 180px;
height: auto;
filter: brightness(0) invert(1);
}
.site-footer .ce-footer__brand-blurb {
margin: 0 !important;
max-width: 22rem;
font-size: 0.8125rem !important;
line-height: 1.55 !important;
color: var(--ce-white-70) !important;
}
.ce-footer__contact {
list-style: none !important;
margin: 0 !important;
padding: 0 !important;
display: flex;
flex-direction: column;
gap: 0.625rem;
}
.site-footer .ce-footer__contact-item {
display: flex !important;
align-items: flex-start;
gap: 0.625rem;
font-size: 0.8125rem !important;
line-height: 1.45 !important;
color: var(--ce-white-70) !important;
margin: 0 !important;
padding: 0 !important;
background: none !important;
border: 0 !important;
}
.site-footer .ce-footer__contact-item::before {
display: none !important;
}
.site-footer .ce-footer__contact-icon {
flex-shrink: 0;
display: inline-flex !important;
align-items: center;
justify-content: center;
width: 24px;
height: 24px;
margin-top: -2px;
color: var(--ce-crimson-soft) !important;
}
.ce-footer__contact-icon svg {
width: 14px;
height: 14px;
}
.site-footer .ce-footer__contact-text {
color: var(--ce-white-70) !important;
}
.site-footer a.ce-footer__contact-link {
color: var(--ce-white-90) !important;
text-decoration: none !important;
transition: color 0.25s var(--ce-ease);
}
.site-footer a.ce-footer__contact-link:hover,
.site-footer a.ce-footer__contact-link:focus-visible {
color: var(--ce-crimson-soft) !important;
}
.site-footer .ce-footer__col-title {
margin: 0 0 0.875rem !important;
font-family: var(--ce-font-sans) !important;
font-size: 0.75rem !important;
font-weight: 600 !important;
letter-spacing: 0.14em !important;
text-transform: uppercase !important;
color: var(--ce-white) !important;
position: relative;
padding-bottom: 0.625rem !important;
line-height: 1.3 !important;
}
.site-footer .ce-footer__col-title a {
color: var(--ce-white) !important;
text-decoration: none !important;
transition: color 0.25s var(--ce-ease);
display: inline-block;
}
.site-footer .ce-footer__col-title a:hover,
.site-footer .ce-footer__col-title a:focus-visible {
color: var(--ce-crimson-soft) !important;
}
.site-footer .ce-footer__col-title::after {
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 24px;
height: 2px;
background: var(--ce-crimson);
border-radius: 2px;
}
.site-footer .ce-footer__links {
list-style: none !important;
margin: 0 !important;
padding: 0 !important;
display: flex;
flex-direction: column;
gap: 0.4rem;
}
.site-footer .ce-footer__links li {
margin: 0 !important;
padding: 0 !important;
background: none !important;
border: 0 !important;
}
.site-footer .ce-footer__links li::before {
display: none !important;
}
.site-footer .ce-footer__links a {
display: inline-block;
color: var(--ce-white-70) !important;
text-decoration: none !important;
font-size: 0.875rem !important;
line-height: 1.4 !important;
transition:
color 0.25s var(--ce-ease),
transform 0.25s var(--ce-ease);
}
.site-footer .ce-footer__links a:hover,
.site-footer .ce-footer__links a:focus-visible {
color: var(--ce-white) !important;
transform: translateX(3px);
}
.site-footer a.ce-footer__col-cta {
display: inline-block;
margin-top: 0.875rem;
color: var(--ce-crimson-soft) !important;
text-decoration: none !important;
font-size: 0.75rem !important;
font-weight: 500 !important;
letter-spacing: 0.04em;
text-transform: uppercase;
transition: color 0.25s var(--ce-ease), transform 0.25s var(--ce-ease);
}
.site-footer a.ce-footer__col-cta:hover,
.site-footer a.ce-footer__col-cta:focus-visible {
color: var(--ce-white) !important;
transform: translateX(3px);
}
.site-footer .ce-footer__col--locations .ce-footer__col-title {
padding-left: 60px;
}
.site-footer .ce-footer__col--locations .ce-footer__col-title::after {
left: 60px;
}
.site-footer .ce-footer__links.ce-footer__links--2col {
display: block;
columns: 2;
column-gap: 1.25rem;
}
.site-footer .ce-footer__links--2col li {
break-inside: avoid;
margin-bottom: 0.4rem;
}
.site-footer .ce-footer__links--2col li:last-child {
margin-bottom: 0;
}
.site-footer .site-bottom-footer-wrap {
padding: 0.75rem 0 1rem;
position: relative;
z-index: 2;
}
.site-footer .site-bottom-footer-wrap .site-container {
max-width: var(--ce-fmax);
padding-left: var(--ce-fpad-x);
padding-right: var(--ce-fpad-x);
margin: 0 auto;
}
.site-footer .site-bottom-footer-inner-wrap {
display: grid !important;
grid-template-columns: 1fr auto;
align-items: center;
gap: 0.75rem 1.5rem;
width: 100%;
}
.site-footer .site-footer-bottom-section-1 {
grid-column: 1;
min-width: 0;
max-width: 100%;
}
.site-footer .site-footer-bottom-section-2 {
grid-column: 2;
justify-self: end;
width: auto !important;
max-width: none !important;
text-align: right;
}
.ce-footer__bottom-content {
display: grid;
grid-template-columns: max-content max-content;
grid-template-areas:
"contact contact"
"copy    legal";
column-gap: 1.75rem;
row-gap: 0.5rem;
justify-content: start;
align-items: center;
}
.site-footer .ce-footer__copy {
grid-area: copy;
margin: 0 !important;
font-size: 0.75rem !important;
color: var(--ce-white-50) !important;
line-height: 1.5 !important;
}
.site-footer .ce-footer__bottom-content > .ce-footer__contact {
grid-area: contact;
flex-direction: row;
flex-wrap: wrap;
gap: 0.5rem 1.25rem;
}
.ce-footer__bottom-content .ce-footer__contact-item {
font-size: 0.75rem !important;
align-items: center;
}
.ce-footer__bottom-content .ce-footer__contact-icon {
width: 18px;
height: 18px;
margin-top: 0;
}
.ce-footer__bottom-content .ce-footer__contact-icon svg {
width: 12px;
height: 12px;
}
.site-footer .ce-footer__legal {
grid-area: legal;
list-style: none !important;
margin: 0 !important;
padding: 0 !important;
display: flex;
flex-wrap: wrap;
gap: 0.4rem 1.25rem;
}
.site-footer .ce-footer__legal li {
margin: 0 !important;
padding: 0 !important;
background: none !important;
}
.site-footer .ce-footer__legal li::before {
display: none !important;
}
.site-footer .ce-footer__legal a {
color: var(--ce-white-70) !important;
text-decoration: none !important;
font-size: 0.75rem !important;
transition: color 0.25s var(--ce-ease);
}
.site-footer .ce-footer__legal a:hover,
.site-footer .ce-footer__legal a:focus-visible {
color: var(--ce-white) !important;
}
.site-footer .footer-social-wrap {
display: flex;
align-items: center;
gap: 0.75rem;
}
.site-footer .footer-social-inner-wrap {
display: flex;
gap: 0.4rem;
}
.site-footer .footer-social-item.social-button {
display: inline-flex !important;
align-items: center;
justify-content: center;
width: 34px !important;
height: 34px !important;
border: 1px solid var(--ce-white-12) !important;
border-radius: 50% !important;
background: transparent !important;
color: var(--ce-white-70) !important;
padding: 0 !important;
transition:
background-color 0.3s var(--ce-ease),
color 0.3s var(--ce-ease),
border-color 0.3s var(--ce-ease),
transform 0.3s var(--ce-ease);
}
.site-footer .footer-social-item.social-button svg {
width: 13px;
height: 13px;
fill: currentColor;
}
.site-footer .footer-social-item.social-button:hover,
.site-footer .footer-social-item.social-button:focus-visible {
background: var(--ce-crimson) !important;
border-color: var(--ce-crimson) !important;
color: var(--ce-white) !important;
transform: translateY(-2px);
}
@media (max-width: 1200px) {
.site-footer .site-middle-footer-inner-wrap {
grid-template-columns: 1fr 1fr 1fr 1fr 1.3fr;
gap: 1.5rem;
}
}
@media (max-width: 1024px) {
.site-footer .site-middle-footer-inner-wrap {
grid-template-columns: 1fr 1fr 1fr 1fr;
}
.site-footer .site-footer-middle-section-5 {
grid-column: 1 / -1;
max-width: 38rem;
padding-top: 1rem;
margin-top: 0.25rem;
border-top: 1px solid var(--ce-white-12);
}
}
@media (max-width: 760px) {
.site-footer .site-middle-footer-inner-wrap {
grid-template-columns: 1fr 1fr;
gap: 1.75rem 1.5rem;
}
.site-footer .site-footer-middle-section-5 {
grid-column: 1 / -1;
max-width: 100%;
}
}
@media (max-width: 640px) {
.site-footer .site-bottom-footer-inner-wrap {
grid-template-columns: 1fr;
}
.site-footer .site-footer-bottom-section-2 {
grid-column: 1;
justify-self: start;
width: 100%;
}
.ce-footer__bottom-content {
grid-template-columns: 1fr;
grid-template-areas:
"contact"
"copy"
"legal";
row-gap: 0.65rem;
}
.site-footer .ce-footer__bottom-content > .ce-footer__contact {
flex-direction: column;
gap: 0.5rem;
}
}
@media (max-width: 540px) {
.site-footer .site-middle-footer-inner-wrap {
grid-template-columns: 1fr;
gap: 1.5rem;
padding-bottom: 1.25rem;
}
.site-footer .ce-footer__legal {
gap: 0.4rem 1rem;
}
}
@media (max-width: 380px) {
.site-footer .footer-social-item.social-button {
width: 32px !important;
height: 32px !important;
}
}
.ce-mega,
.ce-mega-backdrop {
--cem-navy:        #03295f;
--cem-navy-dark:   #021c43;
--cem-navy-soft:   rgba(3, 41, 95, 0.04);
--cem-navy-tint:   rgba(3, 41, 95, 0.07);
--cem-navy-line:   rgba(3, 41, 95, 0.10);
--cem-navy-mute:   rgba(3, 41, 95, 0.55);
--cem-crimson:     #c7272a;
--cem-crimson-90:  rgba(199, 39, 42, 0.92);
--cem-crimson-15:  rgba(199, 39, 42, 0.15);
--cem-crimson-08:  rgba(199, 39, 42, 0.08);
--cem-paper:       #fefefe;
--cem-cream:       #fbf8f3;
--cem-text:        #1a1a1a;
--cem-text-mute:   #6b6b6b;
--cem-radius:      14px;
--cem-radius-sm:   8px;
--cem-ease:        cubic-bezier(0.22, 1, 0.36, 1);
--cem-shadow:
0 30px 80px rgba(2, 10, 25, 0.18),
0 12px 30px rgba(2, 10, 25, 0.10),
0 0 0 1px rgba(255, 255, 255, 0.5) inset;
--cem-font-sans:   'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--cem-font-serif:  'Fraunces', 'Source Serif Pro', Georgia, serif;
}
.ce-mega-backdrop {
position: fixed !important;
right: 0 !important;
bottom: 0 !important;
left: 0 !important;
z-index: 999985 !important;
background: rgba(3, 41, 95, 0.06);
backdrop-filter: blur(2px);
-webkit-backdrop-filter: blur(2px);
opacity: 0;
pointer-events: none;
transition: opacity 0.3s var(--cem-ease);
}
.ce-mega-backdrop.is-active {
opacity: 1;
}
.ce-mega {
position: fixed !important;
inset: 0 !important;
z-index: 999990 !important;
display: none;
pointer-events: none;
font-family: var(--cem-font-sans);
}
.ce-mega.is-open {
display: block;
pointer-events: none;
}
.ce-mega__panel {
position: fixed;
pointer-events: auto;
background: var(--cem-paper);
border: 1px solid var(--cem-navy-line);
border-radius: var(--cem-radius);
box-shadow: var(--cem-shadow);
padding: 36px 44px 28px;
opacity: 0;
transform: translateY(-12px) scale(0.985);
transition:
opacity 0.3s var(--cem-ease),
transform 0.3s var(--cem-ease);
overflow-y: auto;
overflow-x: hidden;
scrollbar-width: thin;
scrollbar-color: rgba(3, 41, 95, 0.3) transparent;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.ce-mega.is-open .ce-mega__panel {
opacity: 1;
transform: translateY(0) scale(1);
}
.ce-mega__panel::-webkit-scrollbar { width: 8px; }
.ce-mega__panel::-webkit-scrollbar-track { background: transparent; border-radius: 10px; }
.ce-mega__panel::-webkit-scrollbar-thumb {
background: rgba(3, 41, 95, 0.25);
border-radius: 10px;
}
.ce-mega__panel::-webkit-scrollbar-thumb:hover {
background: rgba(3, 41, 95, 0.45);
}
.ce-mega__panel::before {
content: "";
position: absolute;
top: 0;
left: 24px;
right: 24px;
height: 2px;
background: linear-gradient(
to right,
transparent 0%,
var(--cem-crimson) 18%,
var(--cem-navy) 50%,
var(--cem-crimson) 82%,
transparent 100%
);
border-radius: 0 0 2px 2px;
opacity: 0.5;
}
.ce-mega__grid {
display: grid;
gap: 36px;
margin-bottom: 24px;
}
.ce-mega__grid--1 { grid-template-columns: 1fr; max-width: 480px; }
.ce-mega__grid--2 { grid-template-columns: repeat(2, 1fr); }
.ce-mega__grid--3 { grid-template-columns: repeat(3, 1fr); }
.ce-mega__grid--4 { grid-template-columns: repeat(4, 1fr); gap: 28px; }
.ce-mega__col {
display: flex;
flex-direction: column;
gap: 2px;
min-width: 0;
}
.ce-mega__col-head {
display: inline-flex;
align-items: center;
gap: 8px;
font-family: var(--cem-font-sans);
font-size: 10.5px;
font-weight: 600;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--cem-crimson);
padding: 0 0 10px;
margin: 0 0 6px;
border-bottom: 1px solid var(--cem-navy-line);
}
.ce-mega__col-head--secondary {
margin-top: 18px;
}
.ce-mega__col-icon {
width: 14px;
height: 14px;
flex-shrink: 0;
color: var(--cem-crimson);
opacity: 0.85;
}
.ce-mega__leaf {
display: flex;
flex-direction: column;
gap: 2px;
padding: 9px 12px;
margin: 0 -12px;
border-radius: var(--cem-radius-sm);
text-decoration: none !important;
color: var(--cem-text);
position: relative;
isolation: isolate;
transition:
background-color 0.25s var(--cem-ease),
transform 0.25s var(--cem-ease),
padding-left 0.25s var(--cem-ease);
opacity: 0;
transform: translateY(6px);
}
.ce-mega.is-open .ce-mega__leaf {
opacity: 1;
transform: translateY(0);
transition:
opacity 0.4s var(--cem-ease),
transform 0.4s var(--cem-ease),
background-color 0.25s var(--cem-ease),
padding-left 0.25s var(--cem-ease);
}
.ce-mega.is-open .ce-mega__leaf:nth-child(2)  { transition-delay: 0.04s, 0.04s, 0s, 0s; }
.ce-mega.is-open .ce-mega__leaf:nth-child(3)  { transition-delay: 0.06s, 0.06s, 0s, 0s; }
.ce-mega.is-open .ce-mega__leaf:nth-child(4)  { transition-delay: 0.08s, 0.08s, 0s, 0s; }
.ce-mega.is-open .ce-mega__leaf:nth-child(5)  { transition-delay: 0.10s, 0.10s, 0s, 0s; }
.ce-mega.is-open .ce-mega__leaf:nth-child(6)  { transition-delay: 0.12s, 0.12s, 0s, 0s; }
.ce-mega.is-open .ce-mega__leaf:nth-child(7)  { transition-delay: 0.14s, 0.14s, 0s, 0s; }
.ce-mega.is-open .ce-mega__leaf:nth-child(8)  { transition-delay: 0.16s, 0.16s, 0s, 0s; }
.ce-mega__leaf::before {
content: "";
position: absolute;
left: 4px;
top: 50%;
transform: translateY(-50%) scaleY(0);
width: 3px;
height: 60%;
background: var(--cem-crimson);
border-radius: 3px;
transition: transform 0.25s var(--cem-ease);
transform-origin: center;
}
.ce-mega__leaf:hover {
background: var(--cem-navy-soft);
padding-left: 18px;
}
.ce-mega__leaf:hover::before {
transform: translateY(-50%) scaleY(1);
}
.ce-mega__leaf-title {
display: block;
font-family: var(--cem-font-sans);
font-size: 14.5px;
font-weight: 500;
line-height: 1.3;
color: var(--cem-navy);
letter-spacing: -0.01em;
transition: color 0.25s var(--cem-ease);
}
.ce-mega__leaf:hover .ce-mega__leaf-title {
color: var(--cem-navy-dark);
}
.ce-mega__leaf-desc {
display: block;
font-family: var(--cem-font-sans);
font-size: 12.5px;
font-weight: 400;
line-height: 1.45;
color: var(--cem-text-mute);
margin-top: 2px;
}
.ce-mega__leaf.is-current {
background: var(--cem-crimson-08);
}
.ce-mega__leaf.is-current::before {
transform: translateY(-50%) scaleY(1);
}
.ce-mega__leaf.is-current .ce-mega__leaf-title {
color: var(--cem-crimson);
font-weight: 600;
}
.ce-mega__view-all {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 12px 18px;
margin-top: 8px;
border: 1px solid var(--cem-navy-line);
border-radius: var(--cem-radius-sm);
font-family: var(--cem-font-sans);
font-size: 13px;
font-weight: 500;
letter-spacing: -0.005em;
color: var(--cem-navy);
text-decoration: none !important;
background: var(--cem-paper);
transition:
background 0.3s var(--cem-ease),
border-color 0.3s var(--cem-ease),
color 0.3s var(--cem-ease),
transform 0.3s var(--cem-ease),
box-shadow 0.3s var(--cem-ease);
}
.ce-mega__view-all:hover,
.ce-mega__view-all:focus-visible {
background: var(--cem-navy);
border-color: var(--cem-navy);
color: var(--cem-paper);
transform: translateY(-1px);
box-shadow: 0 8px 18px -8px rgba(3, 41, 95, 0.5);
}
.ce-mega__view-all svg {
transition: transform 0.3s var(--cem-ease);
flex-shrink: 0;
}
.ce-mega__view-all:hover svg {
transform: translateX(4px);
}
.ce-mega__leaf:focus-visible,
.ce-mega__view-all:focus-visible {
outline: 2px solid var(--cem-crimson);
outline-offset: 2px;
}
@media (max-width: 1280px) {
.ce-mega__panel {
padding: 32px 36px 24px;
}
.ce-mega__grid {
gap: 28px;
}
.ce-mega__grid--4 {
grid-template-columns: repeat(2, 1fr);
gap: 32px 28px;
}
}
@media (max-width: 1100px) {
.ce-mega__grid--3 {
grid-template-columns: repeat(2, 1fr);
gap: 32px 28px;
}
}
@media (max-width: 1024px) {
.ce-mega,
.ce-mega-backdrop {
display: none !important;
}
}
@media (min-width: 1025px) {
#masthead #menu-item-138 > .sub-menu,
#masthead #menu-item-134 > .sub-menu,
#masthead #menu-item-135 > .sub-menu,
#masthead #menu-item-136 > .sub-menu,
#masthead #menu-item-137 > .sub-menu,
#masthead #menu-item-139 > .sub-menu {
display: none !important;
opacity: 0 !important;
visibility: hidden !important;
pointer-events: none !important;
}
}
@media (prefers-reduced-motion: reduce) {
.ce-mega__panel,
.ce-mega__leaf,
.ce-mega__leaf::before,
.ce-mega__leaf-title,
.ce-mega__view-all,
.ce-mega__view-all svg,
.ce-mega-backdrop {
transition: none !important;
}
.ce-mega.is-open .ce-mega__leaf {
transition-delay: 0s !important;
}
}
.ce-quick-contact {
--cqc-crimson:      #c7272a;
--cqc-crimson-dark: #9c1d20;
--cqc-crimson-90:   rgba(199, 39, 42, 0.92);
--cqc-crimson-50:   rgba(199, 39, 42, 0.5);
--cqc-crimson-25:   rgba(199, 39, 42, 0.25);
--cqc-paper:        #fefefe;
--cqc-navy:         #03295f;
--cqc-ease:         cubic-bezier(0.22, 1, 0.36, 1);
--cqc-font-sans:    'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--cqc-collapsed:    52px;
--cqc-expanded:     180px;
}
.ce-quick-contact {
position: fixed !important;
right: 16px;
bottom: 28px;
z-index: 999800;
display: inline-flex !important;
align-items: center;
justify-content: flex-start;
gap: 10px;
width: var(--cqc-collapsed);
height: var(--cqc-collapsed);
padding: 0 14px 0 14px;
overflow: hidden;
white-space: nowrap;
font-family: var(--cqc-font-sans);
font-size: 14px;
font-weight: 600;
letter-spacing: -0.005em;
line-height: 1;
text-decoration: none !important;
color: var(--cqc-paper);
background: var(--cqc-crimson);
border: none;
border-radius: 999px;
cursor: pointer;
box-shadow:
0 1px 0 rgba(255, 255, 255, 0.15) inset,
0 8px 24px -6px var(--cqc-crimson-90),
0 4px 12px rgba(3, 41, 95, 0.18);
transition:
width 0.45s var(--cqc-ease),
background 0.3s var(--cqc-ease),
box-shadow 0.3s var(--cqc-ease),
transform 0.3s var(--cqc-ease);
-webkit-tap-highlight-color: transparent;
}
.ce-quick-contact__icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 24px;
height: 24px;
flex-shrink: 0;
color: var(--cqc-paper);
transition: transform 0.4s var(--cqc-ease);
}
.ce-quick-contact__icon svg {
width: 22px;
height: 22px;
}
.ce-quick-contact__label {
display: inline-block;
font-family: inherit;
color: var(--cqc-paper);
opacity: 0;
transform: translateX(-6px);
transition:
opacity 0.3s var(--cqc-ease) 0.1s,
transform 0.4s var(--cqc-ease) 0.1s;
}
.ce-quick-contact:hover,
.ce-quick-contact:focus-visible {
width: var(--cqc-expanded);
background: var(--cqc-crimson-dark);
box-shadow:
0 1px 0 rgba(255, 255, 255, 0.18) inset,
0 14px 32px -8px var(--cqc-crimson-90),
0 6px 18px rgba(3, 41, 95, 0.25);
}
.ce-quick-contact:hover .ce-quick-contact__icon,
.ce-quick-contact:focus-visible .ce-quick-contact__icon {
transform: rotate(-12deg) scale(1.1);
}
.ce-quick-contact:hover .ce-quick-contact__label,
.ce-quick-contact:focus-visible .ce-quick-contact__label {
opacity: 1;
transform: translateX(0);
}
.ce-quick-contact:focus-visible {
outline: 2px solid var(--cqc-navy);
outline-offset: 4px;
}
.ce-quick-contact:active {
transform: translateY(1px) scale(0.98);
}
.ce-quick-contact__pulse {
position: absolute;
inset: 0;
border-radius: 999px;
pointer-events: none;
z-index: -1;
background: var(--cqc-crimson);
opacity: 0.6;
animation: cqc-pulse 2.6s var(--cqc-ease) infinite;
}
@keyframes cqc-pulse {
0%   { transform: scale(1);    opacity: 0.55; }
70%  { transform: scale(1.55); opacity: 0;    }
100% { transform: scale(1.55); opacity: 0;    }
}
.ce-quick-contact:hover .ce-quick-contact__pulse,
.ce-quick-contact:focus-visible .ce-quick-contact__pulse {
animation-play-state: paused;
opacity: 0;
}
.ce-quick-contact.is-shaking {
animation: cqc-shake 0.8s var(--cqc-ease);
}
@keyframes cqc-shake {
0%, 100%  { transform: translateX(0) rotate(0); }
10%       { transform: translateX(-4px) rotate(-3deg); }
20%       { transform: translateX(5px)  rotate(3deg);  }
30%       { transform: translateX(-5px) rotate(-3deg); }
40%       { transform: translateX(5px)  rotate(2deg);  }
50%       { transform: translateX(-3px) rotate(-2deg); }
60%       { transform: translateX(3px)  rotate(2deg);  }
70%       { transform: translateX(-2px) rotate(-1deg); }
80%       { transform: translateX(2px)  rotate(1deg);  }
90%       { transform: translateX(-1px) rotate(0);     }
}
@media (max-width: 640px) {
.ce-quick-contact {
--cqc-collapsed: 48px;
--cqc-expanded:  168px;
right: 12px;
bottom: 20px;
font-size: 13.5px;
}
.ce-quick-contact__icon svg {
width: 20px;
height: 20px;
}
}
body.ce-mega-scroll-locked .ce-quick-contact {
opacity: 0;
pointer-events: none;
transition: opacity 0.25s var(--cqc-ease);
}
@media print {
.ce-quick-contact { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
.ce-quick-contact,
.ce-quick-contact__pulse,
.ce-quick-contact__icon,
.ce-quick-contact__label {
animation: none !important;
transition: none !important;
}
.ce-quick-contact.is-shaking {
animation: none !important;
}
}
.ce-about-hero,
.ce-about-hero * {
box-sizing: border-box;
}
.ce-about-hero {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
margin-top: 0;
margin-bottom: 0;
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-60: rgba(3, 41, 95, 0.60);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-08: rgba(3, 41, 95, 0.08);
--ce-navy-04: rgba(3, 41, 95, 0.04);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-crimson: #c7272a;
--ce-crimson-90: rgba(199, 39, 42, 0.92);
--ce-crimson-15: rgba(199, 39, 42, 0.15);
--ce-white: #fefefe;
--ce-radius-sm: 8px;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3.5rem, 6vw, 5.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1100px;
position: relative;
isolation: isolate;
overflow: hidden;
padding: var(--ce-pad-y) 0;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
}
.ce-about-hero__bg {
position: absolute;
inset: 0;
z-index: -1;
pointer-events: none;
overflow: hidden;
}
.ce-about-hero__mesh {
position: absolute;
inset: 0;
background:
radial-gradient(ellipse 60% 40% at 50% 100%, var(--ce-navy-08) 0%, transparent 70%),
radial-gradient(ellipse 80% 50% at 50% 0%, var(--ce-navy-04) 0%, transparent 70%),
var(--ce-white);
}
.ce-about-hero__pulse-wrap {
position: absolute;
left: 0;
right: 0;
bottom: 8%;
height: 40%;
opacity: 0.45;
-webkit-mask-image: linear-gradient(to right, transparent 0%, #000 25%, #000 75%, transparent 100%);
mask-image: linear-gradient(to right, transparent 0%, #000 25%, #000 75%, transparent 100%);
}
.ce-about-hero__pulse {
width: 100%;
height: 100%;
display: block;
}
.ce-about-hero__container {
position: relative;
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
display: flex;
flex-direction: column;
align-items: center;
}
.ce-about-hero__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.625rem;
margin-bottom: 1.25rem;
font-size: 0.75rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-about-hero__eyebrow-mark {
width: 24px;
height: 1px;
background: currentColor;
flex-shrink: 0;
}
.ce-about-hero__heading {
margin: 0 0 clamp(1.25rem, 2.5vw, 1.75rem);
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(2rem, 5vw, 4rem);
line-height: 1.04;
letter-spacing: -0.035em;
color: var(--ce-navy);
}
.ce-about-hero__heading-row {
display: block;
}
.ce-about-hero__heading-row--accent {
margin-top: 0.18em;
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
font-size: 0.75em;
letter-spacing: -0.02em;
}
.ce-about-hero__heading-em {
color: var(--ce-navy-60);
}
.ce-about-hero__heading-strong {
position: relative;
color: var(--ce-crimson);
font-style: italic;
font-weight: 500;
white-space: nowrap;
}
.ce-about-hero__heading-strong::after {
content: '';
position: absolute;
left: 0;
right: 0;
bottom: 0.05em;
height: 0.42em;
background: var(--ce-crimson-15);
z-index: -1;
border-radius: 2px;
transform: skewX(-6deg);
}
.ce-about-hero__sub {
max-width: 44rem;
margin: 0 0 clamp(1.75rem, 3vw, 2.25rem);
font-size: clamp(0.9375rem, 1.15vw, 1.125rem);
line-height: 1.65;
color: var(--ce-navy-70);
font-weight: 400;
}
.ce-about-hero__cta-group {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 0.875rem;
margin-bottom: clamp(2rem, 3.5vw, 2.75rem);
}
.ce-about-hero__cta {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.625rem;
padding: 1.05rem 1.625rem;
border: 1px solid transparent;
border-radius: var(--ce-radius-sm);
font-family: inherit;
font-size: 0.9375rem;
font-weight: 500;
letter-spacing: -0.005em;
line-height: 1;
text-decoration: none;
cursor: pointer;
transition: transform 0.4s var(--ce-ease), background-color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), color 0.3s var(--ce-ease), box-shadow 0.4s var(--ce-ease);
}
.ce-about-hero__cta--primary {
background: var(--ce-crimson);
color: var(--ce-white);
box-shadow: 0 1px 0 rgba(255,255,255,0.15) inset, 0 8px 20px -8px var(--ce-crimson-90), 0 2px 4px var(--ce-navy-08);
}
.ce-about-hero__cta--primary:hover,
.ce-about-hero__cta--primary:focus-visible {
transform: translateY(-2px);
background: #b21f22;
box-shadow: 0 1px 0 rgba(255,255,255,0.18) inset, 0 14px 28px -10px var(--ce-crimson-90), 0 4px 8px var(--ce-navy-08);
}
.ce-about-hero__cta--secondary {
background: rgba(254, 254, 254, 0.7);
color: var(--ce-navy);
border-color: var(--ce-navy-15);
backdrop-filter: blur(6px);
-webkit-backdrop-filter: blur(6px);
}
.ce-about-hero__cta--secondary:hover,
.ce-about-hero__cta--secondary:focus-visible {
transform: translateY(-2px);
background: var(--ce-navy);
color: var(--ce-white);
border-color: var(--ce-navy);
box-shadow: 0 12px 24px -10px var(--ce-navy-40);
}
.ce-about-hero__cta:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: 3px;
}
.ce-about-hero__cta-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 18px;
height: 18px;
transition: transform 0.4s var(--ce-ease);
}
.ce-about-hero__cta-icon svg {
width: 100%;
height: 100%;
}
.ce-about-hero__cta--primary:hover .ce-about-hero__cta-icon:not(.ce-about-hero__cta-icon--lead) {
transform: translateX(4px);
}
.ce-about-hero__trust {
display: grid;
grid-template-columns: repeat(4, minmax(0, auto));
justify-content: center;
column-gap: clamp(2rem, 5vw, 3.5rem);
row-gap: 1.25rem;
margin: 0;
padding: 1.5rem 0 0;
list-style: none;
border-top: 1px solid var(--ce-navy-15);
}
.ce-about-hero__trust-item {
display: flex;
flex-direction: column;
align-items: center;
gap: 0.25rem;
text-align: center;
}
.ce-about-hero__trust-num {
font-size: clamp(1.125rem, 1.6vw, 1.375rem);
font-weight: 600;
letter-spacing: -0.02em;
color: var(--ce-navy);
line-height: 1.1;
}
.ce-about-hero__trust-label {
font-size: 0.75rem;
font-weight: 500;
color: var(--ce-navy-60);
line-height: 1.3;
}
@media (max-width: 600px) {
.ce-about-hero__trust {
grid-template-columns: repeat(2, minmax(0, auto));
column-gap: 2rem;
}
}
@media (max-width: 420px) {
.ce-about-hero__cta {
width: 100%;
}
.ce-about-hero__cta-group {
flex-direction: column;
align-items: stretch;
width: 100%;
max-width: 320px;
}
.ce-about-hero__heading-strong {
white-space: normal;
}
}
.ce-about-position,
.ce-about-position * {
box-sizing: border-box;
}
.ce-about-position {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-60: rgba(3, 41, 95, 0.60);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-08: rgba(3, 41, 95, 0.08);
--ce-navy-04: rgba(3, 41, 95, 0.04);
--ce-crimson: #c7272a;
--ce-crimson-15: rgba(199, 39, 42, 0.15);
--ce-white: #fefefe;
--ce-cream: #fbf8f3;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(2.5rem, 4.5vw, 4rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1100px;
background: var(--ce-cream);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
-webkit-font-smoothing: antialiased;
}
.ce-about-position__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-about-position__header {
max-width: 44rem;
margin: 0 auto clamp(1.75rem, 2.75vw, 2.25rem);
text-align: center;
}
.ce-about-position__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-about-position__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
flex-shrink: 0;
}
.ce-about-position__heading {
margin: 0;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.625rem, 3vw, 2.5rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-about-position__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-crimson);
}
.ce-about-position__body {
max-width: 56rem;
margin: 0 auto;
}
.ce-about-position__lead {
margin: 0 0 clamp(2rem, 3vw, 2.5rem);
font-family: var(--ce-font-serif);
font-weight: 400;
font-size: clamp(1.0625rem, 1.4vw, 1.3125rem);
line-height: 1.55;
color: var(--ce-navy);
letter-spacing: -0.015em;
text-align: center;
}
.ce-about-position__pillars {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: clamp(1.25rem, 2.5vw, 2rem);
}
.ce-about-position__pillar {
background: var(--ce-white);
padding: clamp(1.25rem, 2vw, 1.75rem);
border: 1px solid var(--ce-navy-08);
border-radius: 6px;
position: relative;
transition: transform 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), box-shadow 0.3s var(--ce-ease);
}
.ce-about-position__pillar:hover {
transform: translateY(-3px);
border-color: var(--ce-navy-15);
box-shadow: 0 12px 28px -14px rgba(3, 41, 95, 0.2);
}
.ce-about-position__pillar-mark {
display: inline-block;
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
font-size: 0.875rem;
color: var(--ce-crimson);
letter-spacing: 0.02em;
margin-bottom: 0.625rem;
}
.ce-about-position__pillar-title {
margin: 0 0 0.5rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(0.9375rem, 1.05vw, 1.0625rem);
line-height: 1.25;
letter-spacing: -0.015em;
color: var(--ce-navy);
}
.ce-about-position__pillar-copy {
margin: 0;
font-size: 0.8125rem;
line-height: 1.55;
color: var(--ce-navy-70);
}
@media (max-width: 900px) {
.ce-about-position__pillars {
grid-template-columns: 1fr;
max-width: 36rem;
margin: 0 auto;
}
}
.ce-about-pillars,
.ce-about-pillars * {
box-sizing: border-box;
}
.ce-about-pillars {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-dark: #021c43;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-navy-04: rgba(3, 41, 95, 0.04);
--ce-crimson: #c7272a;
--ce-crimson-15: rgba(199, 39, 42, 0.15);
--ce-white: #fefefe;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(2.75rem, 4.5vw, 4rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
-webkit-font-smoothing: antialiased;
}
.ce-about-pillars__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-about-pillars__header {
max-width: 44rem;
margin: 0 0 clamp(2rem, 3vw, 2.5rem);
}
.ce-about-pillars__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-about-pillars__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-about-pillars__heading {
margin: 0 0 0.625rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.625rem, 3vw, 2.5rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-about-pillars__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-about-pillars__intro {
margin: 0;
font-size: clamp(0.9375rem, 1vw, 1.0625rem);
line-height: 1.6;
color: var(--ce-navy-70);
max-width: 38rem;
}
.ce-about-pillars__grid {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: clamp(1rem, 1.75vw, 1.5rem);
}
.ce-about-pillars__card {
margin: 0;
background: var(--ce-white);
border: 1px solid var(--ce-navy-10);
border-radius: 6px;
overflow: hidden;
position: relative;
transition: border-color 0.3s var(--ce-ease), transform 0.3s var(--ce-ease), box-shadow 0.3s var(--ce-ease);
}
.ce-about-pillars__card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: var(--ce-crimson);
transform: scaleX(0);
transform-origin: left center;
transition: transform 0.45s var(--ce-ease);
}
.ce-about-pillars__card:hover {
border-color: var(--ce-navy);
transform: translateY(-3px);
box-shadow: 0 18px 36px -16px rgba(3, 41, 95, 0.22);
}
.ce-about-pillars__card:hover::before {
transform: scaleX(1);
}
.ce-about-pillars__card-link {
display: flex;
flex-direction: column;
align-items: flex-start;
height: 100%;
padding: clamp(1.5rem, 2.5vw, 2rem);
text-decoration: none;
color: inherit;
position: relative;
}
.ce-about-pillars__card-link:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: -2px;
border-radius: 6px;
}
.ce-about-pillars__card-num {
position: absolute;
top: 1rem;
right: 1.25rem;
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
font-size: 1rem;
color: var(--ce-crimson);
letter-spacing: 0.02em;
opacity: 0.6;
}
.ce-about-pillars__card-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 48px;
height: 48px;
border-radius: 50%;
background: var(--ce-white);
border: 1.5px solid var(--ce-crimson);
color: var(--ce-crimson);
margin-bottom: 1.25rem;
transition: background-color 0.3s var(--ce-ease), color 0.3s var(--ce-ease), transform 0.3s var(--ce-ease);
flex-shrink: 0;
}
.ce-about-pillars__card-icon svg {
width: 20px;
height: 20px;
}
.ce-about-pillars__card:hover .ce-about-pillars__card-icon {
background: var(--ce-crimson);
color: var(--ce-white);
transform: scale(1.05);
}
.ce-about-pillars__card-title {
margin: 0 0 0.625rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1rem, 1.2vw, 1.1875rem);
line-height: 1.25;
letter-spacing: -0.015em;
color: var(--ce-navy);
}
.ce-about-pillars__card-copy {
margin: 0 0 1.25rem;
font-size: 0.875rem;
line-height: 1.55;
color: var(--ce-navy-70);
flex-grow: 1;
}
.ce-about-pillars__card-cta {
display: inline-flex;
align-items: center;
gap: 0.375rem;
margin-top: auto;
font-size: 0.8125rem;
font-weight: 600;
color: var(--ce-crimson);
letter-spacing: 0.005em;
transition: gap 0.25s var(--ce-ease);
}
.ce-about-pillars__card-cta svg {
width: 12px;
height: 12px;
transition: transform 0.25s var(--ce-ease);
}
.ce-about-pillars__card:hover .ce-about-pillars__card-cta {
gap: 0.55rem;
}
.ce-about-pillars__card:hover .ce-about-pillars__card-cta svg {
transform: translateX(3px);
}
@media (max-width: 760px) {
.ce-about-pillars__grid {
grid-template-columns: 1fr;
}
}
.ce-about-fit,
.ce-about-fit * {
box-sizing: border-box;
}
.ce-about-fit {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-navy-04: rgba(3, 41, 95, 0.04);
--ce-crimson: #c7272a;
--ce-crimson-15: rgba(199, 39, 42, 0.15);
--ce-crimson-08: rgba(199, 39, 42, 0.08);
--ce-white: #fefefe;
--ce-cream: #fbf8f3;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(2.75rem, 4.5vw, 4rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-cream);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
-webkit-font-smoothing: antialiased;
}
.ce-about-fit__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-about-fit__header {
max-width: 44rem;
margin: 0 0 clamp(2rem, 3vw, 2.5rem);
}
.ce-about-fit__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-about-fit__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-about-fit__heading {
margin: 0 0 0.625rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.625rem, 3vw, 2.5rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-about-fit__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-about-fit__intro {
margin: 0;
font-size: clamp(0.9375rem, 1vw, 1.0625rem);
line-height: 1.6;
color: var(--ce-navy-70);
max-width: 40rem;
}
.ce-about-fit__grid {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: clamp(1rem, 1.75vw, 1.5rem);
}
.ce-about-fit__card {
background: var(--ce-white);
padding: clamp(1.5rem, 2.25vw, 2rem);
border-radius: 6px;
border: 1px solid var(--ce-navy-10);
border-left: 3px solid var(--ce-crimson);
display: flex;
flex-direction: column;
transition: transform 0.3s var(--ce-ease), box-shadow 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease);
}
.ce-about-fit__card:hover {
transform: translateY(-3px);
box-shadow: 0 16px 32px -14px rgba(3, 41, 95, 0.2);
border-color: var(--ce-navy-15);
border-left-color: var(--ce-crimson);
}
.ce-about-fit__card-tag {
display: inline-block;
align-self: flex-start;
margin-bottom: 1rem;
padding: 0.3rem 0.625rem;
background: var(--ce-crimson-08);
color: var(--ce-crimson);
border-radius: 4px;
font-family: var(--ce-font-sans);
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
line-height: 1;
}
.ce-about-fit__card-title {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.125rem, 1.4vw, 1.375rem);
line-height: 1.2;
letter-spacing: -0.02em;
color: var(--ce-navy);
}
.ce-about-fit__card-copy {
margin: 0 0 1.25rem;
font-size: 0.875rem;
line-height: 1.6;
color: var(--ce-navy-70);
flex-grow: 1;
}
.ce-about-fit__card-link {
display: inline-flex;
align-items: center;
gap: 0.4375rem;
align-self: flex-start;
margin-top: auto;
padding: 0.375rem 0;
font-size: 0.8125rem;
font-weight: 600;
color: var(--ce-navy);
text-decoration: none;
border-bottom: 1px solid var(--ce-navy);
transition: color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), gap 0.25s var(--ce-ease);
}
.ce-about-fit__card-link svg {
width: 12px;
height: 12px;
transition: transform 0.25s var(--ce-ease);
}
.ce-about-fit__card-link:hover,
.ce-about-fit__card-link:focus-visible {
color: var(--ce-crimson);
border-color: var(--ce-crimson);
gap: 0.625rem;
}
.ce-about-fit__card-link:hover svg,
.ce-about-fit__card-link:focus-visible svg {
transform: translateX(3px);
}
.ce-about-fit__card-link:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: 3px;
}
@media (max-width: 900px) {
.ce-about-fit__grid {
grid-template-columns: 1fr;
max-width: 38rem;
}
}
.ce-about-standards,
.ce-about-standards * {
box-sizing: border-box;
}
.ce-about-standards {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-deep: #021c43;
--ce-crimson: #c7272a;
--ce-crimson-soft: #e8444a;
--ce-white: #fefefe;
--ce-white-90: rgba(254, 254, 254, 0.92);
--ce-white-70: rgba(254, 254, 254, 0.72);
--ce-white-50: rgba(254, 254, 254, 0.50);
--ce-white-15: rgba(254, 254, 254, 0.15);
--ce-white-08: rgba(254, 254, 254, 0.08);
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(2.75rem, 4.5vw, 4rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
position: relative;
overflow: hidden;
background:
radial-gradient(ellipse 60% 50% at 100% 0%, rgba(199, 39, 42, 0.15) 0%, transparent 60%),
radial-gradient(ellipse 70% 60% at 0% 100%, rgba(10, 53, 115, 0.55) 0%, transparent 65%),
linear-gradient(135deg, var(--ce-navy) 0%, var(--ce-navy-deep) 100%);
color: var(--ce-white-90);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
-webkit-font-smoothing: antialiased;
}
.ce-about-standards__pulse {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 28px;
opacity: 0.55;
pointer-events: none;
z-index: 1;
}
.ce-about-standards__pulse svg {
width: 100%;
height: 100%;
display: block;
}
.ce-about-standards__container {
position: relative;
z-index: 2;
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-about-standards__header {
max-width: 44rem;
margin: 0 0 clamp(2rem, 3vw, 2.5rem);
}
.ce-about-standards__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson-soft);
line-height: 1;
}
.ce-about-standards__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-about-standards__heading {
margin: 0;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.625rem, 3vw, 2.5rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-white);
}
.ce-about-standards__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-white-70);
}
.ce-about-standards__grid {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: clamp(1rem, 1.5vw, 1.5rem);
}
.ce-about-standards__item {
background: rgba(254, 254, 254, 0.04);
padding: clamp(1.25rem, 2vw, 1.625rem);
border-radius: 6px;
border: 1px solid var(--ce-white-08);
display: flex;
flex-direction: column;
transition: background-color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), transform 0.3s var(--ce-ease);
}
.ce-about-standards__item:hover {
background: rgba(254, 254, 254, 0.07);
border-color: var(--ce-white-15);
transform: translateY(-2px);
}
.ce-about-standards__item-mark {
display: inline-flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
border-radius: 50%;
background: var(--ce-crimson);
color: var(--ce-white);
margin-bottom: 1rem;
flex-shrink: 0;
}
.ce-about-standards__item-mark svg {
width: 18px;
height: 18px;
}
.ce-about-standards__item-title {
margin: 0 0 0.5rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(0.9375rem, 1.1vw, 1.0625rem);
line-height: 1.25;
letter-spacing: -0.015em;
color: var(--ce-white);
}
.ce-about-standards__item-copy {
margin: 0 0 1rem;
font-size: 0.8125rem;
line-height: 1.55;
color: var(--ce-white-70);
flex-grow: 1;
}
.ce-about-standards__item-link {
display: inline-flex;
align-items: center;
gap: 0.4375rem;
align-self: flex-start;
margin-top: auto;
font-size: 0.75rem;
font-weight: 600;
color: var(--ce-crimson-soft);
text-decoration: none;
letter-spacing: 0.02em;
transition: color 0.25s var(--ce-ease), gap 0.25s var(--ce-ease);
}
.ce-about-standards__item-link svg {
width: 11px;
height: 11px;
transition: transform 0.25s var(--ce-ease);
}
.ce-about-standards__item-link:hover,
.ce-about-standards__item-link:focus-visible {
color: var(--ce-white);
gap: 0.625rem;
}
.ce-about-standards__item-link:hover svg,
.ce-about-standards__item-link:focus-visible svg {
transform: translate(2px, -2px);
}
.ce-about-standards__item-link:focus-visible {
outline: 2px solid var(--ce-crimson-soft);
outline-offset: 3px;
}
@media (max-width: 1024px) {
.ce-about-standards__grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 540px) {
.ce-about-standards__grid {
grid-template-columns: 1fr;
}
}
.ce-about-explore,
.ce-about-explore * {
box-sizing: border-box;
}
.ce-about-explore {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-navy-04: rgba(3, 41, 95, 0.04);
--ce-crimson: #c7272a;
--ce-white: #fefefe;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(2.75rem, 4.5vw, 4rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
-webkit-font-smoothing: antialiased;
}
.ce-about-explore__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-about-explore__header {
max-width: 44rem;
margin: 0 0 clamp(1.75rem, 2.75vw, 2.25rem);
}
.ce-about-explore__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-about-explore__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-about-explore__heading {
margin: 0;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.625rem, 3vw, 2.5rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-about-explore__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-about-explore__grid {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: clamp(1rem, 1.75vw, 1.5rem);
}
.ce-about-explore__card {
margin: 0;
background: var(--ce-white);
border: 1px solid var(--ce-navy-10);
border-radius: 6px;
overflow: hidden;
position: relative;
transition: border-color 0.3s var(--ce-ease), transform 0.3s var(--ce-ease), box-shadow 0.3s var(--ce-ease);
}
.ce-about-explore__card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: var(--ce-crimson);
transform: scaleX(0);
transform-origin: left center;
transition: transform 0.45s var(--ce-ease);
}
.ce-about-explore__card:hover {
border-color: var(--ce-navy);
transform: translateY(-3px);
box-shadow: 0 16px 32px -14px rgba(3, 41, 95, 0.2);
}
.ce-about-explore__card:hover::before {
transform: scaleX(1);
}
.ce-about-explore__card-link {
display: flex;
flex-direction: column;
height: 100%;
padding: clamp(1.5rem, 2.25vw, 2rem);
text-decoration: none;
color: inherit;
}
.ce-about-explore__card-link:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: -2px;
border-radius: 6px;
}
.ce-about-explore__card-num {
display: inline-block;
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
font-size: 0.875rem;
color: var(--ce-crimson);
margin-bottom: 0.875rem;
letter-spacing: 0.02em;
}
.ce-about-explore__card-title {
margin: 0 0 0.625rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.0625rem, 1.3vw, 1.25rem);
line-height: 1.2;
letter-spacing: -0.02em;
color: var(--ce-navy);
}
.ce-about-explore__card-copy {
margin: 0 0 1.25rem;
font-size: 0.875rem;
line-height: 1.55;
color: var(--ce-navy-70);
flex-grow: 1;
}
.ce-about-explore__card-cta {
display: inline-flex;
align-items: center;
gap: 0.4375rem;
margin-top: auto;
font-size: 0.8125rem;
font-weight: 600;
color: var(--ce-crimson);
transition: gap 0.25s var(--ce-ease);
}
.ce-about-explore__card-cta svg {
width: 12px;
height: 12px;
transition: transform 0.25s var(--ce-ease);
}
.ce-about-explore__card:hover .ce-about-explore__card-cta {
gap: 0.65rem;
}
.ce-about-explore__card:hover .ce-about-explore__card-cta svg {
transform: translateX(3px);
}
@media (max-width: 900px) {
.ce-about-explore__grid {
grid-template-columns: 1fr;
max-width: 38rem;
}
}
.ce-about-cta,
.ce-about-cta * {
box-sizing: border-box;
}
.ce-about-cta {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-deep: #021c43;
--ce-crimson: #c7272a;
--ce-white: #fefefe;
--ce-white-90: rgba(254, 254, 254, 0.92);
--ce-white-70: rgba(254, 254, 254, 0.72);
--ce-white-25: rgba(254, 254, 254, 0.25);
--ce-white-15: rgba(254, 254, 254, 0.15);
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(2.75rem, 4.5vw, 4rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1100px;
position: relative;
overflow: hidden;
background: var(--ce-crimson);
color: var(--ce-white);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
-webkit-font-smoothing: antialiased;
}
.ce-about-cta__pulse {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 32px;
pointer-events: none;
opacity: 0.6;
z-index: 1;
}
.ce-about-cta__pulse svg {
width: 100%;
height: 100%;
display: block;
}
.ce-about-cta__container {
position: relative;
z-index: 2;
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-about-cta__content {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
}
.ce-about-cta__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.625rem;
margin-bottom: 1rem;
font-size: 0.75rem;
font-weight: 600;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--ce-white);
line-height: 1;
}
.ce-about-cta__eyebrow-mark {
width: 24px;
height: 1px;
background: currentColor;
}
.ce-about-cta__heading {
margin: 0 0 1rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.75rem, 3.4vw, 2.875rem);
line-height: 1.05;
letter-spacing: -0.025em;
color: var(--ce-white);
max-width: 24ch;
}
.ce-about-cta__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-white);
background-image: linear-gradient(to top, rgba(254, 254, 254, 0.25) 12%, transparent 12%, transparent 100%);
}
.ce-about-cta__sub {
margin: 0 0 clamp(1.5rem, 2.5vw, 2rem);
max-width: 40rem;
font-size: clamp(0.9375rem, 1.05vw, 1.0625rem);
line-height: 1.55;
color: var(--ce-white-90);
}
.ce-about-cta__actions {
display: flex;
flex-wrap: wrap;
align-items: stretch;
justify-content: center;
gap: 0.75rem;
margin-bottom: clamp(1.25rem, 2vw, 1.5rem);
}
.ce-about-cta__btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.625rem;
padding: 1rem 1.625rem;
border: 1.5px solid transparent;
border-radius: 6px;
font-family: inherit;
text-decoration: none;
cursor: pointer;
transition: transform 0.35s var(--ce-ease), background-color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), color 0.3s var(--ce-ease), box-shadow 0.4s var(--ce-ease);
min-width: 200px;
font-size: 0.9375rem;
font-weight: 600;
letter-spacing: -0.005em;
line-height: 1;
}
.ce-about-cta__btn-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 18px;
height: 18px;
flex-shrink: 0;
transition: transform 0.35s var(--ce-ease);
}
.ce-about-cta__btn-icon svg {
width: 100%;
height: 100%;
}
.ce-about-cta__btn--primary {
background: var(--ce-navy);
color: var(--ce-white);
box-shadow: 0 1px 0 rgba(255,255,255,0.12) inset, 0 6px 16px -6px rgba(2, 28, 67, 0.5);
}
.ce-about-cta__btn--primary:hover,
.ce-about-cta__btn--primary:focus-visible {
background: var(--ce-navy-deep);
transform: translateY(-2px);
box-shadow: 0 1px 0 rgba(255,255,255,0.15) inset, 0 12px 24px -8px rgba(2, 28, 67, 0.6);
}
.ce-about-cta__btn--primary:hover .ce-about-cta__btn-icon:not(.ce-about-cta__btn-icon--lead) {
transform: translateX(4px);
}
.ce-about-cta__btn--secondary {
background: transparent;
color: var(--ce-white);
border-color: rgba(254, 254, 254, 0.45);
}
.ce-about-cta__btn--secondary:hover,
.ce-about-cta__btn--secondary:focus-visible {
background: var(--ce-white);
color: var(--ce-crimson);
border-color: var(--ce-white);
transform: translateY(-2px);
}
.ce-about-cta__btn:focus-visible {
outline: 2px solid var(--ce-white);
outline-offset: 3px;
}
.ce-about-cta__trust {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
gap: 0.5rem 1rem;
margin: 0;
font-size: 0.8125rem;
font-weight: 500;
color: var(--ce-white-70);
}
.ce-about-cta__trust-item {
display: inline-flex;
align-items: center;
gap: 0.4rem;
line-height: 1.3;
}
.ce-about-cta__trust-item svg {
width: 13px;
height: 13px;
flex-shrink: 0;
color: var(--ce-white);
}
.ce-about-cta__trust-divider {
width: 1px;
height: 14px;
background: var(--ce-white-25);
}
@media (max-width: 760px) {
.ce-about-cta__btn {
min-width: 0;
flex: 1 1 100%;
max-width: 360px;
}
}
@media (max-width: 540px) {
.ce-about-cta__actions {
flex-direction: column;
align-items: stretch;
width: 100%;
max-width: 360px;
}
.ce-about-cta__btn {
max-width: 100%;
}
}
@media (max-width: 420px) {
.ce-about-cta__trust-divider {
display: none;
}
.ce-about-cta__trust {
flex-direction: column;
gap: 0.4rem;
}
}
.ce-about-hero [data-animate],
.ce-about-position [data-animate],
.ce-about-pillars [data-animate],
.ce-about-fit [data-animate],
.ce-about-standards [data-animate],
.ce-about-explore [data-animate],
.ce-about-cta [data-animate] {
opacity: 0;
transform: translateY(20px);
transition:
opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
}
.ce-about-hero [data-animate].is-visible,
.ce-about-position [data-animate].is-visible,
.ce-about-pillars [data-animate].is-visible,
.ce-about-fit [data-animate].is-visible,
.ce-about-standards [data-animate].is-visible,
.ce-about-explore [data-animate].is-visible,
.ce-about-cta [data-animate].is-visible {
opacity: 1;
transform: translate(0, 0);
}
@media (prefers-reduced-motion: reduce) {
.ce-about-hero [data-animate],
.ce-about-position [data-animate],
.ce-about-pillars [data-animate],
.ce-about-fit [data-animate],
.ce-about-standards [data-animate],
.ce-about-explore [data-animate],
.ce-about-cta [data-animate] {
opacity: 1 !important;
transform: none !important;
transition: none !important;
}
}
.ce-reports-hero,
.ce-reports-hero * {
box-sizing: border-box;
}
.ce-reports-hero {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-60: rgba(3, 41, 95, 0.60);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-08: rgba(3, 41, 95, 0.08);
--ce-navy-04: rgba(3, 41, 95, 0.04);
--ce-crimson: #c7272a;
--ce-crimson-90: rgba(199, 39, 42, 0.92);
--ce-crimson-15: rgba(199, 39, 42, 0.15);
--ce-white: #fefefe;
--ce-radius-sm: 8px;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3.5rem, 6vw, 6rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
--ce-rep-photo-width: 55%;
--ce-rep-photo-opacity: 1;
--ce-rep-photo-tint: 0.5;
--ce-rep-photo-saturation: 0.85;
--ce-rep-photo-offset-x: 18%;
position: relative;
isolation: isolate;
overflow: hidden;
padding: var(--ce-pad-y) 0;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.ce-reports-hero__bg {
position: absolute;
inset: 0;
z-index: -3;
pointer-events: none;
overflow: hidden;
}
.ce-reports-hero__mesh {
position: absolute;
inset: 0;
background:
radial-gradient(ellipse 75% 60% at 5% 95%, var(--ce-navy-08) 0%, transparent 65%),
radial-gradient(ellipse 50% 40% at 30% 50%, var(--ce-navy-04) 0%, transparent 70%),
radial-gradient(ellipse 60% 80% at 92% 50%, rgba(3, 41, 95, 0.06) 0%, transparent 65%),
var(--ce-white);
}
.ce-reports-hero__pulse-wrap {
position: absolute;
left: 0;
right: 0;
top: 72%;
height: 32%;
transform: translateY(-50%);
opacity: 0.75;
-webkit-mask-image: linear-gradient(to right, #000 0%, #000 25%, rgba(0,0,0,0.35) 50%, transparent 72%);
mask-image: linear-gradient(to right, #000 0%, #000 25%, rgba(0,0,0,0.35) 50%, transparent 72%);
}
.ce-reports-hero__pulse {
width: 100%;
height: 100%;
display: block;
}
.ce-reports-hero__visual {
position: absolute;
top: 0;
right: 0;
bottom: 0;
width: var(--ce-rep-photo-width);
max-width: 880px;
z-index: -1;
pointer-events: none;
overflow: hidden;
opacity: var(--ce-rep-photo-opacity);
}
.ce-reports-hero__visual-wash {
position: absolute;
inset: 0;
background: linear-gradient(
to right,
transparent 0%,
rgba(3, 41, 95, 0.02) 25%,
rgba(3, 41, 95, 0.05) 45%,
rgba(3, 41, 95, 0.08) 65%,
rgba(3, 41, 95, 0.11) 85%,
rgba(3, 41, 95, 0.14) 100%
);
}
.ce-reports-hero__visual-inner {
position: absolute;
inset: 0;
transform: scale(1.02);
}
.ce-reports-hero__photo {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center right;
transform: translateX(var(--ce-rep-photo-offset-x));
-webkit-mask-image:
linear-gradient(to right,
transparent 0%,
rgba(0,0,0,0.02) 5%,
rgba(0,0,0,0.08) 14%,
rgba(0,0,0,0.20) 24%,
rgba(0,0,0,0.38) 35%,
rgba(0,0,0,0.58) 47%,
rgba(0,0,0,0.78) 60%,
rgba(0,0,0,0.92) 75%,
#000 90%,
#000 100%),
linear-gradient(to bottom,
transparent 0%,
rgba(0,0,0,0.6) 6%,
#000 14%,
#000 86%,
rgba(0,0,0,0.6) 94%,
transparent 100%);
mask-image:
linear-gradient(to right,
transparent 0%,
rgba(0,0,0,0.02) 5%,
rgba(0,0,0,0.08) 14%,
rgba(0,0,0,0.20) 24%,
rgba(0,0,0,0.38) 35%,
rgba(0,0,0,0.58) 47%,
rgba(0,0,0,0.78) 60%,
rgba(0,0,0,0.92) 75%,
#000 90%,
#000 100%),
linear-gradient(to bottom,
transparent 0%,
rgba(0,0,0,0.6) 6%,
#000 14%,
#000 86%,
rgba(0,0,0,0.6) 94%,
transparent 100%);
-webkit-mask-composite: source-in;
mask-composite: intersect;
filter: saturate(var(--ce-rep-photo-saturation)) contrast(1.12) brightness(1.08);
}
.ce-reports-hero__visual::after {
content: '';
position: absolute;
inset: 0;
opacity: var(--ce-rep-photo-tint);
background:
linear-gradient(115deg,
rgba(3, 41, 95, 0.42) 0%,
rgba(3, 41, 95, 0.20) 35%,
rgba(3, 41, 95, 0.08) 60%,
rgba(3, 41, 95, 0.05) 100%),
radial-gradient(ellipse at 100% 50%, rgba(199, 39, 42, 0.06), transparent 60%);
pointer-events: none;
-webkit-mask-image: linear-gradient(to right, transparent 0%, transparent 22%, rgba(0,0,0,0.05) 35%, rgba(0,0,0,0.25) 55%, rgba(0,0,0,0.6) 75%, #000 95%);
mask-image: linear-gradient(to right, transparent 0%, transparent 22%, rgba(0,0,0,0.05) 35%, rgba(0,0,0,0.25) 55%, rgba(0,0,0,0.6) 75%, #000 95%);
}
.ce-reports-hero__container {
position: relative;
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-reports-hero__content {
max-width: 38rem;
}
.ce-reports-hero__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.625rem;
margin-bottom: 1.25rem;
font-size: 0.75rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-reports-hero__eyebrow-mark {
width: 24px;
height: 1px;
background: currentColor;
flex-shrink: 0;
}
.ce-reports-hero__heading {
margin: 0 0 clamp(1.25rem, 2.5vw, 1.75rem);
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(2rem, 5vw, 4rem);
line-height: 1.04;
letter-spacing: -0.035em;
color: var(--ce-navy);
}
.ce-reports-hero__heading-row {
display: block;
}
.ce-reports-hero__heading-row--accent {
margin-top: 0.18em;
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
font-size: 0.75em;
letter-spacing: -0.02em;
}
.ce-reports-hero__heading-em {
color: var(--ce-navy-60);
}
.ce-reports-hero__heading-strong {
position: relative;
color: var(--ce-crimson);
font-style: italic;
font-weight: 500;
white-space: nowrap;
}
.ce-reports-hero__heading-strong::after {
content: '';
position: absolute;
left: 0;
right: 0;
bottom: 0.05em;
height: 0.42em;
background: var(--ce-crimson-15);
z-index: -1;
border-radius: 2px;
transform: skewX(-6deg);
}
.ce-reports-hero__sub {
max-width: 36rem;
margin: 0 0 clamp(1.75rem, 3vw, 2.25rem);
font-size: clamp(0.9375rem, 1.2vw, 1.125rem);
line-height: 1.6;
color: var(--ce-navy-70);
font-weight: 400;
}
.ce-reports-hero__sub-link {
color: var(--ce-navy);
text-decoration: underline;
text-decoration-color: var(--ce-navy-40);
text-underline-offset: 3px;
text-decoration-thickness: 1px;
transition: text-decoration-color 0.25s var(--ce-ease), color 0.25s var(--ce-ease);
}
.ce-reports-hero__sub-link:hover,
.ce-reports-hero__sub-link:focus-visible {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
.ce-reports-hero__cta-group {
display: flex;
flex-wrap: wrap;
gap: 0.875rem;
margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
}
.ce-reports-hero__cta {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.625rem;
padding: 1.05rem 1.625rem;
border: 1px solid transparent;
border-radius: var(--ce-radius-sm);
font-family: inherit;
font-size: 0.9375rem;
font-weight: 500;
letter-spacing: -0.005em;
line-height: 1;
text-decoration: none;
cursor: pointer;
transition: transform 0.4s var(--ce-ease), background-color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), color 0.3s var(--ce-ease), box-shadow 0.4s var(--ce-ease);
}
.ce-reports-hero__cta--primary {
background: var(--ce-crimson);
color: var(--ce-white);
box-shadow: 0 1px 0 rgba(255,255,255,0.15) inset, 0 8px 20px -8px var(--ce-crimson-90), 0 2px 4px var(--ce-navy-08);
}
.ce-reports-hero__cta--primary:hover,
.ce-reports-hero__cta--primary:focus-visible {
transform: translateY(-2px);
background: #b21f22;
box-shadow: 0 1px 0 rgba(255,255,255,0.18) inset, 0 14px 28px -10px var(--ce-crimson-90), 0 4px 8px var(--ce-navy-08);
}
.ce-reports-hero__cta--secondary {
background: rgba(254, 254, 254, 0.7);
color: var(--ce-navy);
border-color: var(--ce-navy-15);
backdrop-filter: blur(6px);
-webkit-backdrop-filter: blur(6px);
}
.ce-reports-hero__cta--secondary:hover,
.ce-reports-hero__cta--secondary:focus-visible {
transform: translateY(-2px);
background: var(--ce-navy);
color: var(--ce-white);
border-color: var(--ce-navy);
box-shadow: 0 12px 24px -10px var(--ce-navy-40);
}
.ce-reports-hero__cta:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: 3px;
}
.ce-reports-hero__cta-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 18px;
height: 18px;
transition: transform 0.4s var(--ce-ease);
}
.ce-reports-hero__cta-icon svg {
width: 100%;
height: 100%;
}
.ce-reports-hero__cta--primary:hover .ce-reports-hero__cta-icon:not(.ce-reports-hero__cta-icon--lead) {
transform: translateX(4px);
}
.ce-reports-hero__chips {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
list-style: none;
margin: 0;
padding: 1.25rem 0 0;
border-top: 1px solid var(--ce-navy-15);
}
.ce-reports-hero__chip {
display: inline-flex;
align-items: center;
padding: 0.375rem 0.75rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.04em;
text-transform: uppercase;
color: var(--ce-navy-70);
background: rgba(3, 41, 95, 0.05);
border: 1px solid var(--ce-navy-08);
border-radius: 999px;
line-height: 1;
}
@media (max-width: 1024px) {
.ce-reports-hero {
--ce-rep-photo-width: 50%;
}
}
@media (max-width: 820px) {
.ce-reports-hero {
--ce-rep-photo-width: 75%;
--ce-rep-photo-opacity: 0.35;
}
.ce-reports-hero__content {
max-width: 100%;
}
}
@media (max-width: 640px) {
.ce-reports-hero {
--ce-rep-photo-width: 100%;
--ce-rep-photo-opacity: 0.18;
}
}
@media (max-width: 420px) {
.ce-reports-hero__cta {
width: 100%;
}
.ce-reports-hero__cta-group {
flex-direction: column;
}
.ce-reports-hero__heading-strong {
white-space: normal;
}
}
.ce-reports-strip,
.ce-reports-strip * {
box-sizing: border-box;
}
.ce-reports-strip {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-crimson: #c7272a;
--ce-white: #fefefe;
--ce-cream: #fbf8f3;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(1.5rem, 2.5vw, 2rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-cream);
border-top: 1px solid var(--ce-navy-10);
border-bottom: 1px solid var(--ce-navy-10);
padding: var(--ce-pad-y) 0;
font-family: var(--ce-font-sans);
}
.ce-reports-strip__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-reports-strip__list {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: clamp(0.625rem, 1vw, 1rem);
}
.ce-reports-strip__link {
display: flex;
align-items: center;
gap: 1rem;
padding: 1rem 1.25rem;
background: var(--ce-white);
border: 1px solid var(--ce-navy-10);
border-radius: 6px;
text-decoration: none;
color: inherit;
transition: border-color 0.3s var(--ce-ease), transform 0.3s var(--ce-ease), box-shadow 0.3s var(--ce-ease);
}
.ce-reports-strip__link:hover,
.ce-reports-strip__link:focus-visible {
border-color: var(--ce-navy);
transform: translateY(-2px);
box-shadow: 0 10px 24px -12px rgba(3, 41, 95, 0.22);
}
.ce-reports-strip__link:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: 2px;
}
.ce-reports-strip__num {
flex-shrink: 0;
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
font-size: 1.5rem;
color: var(--ce-crimson);
letter-spacing: 0.02em;
line-height: 1;
}
.ce-reports-strip__body {
flex: 1;
min-width: 0;
display: flex;
flex-direction: column;
gap: 0.125rem;
}
.ce-reports-strip__title {
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: 0.9375rem;
line-height: 1.25;
letter-spacing: -0.015em;
color: var(--ce-navy);
}
.ce-reports-strip__desc {
font-size: 0.75rem;
color: var(--ce-navy-70);
line-height: 1.35;
}
.ce-reports-strip__arrow {
flex-shrink: 0;
display: inline-flex;
align-items: center;
justify-content: center;
width: 28px;
height: 28px;
color: var(--ce-navy-70);
transition: transform 0.3s var(--ce-ease), color 0.3s var(--ce-ease);
}
.ce-reports-strip__arrow svg {
width: 16px;
height: 16px;
}
.ce-reports-strip__link:hover .ce-reports-strip__arrow,
.ce-reports-strip__link:focus-visible .ce-reports-strip__arrow {
color: var(--ce-crimson);
transform: translateX(3px);
}
@media (max-width: 900px) {
.ce-reports-strip__list {
grid-template-columns: 1fr;
}
}
.ce-reports-catalogue,
.ce-reports-catalogue * {
box-sizing: border-box;
}
.ce-reports-catalogue {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-crimson: #c7272a;
--ce-crimson-15: rgba(199, 39, 42, 0.15);
--ce-crimson-08: rgba(199, 39, 42, 0.08);
--ce-white: #fefefe;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-reports-catalogue__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-reports-catalogue__header {
max-width: 48rem;
margin: 0 0 clamp(2.25rem, 3.5vw, 3rem);
}
.ce-reports-catalogue__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-reports-catalogue__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-reports-catalogue__heading {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.625rem, 3vw, 2.5rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-reports-catalogue__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-reports-catalogue__intro {
margin: 0;
font-size: clamp(0.9375rem, 1vw, 1.0625rem);
line-height: 1.6;
color: var(--ce-navy-70);
max-width: 42rem;
}
.ce-reports-catalogue__group {
margin-bottom: clamp(2.5rem, 4vw, 3.5rem);
scroll-margin-top: 120px;
}
.ce-reports-catalogue__group:last-child {
margin-bottom: 0;
}
.ce-reports-catalogue__group-head {
display: grid;
grid-template-columns: auto 1fr;
column-gap: 1.25rem;
row-gap: 0.375rem;
align-items: baseline;
padding-bottom: clamp(1rem, 1.75vw, 1.5rem);
margin-bottom: clamp(1.25rem, 2vw, 1.75rem);
border-bottom: 1px solid var(--ce-navy-15);
}
.ce-reports-catalogue__group-num {
grid-row: 1 / span 2;
align-self: start;
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
font-size: clamp(2rem, 3vw, 2.625rem);
color: var(--ce-crimson);
line-height: 1;
letter-spacing: -0.01em;
}
.ce-reports-catalogue__group-title {
grid-column: 2;
margin: 0;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.125rem, 1.6vw, 1.4375rem);
line-height: 1.2;
letter-spacing: -0.02em;
color: var(--ce-navy);
}
.ce-reports-catalogue__group-desc {
grid-column: 2;
margin: 0;
font-size: 0.875rem;
line-height: 1.55;
color: var(--ce-navy-70);
max-width: 48rem;
}
.ce-reports-catalogue__grid {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: clamp(0.75rem, 1.25vw, 1.125rem);
}
.ce-reports-catalogue__card {
margin: 0;
background: var(--ce-white);
border: 1px solid var(--ce-navy-10);
border-radius: 6px;
overflow: hidden;
position: relative;
transition: border-color 0.3s var(--ce-ease), transform 0.3s var(--ce-ease), box-shadow 0.3s var(--ce-ease);
}
.ce-reports-catalogue__card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: var(--ce-crimson);
transform: scaleX(0);
transform-origin: left center;
transition: transform 0.45s var(--ce-ease);
}
.ce-reports-catalogue__card:hover {
border-color: var(--ce-navy);
transform: translateY(-3px);
box-shadow: 0 18px 36px -16px rgba(3, 41, 95, 0.22);
}
.ce-reports-catalogue__card:hover::before {
transform: scaleX(1);
}
.ce-reports-catalogue__card-link {
display: flex;
flex-direction: column;
height: 100%;
padding: clamp(1.125rem, 1.75vw, 1.5rem);
text-decoration: none;
color: inherit;
}
.ce-reports-catalogue__card-link:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: -2px;
border-radius: 6px;
}
.ce-reports-catalogue__card-tag {
display: inline-block;
align-self: flex-start;
margin-bottom: 0.75rem;
padding: 0.25rem 0.5rem;
background: var(--ce-crimson-08);
color: var(--ce-crimson);
border-radius: 3px;
font-size: 0.625rem;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
line-height: 1;
}
.ce-reports-catalogue__card-title {
margin: 0 0 0.5rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(0.9375rem, 1.05vw, 1.0625rem);
line-height: 1.25;
letter-spacing: -0.015em;
color: var(--ce-navy);
}
.ce-reports-catalogue__card-copy {
margin: 0 0 1rem;
font-size: 0.8125rem;
line-height: 1.55;
color: var(--ce-navy-70);
flex-grow: 1;
}
.ce-reports-catalogue__card-cta {
display: inline-flex;
align-items: center;
gap: 0.375rem;
margin-top: auto;
font-size: 0.75rem;
font-weight: 600;
color: var(--ce-crimson);
letter-spacing: 0.005em;
transition: gap 0.25s var(--ce-ease);
}
.ce-reports-catalogue__card-cta svg {
width: 11px;
height: 11px;
transition: transform 0.25s var(--ce-ease);
}
.ce-reports-catalogue__card:hover .ce-reports-catalogue__card-cta {
gap: 0.55rem;
}
.ce-reports-catalogue__card:hover .ce-reports-catalogue__card-cta svg {
transform: translateX(2px);
}
@media (max-width: 1100px) {
.ce-reports-catalogue__grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 540px) {
.ce-reports-catalogue__grid {
grid-template-columns: 1fr;
}
}
.ce-reports-additional,
.ce-reports-additional * {
box-sizing: border-box;
}
.ce-reports-additional {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-50: rgba(3, 41, 95, 0.50);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-crimson: #c7272a;
--ce-white: #fefefe;
--ce-cream: #fbf8f3;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1100px;
background: var(--ce-cream);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-reports-additional__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-reports-additional__header {
max-width: 44rem;
margin: 0 0 clamp(2.25rem, 3.5vw, 3rem);
}
.ce-reports-additional__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-reports-additional__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-reports-additional__heading {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.625rem, 3vw, 2.5rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-reports-additional__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-reports-additional__intro {
margin: 0;
font-size: clamp(0.9375rem, 1vw, 1.0625rem);
line-height: 1.6;
color: var(--ce-navy-70);
max-width: 42rem;
}
.ce-reports-additional__entries {
display: flex;
flex-direction: column;
gap: 0;
}
.ce-reports-additional__entry {
display: grid;
grid-template-columns: 18rem 1fr;
gap: clamp(1.5rem, 3vw, 3rem);
padding: clamp(1.75rem, 3vw, 2.5rem) 0;
border-top: 1px solid var(--ce-navy-15);
scroll-margin-top: 120px;
}
.ce-reports-additional__entry:first-child {
border-top: 0;
padding-top: 0;
}
.ce-reports-additional__entry-side {
display: flex;
flex-direction: column;
gap: 0.5rem;
}
.ce-reports-additional__entry-num {
display: inline-block;
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
font-size: clamp(2.25rem, 3.5vw, 3rem);
color: var(--ce-crimson);
line-height: 1;
letter-spacing: -0.01em;
margin-bottom: 0.5rem;
}
.ce-reports-additional__entry-title {
margin: 0;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.125rem, 1.5vw, 1.375rem);
line-height: 1.2;
letter-spacing: -0.02em;
color: var(--ce-navy);
}
.ce-reports-additional__entry-tag {
display: inline-block;
font-size: 0.75rem;
font-weight: 500;
color: var(--ce-navy-70);
line-height: 1.4;
}
.ce-reports-additional__entry-body {
min-width: 0;
}
.ce-reports-additional__entry-body p {
margin: 0 0 0.875rem;
font-size: 0.9375rem;
line-height: 1.65;
color: var(--ce-navy);
}
.ce-reports-additional__entry-body p:last-child {
margin-bottom: 0;
}
.ce-reports-additional__entry-meta {
font-size: 0.8125rem !important;
color: var(--ce-navy-70) !important;
padding-top: 0.5rem;
border-top: 1px dashed var(--ce-navy-15);
}
.ce-reports-additional__entry-body a {
color: var(--ce-navy);
text-decoration: underline;
text-decoration-color: var(--ce-navy-40);
text-underline-offset: 3px;
text-decoration-thickness: 1px;
transition: color 0.25s var(--ce-ease), text-decoration-color 0.25s var(--ce-ease);
}
.ce-reports-additional__entry-body a:hover,
.ce-reports-additional__entry-body a:focus-visible {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
@media (max-width: 760px) {
.ce-reports-additional__entry {
grid-template-columns: 1fr;
gap: 1rem;
}
}
.ce-reports-process,
.ce-reports-process * {
box-sizing: border-box;
}
.ce-reports-process {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-crimson: #c7272a;
--ce-white: #fefefe;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-reports-process__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-reports-process__layout {
display: grid;
grid-template-columns: 1fr 0.7fr;
gap: clamp(2rem, 4vw, 3.5rem);
align-items: center;
margin-bottom: clamp(2rem, 3vw, 2.75rem);
}
.ce-reports-process__intro {
max-width: 36rem;
}
.ce-reports-process__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-reports-process__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-reports-process__heading {
margin: 0 0 1rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-reports-process__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-reports-process__copy {
margin: 0 0 0.875rem;
font-size: 0.9375rem;
line-height: 1.6;
color: var(--ce-navy-70);
}
.ce-reports-process__copy:last-child {
margin-bottom: 0;
}
.ce-reports-process__visual {
border-radius: 8px;
overflow: hidden;
aspect-ratio: 4 / 3;
position: relative;
background: var(--ce-navy);
}
.ce-reports-process__img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
opacity: 0.92;
}
.ce-reports-process__grid {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: clamp(0.875rem, 1.5vw, 1.25rem);
}
.ce-reports-process__card {
margin: 0;
background: var(--ce-white);
border: 1px solid var(--ce-navy-10);
border-radius: 6px;
overflow: hidden;
transition: border-color 0.3s var(--ce-ease), transform 0.3s var(--ce-ease), box-shadow 0.3s var(--ce-ease);
}
.ce-reports-process__card:hover {
border-color: var(--ce-navy);
transform: translateY(-3px);
box-shadow: 0 16px 32px -14px rgba(3, 41, 95, 0.2);
}
.ce-reports-process__card-link {
display: flex;
flex-direction: column;
height: 100%;
padding: clamp(1.25rem, 2vw, 1.625rem);
text-decoration: none;
color: inherit;
}
.ce-reports-process__card-link:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: -2px;
border-radius: 6px;
}
.ce-reports-process__card-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 42px;
height: 42px;
border-radius: 50%;
background: var(--ce-white);
border: 1.5px solid var(--ce-crimson);
color: var(--ce-crimson);
margin-bottom: 1rem;
transition: background-color 0.3s var(--ce-ease), color 0.3s var(--ce-ease);
}
.ce-reports-process__card-icon svg {
width: 18px;
height: 18px;
}
.ce-reports-process__card:hover .ce-reports-process__card-icon {
background: var(--ce-crimson);
color: var(--ce-white);
}
.ce-reports-process__card-title {
margin: 0 0 0.5rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(0.9375rem, 1.05vw, 1.0625rem);
line-height: 1.25;
letter-spacing: -0.015em;
color: var(--ce-navy);
}
.ce-reports-process__card-copy {
margin: 0 0 1rem;
font-size: 0.8125rem;
line-height: 1.55;
color: var(--ce-navy-70);
flex-grow: 1;
}
.ce-reports-process__card-cta {
display: inline-flex;
align-items: center;
gap: 0.4375rem;
margin-top: auto;
font-size: 0.75rem;
font-weight: 600;
color: var(--ce-crimson);
transition: gap 0.25s var(--ce-ease);
}
.ce-reports-process__card-cta svg {
width: 11px;
height: 11px;
transition: transform 0.25s var(--ce-ease);
}
.ce-reports-process__card:hover .ce-reports-process__card-cta {
gap: 0.625rem;
}
.ce-reports-process__card:hover .ce-reports-process__card-cta svg {
transform: translateX(3px);
}
@media (max-width: 900px) {
.ce-reports-process__layout {
grid-template-columns: 1fr;
}
.ce-reports-process__visual {
max-width: 28rem;
}
.ce-reports-process__grid {
grid-template-columns: 1fr;
}
}
.ce-reports-find,
.ce-reports-find * {
box-sizing: border-box;
}
.ce-reports-find {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-crimson: #c7272a;
--ce-crimson-08: rgba(199, 39, 42, 0.08);
--ce-white: #fefefe;
--ce-cream: #fbf8f3;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-cream);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-reports-find__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-reports-find__header {
max-width: 44rem;
margin: 0 0 clamp(2rem, 3vw, 2.5rem);
text-align: center;
margin-left: auto;
margin-right: auto;
}
.ce-reports-find__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-reports-find__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-reports-find__heading {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.625rem, 3vw, 2.5rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-reports-find__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-reports-find__intro {
margin: 0;
font-size: clamp(0.9375rem, 1vw, 1.0625rem);
line-height: 1.6;
color: var(--ce-navy-70);
max-width: 38rem;
margin-left: auto;
margin-right: auto;
}
.ce-reports-find__grid {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: clamp(1rem, 2vw, 1.75rem);
}
.ce-reports-find__card {
margin: 0;
background: var(--ce-white);
border: 1px solid var(--ce-navy-10);
border-radius: 8px;
overflow: hidden;
transition: transform 0.4s var(--ce-ease), box-shadow 0.4s var(--ce-ease), border-color 0.4s var(--ce-ease);
}
.ce-reports-find__card:hover {
transform: translateY(-4px);
border-color: var(--ce-navy);
box-shadow: 0 24px 48px -20px rgba(3, 41, 95, 0.28);
}
.ce-reports-find__card-link {
display: flex;
flex-direction: column;
height: 100%;
text-decoration: none;
color: inherit;
}
.ce-reports-find__card-link:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: -2px;
border-radius: 8px;
}
.ce-reports-find__card-media {
position: relative;
overflow: hidden;
aspect-ratio: 16 / 9;
background: var(--ce-navy);
}
.ce-reports-find__card-media::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(180deg, transparent 50%, rgba(3, 41, 95, 0.35) 100%);
pointer-events: none;
}
.ce-reports-find__card-img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.6s var(--ce-ease);
}
.ce-reports-find__card:hover .ce-reports-find__card-img {
transform: scale(1.04);
}
.ce-reports-find__card-body {
display: flex;
flex-direction: column;
padding: clamp(1.5rem, 2.5vw, 2rem);
flex-grow: 1;
}
.ce-reports-find__card-tag {
display: inline-block;
align-self: flex-start;
margin-bottom: 0.875rem;
padding: 0.3rem 0.625rem;
background: var(--ce-crimson-08);
color: var(--ce-crimson);
border-radius: 4px;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
line-height: 1;
}
.ce-reports-find__card-title {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.125rem, 1.5vw, 1.4375rem);
line-height: 1.2;
letter-spacing: -0.02em;
color: var(--ce-navy);
}
.ce-reports-find__card-copy {
margin: 0 0 1.25rem;
font-size: 0.9375rem;
line-height: 1.6;
color: var(--ce-navy-70);
flex-grow: 1;
}
.ce-reports-find__card-cta {
display: inline-flex;
align-items: center;
gap: 0.4375rem;
align-self: flex-start;
margin-top: auto;
padding: 0.375rem 0;
font-size: 0.8125rem;
font-weight: 600;
color: var(--ce-navy);
border-bottom: 1px solid var(--ce-navy);
transition: color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), gap 0.25s var(--ce-ease);
}
.ce-reports-find__card-cta svg {
width: 12px;
height: 12px;
transition: transform 0.25s var(--ce-ease);
}
.ce-reports-find__card:hover .ce-reports-find__card-cta {
color: var(--ce-crimson);
border-color: var(--ce-crimson);
gap: 0.625rem;
}
.ce-reports-find__card:hover .ce-reports-find__card-cta svg {
transform: translateX(3px);
}
@media (max-width: 760px) {
.ce-reports-find__grid {
grid-template-columns: 1fr;
max-width: 36rem;
margin: 0 auto;
}
}
.ce-reports-cta,
.ce-reports-cta * {
box-sizing: border-box;
}
.ce-reports-cta {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-deep: #021c43;
--ce-crimson: #c7272a;
--ce-white: #fefefe;
--ce-white-90: rgba(254, 254, 254, 0.92);
--ce-white-70: rgba(254, 254, 254, 0.72);
--ce-white-25: rgba(254, 254, 254, 0.25);
--ce-white-15: rgba(254, 254, 254, 0.15);
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(2.75rem, 4.5vw, 4rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1100px;
position: relative;
overflow: hidden;
background: var(--ce-crimson);
color: var(--ce-white);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
-webkit-font-smoothing: antialiased;
}
.ce-reports-cta__pulse {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 32px;
pointer-events: none;
opacity: 0.6;
z-index: 1;
}
.ce-reports-cta__pulse svg {
width: 100%;
height: 100%;
display: block;
}
.ce-reports-cta__container {
position: relative;
z-index: 2;
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-reports-cta__content {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
}
.ce-reports-cta__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.625rem;
margin-bottom: 1rem;
font-size: 0.75rem;
font-weight: 600;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--ce-white);
line-height: 1;
}
.ce-reports-cta__eyebrow-mark {
width: 24px;
height: 1px;
background: currentColor;
}
.ce-reports-cta__heading {
margin: 0 0 1rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.75rem, 3.4vw, 2.875rem);
line-height: 1.05;
letter-spacing: -0.025em;
color: var(--ce-white);
max-width: 24ch;
}
.ce-reports-cta__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-white);
background-image: linear-gradient(to top, rgba(254, 254, 254, 0.25) 12%, transparent 12%, transparent 100%);
}
.ce-reports-cta__sub {
margin: 0 0 clamp(1.5rem, 2.5vw, 2rem);
max-width: 40rem;
font-size: clamp(0.9375rem, 1.05vw, 1.0625rem);
line-height: 1.55;
color: var(--ce-white-90);
}
.ce-reports-cta__actions {
display: flex;
flex-wrap: wrap;
align-items: stretch;
justify-content: center;
gap: 0.75rem;
margin-bottom: clamp(1.25rem, 2vw, 1.5rem);
}
.ce-reports-cta__btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.625rem;
padding: 1rem 1.625rem;
border: 1.5px solid transparent;
border-radius: 6px;
font-family: inherit;
text-decoration: none;
cursor: pointer;
transition: transform 0.35s var(--ce-ease), background-color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), color 0.3s var(--ce-ease), box-shadow 0.4s var(--ce-ease);
min-width: 200px;
font-size: 0.9375rem;
font-weight: 600;
letter-spacing: -0.005em;
line-height: 1;
}
.ce-reports-cta__btn-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 18px;
height: 18px;
flex-shrink: 0;
transition: transform 0.35s var(--ce-ease);
}
.ce-reports-cta__btn-icon svg {
width: 100%;
height: 100%;
}
.ce-reports-cta__btn--primary {
background: var(--ce-navy);
color: var(--ce-white);
box-shadow: 0 1px 0 rgba(255,255,255,0.12) inset, 0 6px 16px -6px rgba(2, 28, 67, 0.5);
}
.ce-reports-cta__btn--primary:hover,
.ce-reports-cta__btn--primary:focus-visible {
background: var(--ce-navy-deep);
transform: translateY(-2px);
box-shadow: 0 1px 0 rgba(255,255,255,0.15) inset, 0 12px 24px -8px rgba(2, 28, 67, 0.6);
}
.ce-reports-cta__btn--primary:hover .ce-reports-cta__btn-icon:not(.ce-reports-cta__btn-icon--lead) {
transform: translateX(4px);
}
.ce-reports-cta__btn--secondary {
background: transparent;
color: var(--ce-white);
border-color: rgba(254, 254, 254, 0.45);
}
.ce-reports-cta__btn--secondary:hover,
.ce-reports-cta__btn--secondary:focus-visible {
background: var(--ce-white);
color: var(--ce-crimson);
border-color: var(--ce-white);
transform: translateY(-2px);
}
.ce-reports-cta__btn:focus-visible {
outline: 2px solid var(--ce-white);
outline-offset: 3px;
}
.ce-reports-cta__trust {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
gap: 0.5rem 1rem;
margin: 0;
font-size: 0.8125rem;
font-weight: 500;
color: var(--ce-white-70);
}
.ce-reports-cta__trust-item {
display: inline-flex;
align-items: center;
gap: 0.4rem;
line-height: 1.3;
}
.ce-reports-cta__trust-item svg {
width: 13px;
height: 13px;
flex-shrink: 0;
color: var(--ce-white);
}
.ce-reports-cta__trust-divider {
width: 1px;
height: 14px;
background: var(--ce-white-25);
}
@media (max-width: 760px) {
.ce-reports-cta__btn {
min-width: 0;
flex: 1 1 100%;
max-width: 360px;
}
}
@media (max-width: 540px) {
.ce-reports-cta__actions {
flex-direction: column;
align-items: stretch;
width: 100%;
max-width: 360px;
}
.ce-reports-cta__btn {
max-width: 100%;
}
}
@media (max-width: 420px) {
.ce-reports-cta__trust-divider {
display: none;
}
.ce-reports-cta__trust {
flex-direction: column;
gap: 0.4rem;
}
}
.ce-reports-hero [data-animate],
.ce-reports-strip [data-animate],
.ce-reports-catalogue [data-animate],
.ce-reports-additional [data-animate],
.ce-reports-process [data-animate],
.ce-reports-find [data-animate],
.ce-reports-cta [data-animate] {
opacity: 0;
transform: translateY(20px);
transition:
opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
}
.ce-reports-hero [data-animate].is-visible,
.ce-reports-strip [data-animate].is-visible,
.ce-reports-catalogue [data-animate].is-visible,
.ce-reports-additional [data-animate].is-visible,
.ce-reports-process [data-animate].is-visible,
.ce-reports-find [data-animate].is-visible,
.ce-reports-cta [data-animate].is-visible {
opacity: 1;
transform: translate(0, 0);
}
@media (prefers-reduced-motion: reduce) {
.ce-reports-hero [data-animate],
.ce-reports-strip [data-animate],
.ce-reports-catalogue [data-animate],
.ce-reports-additional [data-animate],
.ce-reports-process [data-animate],
.ce-reports-find [data-animate],
.ce-reports-cta [data-animate] {
opacity: 1 !important;
transform: none !important;
transition: none !important;
}
}
.ce-report-hero,
.ce-report-hero * {
box-sizing: border-box;
}
.ce-report-hero {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-60: rgba(3, 41, 95, 0.60);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-08: rgba(3, 41, 95, 0.08);
--ce-navy-04: rgba(3, 41, 95, 0.04);
--ce-crimson: #c7272a;
--ce-crimson-90: rgba(199, 39, 42, 0.92);
--ce-crimson-15: rgba(199, 39, 42, 0.15);
--ce-white: #fefefe;
--ce-radius-sm: 8px;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
--ce-rep-photo-width: 50%;
--ce-rep-photo-opacity: 1;
--ce-rep-photo-tint: 0.5;
--ce-rep-photo-saturation: 0.85;
--ce-rep-photo-offset-x: 18%;
position: relative;
isolation: isolate;
overflow: hidden;
padding: var(--ce-pad-y) 0;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.ce-report-hero__bg {
position: absolute;
inset: 0;
z-index: -3;
pointer-events: none;
overflow: hidden;
}
.ce-report-hero__mesh {
position: absolute;
inset: 0;
background:
radial-gradient(ellipse 75% 60% at 5% 95%, var(--ce-navy-08) 0%, transparent 65%),
radial-gradient(ellipse 50% 40% at 30% 50%, var(--ce-navy-04) 0%, transparent 70%),
radial-gradient(ellipse 60% 80% at 92% 50%, rgba(3, 41, 95, 0.06) 0%, transparent 65%),
var(--ce-white);
}
.ce-report-hero__pulse-wrap {
position: absolute;
left: 0;
right: 0;
top: 72%;
height: 28%;
transform: translateY(-50%);
opacity: 0.65;
-webkit-mask-image: linear-gradient(to right, #000 0%, #000 25%, rgba(0,0,0,0.35) 50%, transparent 72%);
mask-image: linear-gradient(to right, #000 0%, #000 25%, rgba(0,0,0,0.35) 50%, transparent 72%);
}
.ce-report-hero__pulse {
width: 100%;
height: 100%;
display: block;
}
.ce-report-hero__visual {
position: absolute;
top: 0;
right: 0;
bottom: 0;
width: var(--ce-rep-photo-width);
max-width: 760px;
z-index: -1;
pointer-events: none;
overflow: hidden;
opacity: var(--ce-rep-photo-opacity);
}
.ce-report-hero__visual-wash {
position: absolute;
inset: 0;
background: linear-gradient(
to right,
transparent 0%,
rgba(3, 41, 95, 0.02) 25%,
rgba(3, 41, 95, 0.05) 45%,
rgba(3, 41, 95, 0.08) 65%,
rgba(3, 41, 95, 0.11) 85%,
rgba(3, 41, 95, 0.14) 100%
);
}
.ce-report-hero__visual-inner {
position: absolute;
inset: 0;
transform: scale(1.02);
}
.ce-report-hero__photo {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center right;
transform: translateX(var(--ce-rep-photo-offset-x));
-webkit-mask-image:
linear-gradient(to right,
transparent 0%,
rgba(0,0,0,0.02) 5%,
rgba(0,0,0,0.08) 14%,
rgba(0,0,0,0.20) 24%,
rgba(0,0,0,0.38) 35%,
rgba(0,0,0,0.58) 47%,
rgba(0,0,0,0.78) 60%,
rgba(0,0,0,0.92) 75%,
#000 90%,
#000 100%),
linear-gradient(to bottom,
transparent 0%,
rgba(0,0,0,0.6) 6%,
#000 14%,
#000 86%,
rgba(0,0,0,0.6) 94%,
transparent 100%);
mask-image:
linear-gradient(to right,
transparent 0%,
rgba(0,0,0,0.02) 5%,
rgba(0,0,0,0.08) 14%,
rgba(0,0,0,0.20) 24%,
rgba(0,0,0,0.38) 35%,
rgba(0,0,0,0.58) 47%,
rgba(0,0,0,0.78) 60%,
rgba(0,0,0,0.92) 75%,
#000 90%,
#000 100%),
linear-gradient(to bottom,
transparent 0%,
rgba(0,0,0,0.6) 6%,
#000 14%,
#000 86%,
rgba(0,0,0,0.6) 94%,
transparent 100%);
-webkit-mask-composite: source-in;
mask-composite: intersect;
filter: saturate(var(--ce-rep-photo-saturation)) contrast(1.12) brightness(1.08);
}
.ce-report-hero__visual::after {
content: '';
position: absolute;
inset: 0;
opacity: var(--ce-rep-photo-tint);
background:
linear-gradient(115deg,
rgba(3, 41, 95, 0.42) 0%,
rgba(3, 41, 95, 0.20) 35%,
rgba(3, 41, 95, 0.08) 60%,
rgba(3, 41, 95, 0.05) 100%),
radial-gradient(ellipse at 100% 50%, rgba(199, 39, 42, 0.06), transparent 60%);
pointer-events: none;
-webkit-mask-image: linear-gradient(to right, transparent 0%, transparent 22%, rgba(0,0,0,0.05) 35%, rgba(0,0,0,0.25) 55%, rgba(0,0,0,0.6) 75%, #000 95%);
mask-image: linear-gradient(to right, transparent 0%, transparent 22%, rgba(0,0,0,0.05) 35%, rgba(0,0,0,0.25) 55%, rgba(0,0,0,0.6) 75%, #000 95%);
}
.ce-report-hero__container {
position: relative;
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-report-hero__crumbs {
display: flex;
align-items: center;
gap: 0.5rem;
margin-bottom: clamp(1.5rem, 2.5vw, 2rem);
font-size: 0.75rem;
font-weight: 500;
color: var(--ce-navy-60);
letter-spacing: 0.01em;
}
.ce-report-hero__crumb {
color: var(--ce-navy-70);
text-decoration: none;
transition: color 0.25s var(--ce-ease);
}
.ce-report-hero__crumb:hover,
.ce-report-hero__crumb:focus-visible {
color: var(--ce-crimson);
}
.ce-report-hero__crumb--current {
color: var(--ce-navy);
font-weight: 600;
}
.ce-report-hero__crumb-sep {
width: 11px;
height: 11px;
color: var(--ce-navy-40);
flex-shrink: 0;
}
.ce-report-hero__content {
max-width: 36rem;
}
.ce-report-hero__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.625rem;
margin-bottom: 1.25rem;
font-size: 0.75rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-report-hero__eyebrow-mark {
width: 24px;
height: 1px;
background: currentColor;
flex-shrink: 0;
}
.ce-report-hero__heading {
margin: 0 0 clamp(1.25rem, 2.5vw, 1.75rem);
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.875rem, 4.5vw, 3.5rem);
line-height: 1.04;
letter-spacing: -0.035em;
color: var(--ce-navy);
}
.ce-report-hero__heading-row {
display: block;
}
.ce-report-hero__heading-row--accent {
margin-top: 0.18em;
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
font-size: 0.7em;
letter-spacing: -0.02em;
}
.ce-report-hero__heading-em {
color: var(--ce-navy-60);
}
.ce-report-hero__heading-strong {
position: relative;
color: var(--ce-crimson);
font-style: italic;
font-weight: 500;
white-space: nowrap;
}
.ce-report-hero__heading-strong::after {
content: '';
position: absolute;
left: 0;
right: 0;
bottom: 0.05em;
height: 0.42em;
background: var(--ce-crimson-15);
z-index: -1;
border-radius: 2px;
transform: skewX(-6deg);
}
.ce-report-hero__sub {
max-width: 34rem;
margin: 0 0 clamp(1.75rem, 3vw, 2.25rem);
font-size: clamp(0.9375rem, 1.2vw, 1.0625rem);
line-height: 1.65;
color: var(--ce-navy-70);
font-weight: 400;
}
.ce-report-hero__sub-link {
color: var(--ce-navy);
text-decoration: underline;
text-decoration-color: var(--ce-navy-40);
text-underline-offset: 3px;
text-decoration-thickness: 1px;
transition: text-decoration-color 0.25s var(--ce-ease), color 0.25s var(--ce-ease);
}
.ce-report-hero__sub-link:hover,
.ce-report-hero__sub-link:focus-visible {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
.ce-report-hero__cta-group {
display: flex;
flex-wrap: wrap;
gap: 0.875rem;
margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
}
.ce-report-hero__cta {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.625rem;
padding: 1rem 1.5rem;
border: 1px solid transparent;
border-radius: var(--ce-radius-sm);
font-family: inherit;
font-size: 0.9375rem;
font-weight: 500;
letter-spacing: -0.005em;
line-height: 1;
text-decoration: none;
cursor: pointer;
transition: transform 0.4s var(--ce-ease), background-color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), color 0.3s var(--ce-ease), box-shadow 0.4s var(--ce-ease);
}
.ce-report-hero__cta--primary {
background: var(--ce-crimson);
color: var(--ce-white);
box-shadow: 0 1px 0 rgba(255,255,255,0.15) inset, 0 8px 20px -8px var(--ce-crimson-90), 0 2px 4px var(--ce-navy-08);
}
.ce-report-hero__cta--primary:hover,
.ce-report-hero__cta--primary:focus-visible {
transform: translateY(-2px);
background: #b21f22;
box-shadow: 0 1px 0 rgba(255,255,255,0.18) inset, 0 14px 28px -10px var(--ce-crimson-90), 0 4px 8px var(--ce-navy-08);
}
.ce-report-hero__cta--secondary {
background: rgba(254, 254, 254, 0.7);
color: var(--ce-navy);
border-color: var(--ce-navy-15);
backdrop-filter: blur(6px);
-webkit-backdrop-filter: blur(6px);
}
.ce-report-hero__cta--secondary:hover,
.ce-report-hero__cta--secondary:focus-visible {
transform: translateY(-2px);
background: var(--ce-navy);
color: var(--ce-white);
border-color: var(--ce-navy);
box-shadow: 0 12px 24px -10px rgba(3, 41, 95, 0.4);
}
.ce-report-hero__cta:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: 3px;
}
.ce-report-hero__cta-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 18px;
height: 18px;
transition: transform 0.4s var(--ce-ease);
}
.ce-report-hero__cta-icon svg {
width: 100%;
height: 100%;
}
.ce-report-hero__cta--primary:hover .ce-report-hero__cta-icon:not(.ce-report-hero__cta-icon--lead) {
transform: translateX(4px);
}
.ce-report-hero__chips {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
list-style: none;
margin: 0;
padding: 1.25rem 0 0;
border-top: 1px solid var(--ce-navy-15);
}
.ce-report-hero__chip {
display: inline-flex;
align-items: center;
padding: 0.375rem 0.75rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.04em;
text-transform: uppercase;
color: var(--ce-navy-70);
background: rgba(3, 41, 95, 0.05);
border: 1px solid var(--ce-navy-08);
border-radius: 999px;
line-height: 1;
}
@media (max-width: 1024px) {
.ce-report-hero {
--ce-rep-photo-width: 45%;
}
}
@media (max-width: 820px) {
.ce-report-hero {
--ce-rep-photo-width: 70%;
--ce-rep-photo-opacity: 0.3;
}
.ce-report-hero__content {
max-width: 100%;
}
}
@media (max-width: 640px) {
.ce-report-hero {
--ce-rep-photo-width: 100%;
--ce-rep-photo-opacity: 0.15;
}
}
@media (max-width: 420px) {
.ce-report-hero__cta {
width: 100%;
}
.ce-report-hero__cta-group {
flex-direction: column;
}
.ce-report-hero__heading-strong {
white-space: normal;
}
}
.ce-report-purpose,
.ce-report-purpose * {
box-sizing: border-box;
}
.ce-report-purpose {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-08: rgba(3, 41, 95, 0.08);
--ce-crimson: #c7272a;
--ce-white: #fefefe;
--ce-cream: #fbf8f3;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1200px;
background: var(--ce-cream);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-report-purpose__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-report-purpose__layout {
display: grid;
grid-template-columns: 0.7fr 1fr;
gap: clamp(2rem, 4vw, 3.5rem);
align-items: start;
}
.ce-report-purpose__header {
position: sticky;
top: 120px;
}
.ce-report-purpose__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-report-purpose__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-report-purpose__heading {
margin: 0;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-report-purpose__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-report-purpose__lead {
margin: 0 0 1.25rem;
font-family: var(--ce-font-serif);
font-weight: 400;
font-size: clamp(1rem, 1.25vw, 1.1875rem);
line-height: 1.6;
color: var(--ce-navy);
letter-spacing: -0.01em;
}
.ce-report-purpose__copy {
margin: 0 0 1.5rem;
font-size: 0.9375rem;
line-height: 1.65;
color: var(--ce-navy);
}
.ce-report-purpose__link {
color: var(--ce-navy);
text-decoration: underline;
text-decoration-color: var(--ce-navy-40);
text-underline-offset: 3px;
text-decoration-thickness: 1px;
transition: color 0.25s var(--ce-ease), text-decoration-color 0.25s var(--ce-ease);
}
.ce-report-purpose__link:hover,
.ce-report-purpose__link:focus-visible {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
.ce-report-purpose__uses {
list-style: none;
margin: 1.75rem 0 0;
padding: 1.5rem 0 0;
border-top: 1px solid var(--ce-navy-15);
display: flex;
flex-direction: column;
gap: 1rem;
}
.ce-report-purpose__use {
display: flex;
align-items: flex-start;
gap: 0.875rem;
}
.ce-report-purpose__use-mark {
flex-shrink: 0;
display: inline-flex;
align-items: center;
justify-content: center;
width: 22px;
height: 22px;
border-radius: 50%;
background: var(--ce-crimson);
color: var(--ce-white);
margin-top: 1px;
}
.ce-report-purpose__use-mark svg {
width: 11px;
height: 11px;
}
.ce-report-purpose__use-text {
font-size: 0.9375rem;
line-height: 1.6;
color: var(--ce-navy);
}
.ce-report-purpose__use-text strong {
font-weight: 600;
color: var(--ce-navy);
}
.ce-report-purpose__use-text a {
color: var(--ce-navy);
text-decoration: underline;
text-decoration-color: var(--ce-navy-40);
text-underline-offset: 3px;
}
.ce-report-purpose__use-text a:hover {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
@media (max-width: 900px) {
.ce-report-purpose__layout {
grid-template-columns: 1fr;
gap: 1.75rem;
}
.ce-report-purpose__header {
position: static;
}
}
.ce-report-assess,
.ce-report-assess * {
box-sizing: border-box;
}
.ce-report-assess {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-crimson: #c7272a;
--ce-crimson-08: rgba(199, 39, 42, 0.08);
--ce-white: #fefefe;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-report-assess__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-report-assess__header {
max-width: 48rem;
margin: 0 0 clamp(2rem, 3vw, 2.75rem);
}
.ce-report-assess__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-report-assess__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-report-assess__heading {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-report-assess__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-report-assess__intro {
margin: 0;
font-size: clamp(0.9375rem, 1vw, 1.0625rem);
line-height: 1.6;
color: var(--ce-navy-70);
max-width: 42rem;
}
.ce-report-assess__grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: clamp(1rem, 2vw, 1.75rem);
}
.ce-report-assess__col {
padding: clamp(1.5rem, 2.25vw, 2rem);
border-radius: 8px;
border: 1px solid var(--ce-navy-10);
background: var(--ce-white);
}
.ce-report-assess__col--does {
border-left: 3px solid var(--ce-crimson);
}
.ce-report-assess__col--doesnt {
background: rgba(3, 41, 95, 0.025);
border-left: 3px solid var(--ce-navy-40);
}
.ce-report-assess__col-tag {
display: inline-block;
padding: 0.3rem 0.625rem;
margin-bottom: 1rem;
background: var(--ce-crimson-08);
color: var(--ce-crimson);
border-radius: 4px;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
line-height: 1;
}
.ce-report-assess__col--doesnt .ce-report-assess__col-tag {
background: rgba(3, 41, 95, 0.08);
color: var(--ce-navy);
}
.ce-report-assess__col-title {
margin: 0 0 1rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.0625rem, 1.4vw, 1.25rem);
line-height: 1.2;
letter-spacing: -0.02em;
color: var(--ce-navy);
}
.ce-report-assess__list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 0.875rem;
}
.ce-report-assess__item {
display: flex;
align-items: flex-start;
gap: 0.75rem;
font-size: 0.9375rem;
line-height: 1.55;
color: var(--ce-navy);
}
.ce-report-assess__item-icon {
flex-shrink: 0;
display: inline-flex;
align-items: center;
justify-content: center;
width: 20px;
height: 20px;
border-radius: 50%;
margin-top: 2px;
}
.ce-report-assess__item-icon--yes {
background: var(--ce-crimson);
color: var(--ce-white);
}
.ce-report-assess__item-icon--no {
background: var(--ce-navy);
color: var(--ce-white);
opacity: 0.55;
}
.ce-report-assess__item-icon svg {
width: 10px;
height: 10px;
}
.ce-report-assess__item a {
color: var(--ce-navy);
text-decoration: underline;
text-decoration-color: var(--ce-navy-40);
text-underline-offset: 3px;
}
.ce-report-assess__item a:hover {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
@media (max-width: 760px) {
.ce-report-assess__grid {
grid-template-columns: 1fr;
}
}
.ce-report-scenarios,
.ce-report-scenarios * {
box-sizing: border-box;
}
.ce-report-scenarios {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-crimson: #c7272a;
--ce-crimson-08: rgba(199, 39, 42, 0.08);
--ce-white: #fefefe;
--ce-cream: #fbf8f3;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-cream);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-report-scenarios__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-report-scenarios__header {
max-width: 44rem;
margin: 0 0 clamp(2rem, 3vw, 2.75rem);
}
.ce-report-scenarios__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-report-scenarios__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-report-scenarios__heading {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-report-scenarios__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-report-scenarios__intro {
margin: 0;
font-size: clamp(0.9375rem, 1vw, 1.0625rem);
line-height: 1.6;
color: var(--ce-navy-70);
max-width: 42rem;
}
.ce-report-scenarios__grid {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: clamp(1rem, 1.75vw, 1.5rem);
}
.ce-report-scenarios__card {
background: var(--ce-white);
padding: clamp(1.5rem, 2.25vw, 2rem);
border-radius: 6px;
border: 1px solid var(--ce-navy-10);
display: flex;
flex-direction: column;
transition: transform 0.3s var(--ce-ease), box-shadow 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease);
}
.ce-report-scenarios__card:hover {
transform: translateY(-3px);
box-shadow: 0 16px 32px -14px rgba(3, 41, 95, 0.2);
border-color: var(--ce-navy);
}
.ce-report-scenarios__card-tag {
display: inline-block;
align-self: flex-start;
margin-bottom: 0.875rem;
padding: 0.3rem 0.625rem;
background: var(--ce-crimson-08);
color: var(--ce-crimson);
border-radius: 4px;
font-family: var(--ce-font-sans);
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
line-height: 1;
}
.ce-report-scenarios__card-title {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.0625rem, 1.4vw, 1.25rem);
line-height: 1.2;
letter-spacing: -0.02em;
color: var(--ce-navy);
}
.ce-report-scenarios__card-copy {
margin: 0 0 1.25rem;
font-size: 0.875rem;
line-height: 1.65;
color: var(--ce-navy);
flex-grow: 1;
}
.ce-report-scenarios__card-copy a {
color: var(--ce-navy);
text-decoration: underline;
text-decoration-color: rgba(3, 41, 95, 0.4);
text-underline-offset: 3px;
}
.ce-report-scenarios__card-copy a:hover {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
.ce-report-scenarios__card-pair {
margin: 0;
padding-top: 1rem;
border-top: 1px dashed var(--ce-navy-15);
font-size: 0.8125rem;
line-height: 1.5;
color: var(--ce-navy-70);
display: flex;
flex-wrap: wrap;
gap: 0.4rem;
align-items: center;
}
.ce-report-scenarios__card-pair-label {
font-weight: 600;
color: var(--ce-navy);
letter-spacing: -0.005em;
}
.ce-report-scenarios__card-pair a {
color: var(--ce-crimson);
text-decoration: none;
font-weight: 500;
transition: text-decoration 0.25s var(--ce-ease);
}
.ce-report-scenarios__card-pair a:hover {
text-decoration: underline;
text-underline-offset: 3px;
}
.ce-report-scenarios__card-pair span[aria-hidden] {
color: var(--ce-navy-40);
}
@media (max-width: 900px) {
.ce-report-scenarios__grid {
grid-template-columns: 1fr;
}
}
.ce-report-format,
.ce-report-format * {
box-sizing: border-box;
}
.ce-report-format {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-crimson: #c7272a;
--ce-white: #fefefe;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1200px;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-report-format__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-report-format__layout {
display: grid;
grid-template-columns: 1fr 0.7fr;
gap: clamp(2rem, 4vw, 3.5rem);
align-items: center;
margin-bottom: clamp(2.25rem, 3.5vw, 3rem);
}
.ce-report-format__intro {
max-width: 36rem;
}
.ce-report-format__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-report-format__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-report-format__heading {
margin: 0 0 1rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-report-format__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-report-format__copy {
margin: 0 0 0.875rem;
font-size: 0.9375rem;
line-height: 1.65;
color: var(--ce-navy);
}
.ce-report-format__copy a {
color: var(--ce-navy);
text-decoration: underline;
text-decoration-color: var(--ce-navy-40);
text-underline-offset: 3px;
}
.ce-report-format__copy a:hover {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
.ce-report-format__visual {
border-radius: 8px;
overflow: hidden;
aspect-ratio: 3 / 4;
position: relative;
background: var(--ce-navy);
max-width: 22rem;
justify-self: end;
width: 100%;
box-shadow: 0 20px 40px -20px rgba(3, 41, 95, 0.3);
}
.ce-report-format__img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
opacity: 0.95;
}
.ce-report-format__breakdown {
padding-top: clamp(1.5rem, 2.5vw, 2rem);
border-top: 1px solid var(--ce-navy-15);
}
.ce-report-format__breakdown-title {
margin: 0 0 clamp(1.25rem, 2vw, 1.75rem);
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.0625rem, 1.4vw, 1.25rem);
line-height: 1.2;
letter-spacing: -0.02em;
color: var(--ce-navy);
}
.ce-report-format__sections {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(5, 1fr);
gap: 0;
counter-reset: ce-report-format-counter;
}
.ce-report-format__section {
position: relative;
padding: 0 clamp(0.75rem, 1.25vw, 1.25rem);
display: flex;
flex-direction: column;
}
.ce-report-format__section + .ce-report-format__section::before {
content: '';
position: absolute;
left: 0;
top: 8px;
bottom: 8px;
width: 1px;
background: var(--ce-navy-15);
}
.ce-report-format__section-num {
display: inline-flex;
align-items: center;
justify-content: center;
width: 36px;
height: 36px;
border-radius: 50%;
background: var(--ce-white);
border: 1.5px solid var(--ce-crimson);
color: var(--ce-crimson);
font-family: var(--ce-font-serif);
font-weight: 500;
font-style: italic;
font-size: 0.8125rem;
margin-bottom: 0.875rem;
}
.ce-report-format__section-body {
min-width: 0;
}
.ce-report-format__section-title {
margin: 0 0 0.375rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: 0.875rem;
line-height: 1.25;
letter-spacing: -0.015em;
color: var(--ce-navy);
}
.ce-report-format__section-copy {
margin: 0;
font-size: 0.8125rem;
line-height: 1.55;
color: var(--ce-navy-70);
}
.ce-report-format__section-copy a {
color: var(--ce-navy);
text-decoration: underline;
text-decoration-color: var(--ce-navy-40);
text-underline-offset: 3px;
}
.ce-report-format__section-copy a:hover {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
.ce-report-format__note {
margin: clamp(1.75rem, 2.5vw, 2.25rem) 0 0;
padding: clamp(1rem, 1.75vw, 1.5rem);
background: rgba(3, 41, 95, 0.04);
border-radius: 6px;
border-left: 3px solid var(--ce-crimson);
font-size: 0.875rem;
line-height: 1.65;
color: var(--ce-navy);
}
.ce-report-format__note strong {
font-weight: 600;
color: var(--ce-navy);
}
.ce-report-format__note a {
color: var(--ce-navy);
text-decoration: underline;
text-decoration-color: var(--ce-navy-40);
text-underline-offset: 3px;
}
.ce-report-format__note a:hover {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
@media (max-width: 900px) {
.ce-report-format__layout {
grid-template-columns: 1fr;
}
.ce-report-format__visual {
max-width: 16rem;
justify-self: start;
}
.ce-report-format__sections {
grid-template-columns: 1fr;
gap: 1.25rem;
}
.ce-report-format__section {
display: grid;
grid-template-columns: 36px 1fr;
column-gap: 1rem;
padding: 0;
}
.ce-report-format__section + .ce-report-format__section::before {
display: none;
}
.ce-report-format__section-num {
margin-bottom: 0;
}
.ce-report-format__section-body {
padding-top: 0.25rem;
}
}
.ce-report-related,
.ce-report-related * {
box-sizing: border-box;
}
.ce-report-related {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-crimson: #c7272a;
--ce-crimson-08: rgba(199, 39, 42, 0.08);
--ce-white: #fefefe;
--ce-cream: #fbf8f3;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-cream);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-report-related__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-report-related__header {
max-width: 44rem;
margin: 0 0 clamp(2rem, 3vw, 2.5rem);
}
.ce-report-related__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-report-related__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-report-related__heading {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-report-related__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-report-related__intro {
margin: 0;
font-size: clamp(0.9375rem, 1vw, 1.0625rem);
line-height: 1.6;
color: var(--ce-navy-70);
max-width: 40rem;
}
.ce-report-related__grid {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: clamp(1rem, 1.5vw, 1.5rem);
}
.ce-report-related__card {
background: var(--ce-white);
border: 1px solid var(--ce-navy-10);
border-radius: 6px;
overflow: hidden;
transition: border-color 0.3s var(--ce-ease), transform 0.3s var(--ce-ease), box-shadow 0.3s var(--ce-ease);
}
.ce-report-related__card:hover {
border-color: var(--ce-navy);
transform: translateY(-3px);
box-shadow: 0 16px 32px -14px rgba(3, 41, 95, 0.22);
}
.ce-report-related__card-link {
display: flex;
flex-direction: column;
height: 100%;
padding: clamp(1.5rem, 2.25vw, 2rem);
text-decoration: none;
color: inherit;
}
.ce-report-related__card-link:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: -2px;
border-radius: 6px;
}
.ce-report-related__card-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 44px;
height: 44px;
border-radius: 50%;
background: var(--ce-white);
border: 1.5px solid var(--ce-crimson);
color: var(--ce-crimson);
margin-bottom: 1rem;
transition: background-color 0.3s var(--ce-ease), color 0.3s var(--ce-ease);
}
.ce-report-related__card-icon svg {
width: 18px;
height: 18px;
}
.ce-report-related__card:hover .ce-report-related__card-icon {
background: var(--ce-crimson);
color: var(--ce-white);
}
.ce-report-related__card-tag {
display: inline-block;
align-self: flex-start;
margin-bottom: 0.625rem;
padding: 0.25rem 0.5rem;
background: var(--ce-crimson-08);
color: var(--ce-crimson);
border-radius: 3px;
font-size: 0.625rem;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
line-height: 1;
}
.ce-report-related__card-title {
margin: 0 0 0.625rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1rem, 1.2vw, 1.1875rem);
line-height: 1.2;
letter-spacing: -0.02em;
color: var(--ce-navy);
}
.ce-report-related__card-copy {
margin: 0 0 1.25rem;
font-size: 0.875rem;
line-height: 1.6;
color: var(--ce-navy-70);
flex-grow: 1;
}
.ce-report-related__card-cta {
display: inline-flex;
align-items: center;
gap: 0.375rem;
margin-top: auto;
font-size: 0.75rem;
font-weight: 600;
color: var(--ce-crimson);
transition: gap 0.25s var(--ce-ease);
}
.ce-report-related__card-cta svg {
width: 11px;
height: 11px;
transition: transform 0.25s var(--ce-ease);
}
.ce-report-related__card:hover .ce-report-related__card-cta {
gap: 0.55rem;
}
.ce-report-related__card:hover .ce-report-related__card-cta svg {
transform: translateX(3px);
}
@media (max-width: 900px) {
.ce-report-related__grid {
grid-template-columns: 1fr;
max-width: 38rem;
}
}
.ce-report-hubs,
.ce-report-hubs * {
box-sizing: border-box;
}
.ce-report-hubs {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-crimson: #c7272a;
--ce-crimson-08: rgba(199, 39, 42, 0.08);
--ce-white: #fefefe;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-report-hubs__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-report-hubs__header {
max-width: 44rem;
margin: 0 auto clamp(2rem, 3vw, 2.5rem);
text-align: center;
}
.ce-report-hubs__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-report-hubs__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-report-hubs__heading {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-report-hubs__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-report-hubs__intro {
margin: 0 auto;
font-size: clamp(0.9375rem, 1vw, 1.0625rem);
line-height: 1.6;
color: var(--ce-navy-70);
max-width: 40rem;
}
.ce-report-hubs__grid {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: clamp(1rem, 1.75vw, 1.5rem);
}
.ce-report-hubs__card {
background: var(--ce-white);
border: 1px solid var(--ce-navy-10);
border-radius: 8px;
overflow: hidden;
transition: transform 0.4s var(--ce-ease), box-shadow 0.4s var(--ce-ease), border-color 0.4s var(--ce-ease);
}
.ce-report-hubs__card:hover {
transform: translateY(-4px);
border-color: var(--ce-navy);
box-shadow: 0 24px 48px -20px rgba(3, 41, 95, 0.28);
}
.ce-report-hubs__card-link {
display: flex;
flex-direction: column;
height: 100%;
text-decoration: none;
color: inherit;
}
.ce-report-hubs__card-link:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: -2px;
border-radius: 8px;
}
.ce-report-hubs__card-media {
position: relative;
overflow: hidden;
aspect-ratio: 16 / 9;
background: var(--ce-navy);
}
.ce-report-hubs__card-media::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(180deg, transparent 50%, rgba(3, 41, 95, 0.35) 100%);
pointer-events: none;
}
.ce-report-hubs__card-img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.6s var(--ce-ease);
}
.ce-report-hubs__card:hover .ce-report-hubs__card-img {
transform: scale(1.04);
}
.ce-report-hubs__card-body {
display: flex;
flex-direction: column;
padding: clamp(1.5rem, 2.25vw, 1.875rem);
flex-grow: 1;
}
.ce-report-hubs__card-tag {
display: inline-block;
align-self: flex-start;
margin-bottom: 0.875rem;
padding: 0.3rem 0.625rem;
background: var(--ce-crimson-08);
color: var(--ce-crimson);
border-radius: 4px;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
line-height: 1;
}
.ce-report-hubs__card-title {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.0625rem, 1.4vw, 1.375rem);
line-height: 1.2;
letter-spacing: -0.02em;
color: var(--ce-navy);
}
.ce-report-hubs__card-copy {
margin: 0 0 1.25rem;
font-size: 0.9375rem;
line-height: 1.6;
color: var(--ce-navy-70);
flex-grow: 1;
}
.ce-report-hubs__card-cta {
display: inline-flex;
align-items: center;
gap: 0.4375rem;
align-self: flex-start;
margin-top: auto;
padding: 0.375rem 0;
font-size: 0.8125rem;
font-weight: 600;
color: var(--ce-navy);
border-bottom: 1px solid var(--ce-navy);
transition: color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), gap 0.25s var(--ce-ease);
}
.ce-report-hubs__card-cta svg {
width: 12px;
height: 12px;
transition: transform 0.25s var(--ce-ease);
}
.ce-report-hubs__card:hover .ce-report-hubs__card-cta {
color: var(--ce-crimson);
border-color: var(--ce-crimson);
gap: 0.625rem;
}
.ce-report-hubs__card:hover .ce-report-hubs__card-cta svg {
transform: translateX(3px);
}
@media (max-width: 760px) {
.ce-report-hubs__grid {
grid-template-columns: 1fr;
max-width: 36rem;
margin: 0 auto;
}
}
.ce-report-cta,
.ce-report-cta * {
box-sizing: border-box;
}
.ce-report-cta {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-deep: #021c43;
--ce-crimson: #c7272a;
--ce-white: #fefefe;
--ce-white-90: rgba(254, 254, 254, 0.92);
--ce-white-70: rgba(254, 254, 254, 0.72);
--ce-white-25: rgba(254, 254, 254, 0.25);
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(2.75rem, 4.5vw, 4rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1100px;
position: relative;
overflow: hidden;
background: var(--ce-crimson);
color: var(--ce-white);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-report-cta__pulse {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 32px;
pointer-events: none;
opacity: 0.6;
z-index: 1;
}
.ce-report-cta__pulse svg {
width: 100%;
height: 100%;
display: block;
}
.ce-report-cta__container {
position: relative;
z-index: 2;
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-report-cta__content {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
}
.ce-report-cta__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.625rem;
margin-bottom: 1rem;
font-size: 0.75rem;
font-weight: 600;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--ce-white);
line-height: 1;
}
.ce-report-cta__eyebrow-mark {
width: 24px;
height: 1px;
background: currentColor;
}
.ce-report-cta__heading {
margin: 0 0 1rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.75rem, 3.4vw, 2.875rem);
line-height: 1.05;
letter-spacing: -0.025em;
color: var(--ce-white);
max-width: 24ch;
}
.ce-report-cta__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-white);
background-image: linear-gradient(to top, rgba(254, 254, 254, 0.25) 12%, transparent 12%, transparent 100%);
}
.ce-report-cta__sub {
margin: 0 0 clamp(1.5rem, 2.5vw, 2rem);
max-width: 40rem;
font-size: clamp(0.9375rem, 1.05vw, 1.0625rem);
line-height: 1.55;
color: var(--ce-white-90);
}
.ce-report-cta__actions {
display: flex;
flex-wrap: wrap;
align-items: stretch;
justify-content: center;
gap: 0.75rem;
margin-bottom: clamp(1.25rem, 2vw, 1.5rem);
}
.ce-report-cta__btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.625rem;
padding: 1rem 1.625rem;
border: 1.5px solid transparent;
border-radius: 6px;
font-family: inherit;
text-decoration: none;
cursor: pointer;
transition: transform 0.35s var(--ce-ease), background-color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), color 0.3s var(--ce-ease), box-shadow 0.4s var(--ce-ease);
min-width: 220px;
font-size: 0.9375rem;
font-weight: 600;
letter-spacing: -0.005em;
line-height: 1;
}
.ce-report-cta__btn-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 18px;
height: 18px;
flex-shrink: 0;
transition: transform 0.35s var(--ce-ease);
}
.ce-report-cta__btn-icon svg {
width: 100%;
height: 100%;
}
.ce-report-cta__btn--primary {
background: var(--ce-navy);
color: var(--ce-white);
box-shadow: 0 1px 0 rgba(255,255,255,0.12) inset, 0 6px 16px -6px rgba(2, 28, 67, 0.5);
}
.ce-report-cta__btn--primary:hover,
.ce-report-cta__btn--primary:focus-visible {
background: var(--ce-navy-deep);
transform: translateY(-2px);
box-shadow: 0 1px 0 rgba(255,255,255,0.15) inset, 0 12px 24px -8px rgba(2, 28, 67, 0.6);
}
.ce-report-cta__btn--primary:hover .ce-report-cta__btn-icon:not(.ce-report-cta__btn-icon--lead) {
transform: translateX(4px);
}
.ce-report-cta__btn--secondary {
background: transparent;
color: var(--ce-white);
border-color: rgba(254, 254, 254, 0.45);
}
.ce-report-cta__btn--secondary:hover,
.ce-report-cta__btn--secondary:focus-visible {
background: var(--ce-white);
color: var(--ce-crimson);
border-color: var(--ce-white);
transform: translateY(-2px);
}
.ce-report-cta__btn:focus-visible {
outline: 2px solid var(--ce-white);
outline-offset: 3px;
}
.ce-report-cta__trust {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
gap: 0.5rem 1rem;
margin: 0;
font-size: 0.8125rem;
font-weight: 500;
color: var(--ce-white-70);
}
.ce-report-cta__trust-item {
display: inline-flex;
align-items: center;
gap: 0.4rem;
line-height: 1.3;
}
.ce-report-cta__trust-item svg {
width: 13px;
height: 13px;
flex-shrink: 0;
color: var(--ce-white);
}
.ce-report-cta__trust-divider {
width: 1px;
height: 14px;
background: var(--ce-white-25);
}
@media (max-width: 760px) {
.ce-report-cta__btn {
min-width: 0;
flex: 1 1 100%;
max-width: 360px;
}
}
@media (max-width: 540px) {
.ce-report-cta__actions {
flex-direction: column;
align-items: stretch;
width: 100%;
max-width: 360px;
}
.ce-report-cta__btn {
max-width: 100%;
}
}
@media (max-width: 420px) {
.ce-report-cta__trust-divider {
display: none;
}
.ce-report-cta__trust {
flex-direction: column;
gap: 0.4rem;
}
}
.ce-report-hero [data-animate],
.ce-report-purpose [data-animate],
.ce-report-assess [data-animate],
.ce-report-scenarios [data-animate],
.ce-report-format [data-animate],
.ce-report-related [data-animate],
.ce-report-hubs [data-animate],
.ce-report-cta [data-animate] {
opacity: 0;
transform: translateY(20px);
transition:
opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
}
.ce-report-hero [data-animate].is-visible,
.ce-report-purpose [data-animate].is-visible,
.ce-report-assess [data-animate].is-visible,
.ce-report-scenarios [data-animate].is-visible,
.ce-report-format [data-animate].is-visible,
.ce-report-related [data-animate].is-visible,
.ce-report-hubs [data-animate].is-visible,
.ce-report-cta [data-animate].is-visible {
opacity: 1;
transform: translate(0, 0);
}
@media (prefers-reduced-motion: reduce) {
.ce-report-hero [data-animate],
.ce-report-purpose [data-animate],
.ce-report-assess [data-animate],
.ce-report-scenarios [data-animate],
.ce-report-format [data-animate],
.ce-report-related [data-animate],
.ce-report-hubs [data-animate],
.ce-report-cta [data-animate] {
opacity: 1 !important;
transform: none !important;
transition: none !important;
}
}
.ce-conditions-hero,
.ce-conditions-hero * {
box-sizing: border-box;
}
.ce-conditions-hero {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-60: rgba(3, 41, 95, 0.60);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-08: rgba(3, 41, 95, 0.08);
--ce-navy-04: rgba(3, 41, 95, 0.04);
--ce-crimson: #c7272a;
--ce-crimson-90: rgba(199, 39, 42, 0.92);
--ce-crimson-15: rgba(199, 39, 42, 0.15);
--ce-white: #fefefe;
--ce-radius-sm: 8px;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3.5rem, 6vw, 5.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
--ce-cond-photo-width: 50%;
--ce-cond-photo-opacity: 1;
--ce-cond-photo-tint: 0.5;
--ce-cond-photo-saturation: 0.85;
--ce-cond-photo-offset-x: 18%;
position: relative;
isolation: isolate;
overflow: hidden;
padding: var(--ce-pad-y) 0;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.ce-conditions-hero__bg {
position: absolute;
inset: 0;
z-index: -3;
pointer-events: none;
overflow: hidden;
}
.ce-conditions-hero__mesh {
position: absolute;
inset: 0;
background:
radial-gradient(ellipse 75% 60% at 5% 95%, var(--ce-navy-08) 0%, transparent 65%),
radial-gradient(ellipse 50% 40% at 30% 50%, var(--ce-navy-04) 0%, transparent 70%),
radial-gradient(ellipse 60% 80% at 92% 50%, rgba(3, 41, 95, 0.06) 0%, transparent 65%),
var(--ce-white);
}
.ce-conditions-hero__pulse-wrap {
position: absolute;
left: 0;
right: 0;
top: 72%;
height: 30%;
transform: translateY(-50%);
opacity: 0.7;
-webkit-mask-image: linear-gradient(to right, #000 0%, #000 25%, rgba(0,0,0,0.35) 50%, transparent 72%);
mask-image: linear-gradient(to right, #000 0%, #000 25%, rgba(0,0,0,0.35) 50%, transparent 72%);
}
.ce-conditions-hero__pulse {
width: 100%;
height: 100%;
display: block;
}
.ce-conditions-hero__visual {
position: absolute;
top: 0;
right: 0;
bottom: 0;
width: var(--ce-cond-photo-width);
max-width: 820px;
z-index: -1;
pointer-events: none;
overflow: hidden;
opacity: var(--ce-cond-photo-opacity);
}
.ce-conditions-hero__visual-wash {
position: absolute;
inset: 0;
background: linear-gradient(
to right,
transparent 0%,
rgba(3, 41, 95, 0.02) 25%,
rgba(3, 41, 95, 0.05) 45%,
rgba(3, 41, 95, 0.08) 65%,
rgba(3, 41, 95, 0.11) 85%,
rgba(3, 41, 95, 0.14) 100%
);
}
.ce-conditions-hero__visual-inner {
position: absolute;
inset: 0;
transform: scale(1.02);
}
.ce-conditions-hero__photo {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center right;
transform: translateX(var(--ce-cond-photo-offset-x));
-webkit-mask-image:
linear-gradient(to right,
transparent 0%,
rgba(0,0,0,0.02) 5%,
rgba(0,0,0,0.08) 14%,
rgba(0,0,0,0.20) 24%,
rgba(0,0,0,0.38) 35%,
rgba(0,0,0,0.58) 47%,
rgba(0,0,0,0.78) 60%,
rgba(0,0,0,0.92) 75%,
#000 90%,
#000 100%),
linear-gradient(to bottom,
transparent 0%,
rgba(0,0,0,0.6) 6%,
#000 14%,
#000 86%,
rgba(0,0,0,0.6) 94%,
transparent 100%);
mask-image:
linear-gradient(to right,
transparent 0%,
rgba(0,0,0,0.02) 5%,
rgba(0,0,0,0.08) 14%,
rgba(0,0,0,0.20) 24%,
rgba(0,0,0,0.38) 35%,
rgba(0,0,0,0.58) 47%,
rgba(0,0,0,0.78) 60%,
rgba(0,0,0,0.92) 75%,
#000 90%,
#000 100%),
linear-gradient(to bottom,
transparent 0%,
rgba(0,0,0,0.6) 6%,
#000 14%,
#000 86%,
rgba(0,0,0,0.6) 94%,
transparent 100%);
-webkit-mask-composite: source-in;
mask-composite: intersect;
filter: saturate(var(--ce-cond-photo-saturation)) contrast(1.12) brightness(1.08);
}
.ce-conditions-hero__visual::after {
content: '';
position: absolute;
inset: 0;
opacity: var(--ce-cond-photo-tint);
background:
linear-gradient(115deg,
rgba(3, 41, 95, 0.42) 0%,
rgba(3, 41, 95, 0.20) 35%,
rgba(3, 41, 95, 0.08) 60%,
rgba(3, 41, 95, 0.05) 100%),
radial-gradient(ellipse at 100% 50%, rgba(199, 39, 42, 0.06), transparent 60%);
pointer-events: none;
-webkit-mask-image: linear-gradient(to right, transparent 0%, transparent 22%, rgba(0,0,0,0.05) 35%, rgba(0,0,0,0.25) 55%, rgba(0,0,0,0.6) 75%, #000 95%);
mask-image: linear-gradient(to right, transparent 0%, transparent 22%, rgba(0,0,0,0.05) 35%, rgba(0,0,0,0.25) 55%, rgba(0,0,0,0.6) 75%, #000 95%);
}
.ce-conditions-hero__container {
position: relative;
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-conditions-hero__content {
max-width: 38rem;
}
.ce-conditions-hero__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.625rem;
margin-bottom: 1.25rem;
font-size: 0.75rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-conditions-hero__eyebrow-mark {
width: 24px;
height: 1px;
background: currentColor;
flex-shrink: 0;
}
.ce-conditions-hero__heading {
margin: 0 0 clamp(1.25rem, 2.5vw, 1.75rem);
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(2rem, 5vw, 4rem);
line-height: 1.04;
letter-spacing: -0.035em;
color: var(--ce-navy);
}
.ce-conditions-hero__heading-row {
display: block;
}
.ce-conditions-hero__heading-row--accent {
margin-top: 0.18em;
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
font-size: 0.75em;
letter-spacing: -0.02em;
}
.ce-conditions-hero__heading-em {
color: var(--ce-navy-60);
}
.ce-conditions-hero__heading-strong {
position: relative;
color: var(--ce-crimson);
font-style: italic;
font-weight: 500;
white-space: nowrap;
}
.ce-conditions-hero__heading-strong::after {
content: '';
position: absolute;
left: 0;
right: 0;
bottom: 0.05em;
height: 0.42em;
background: var(--ce-crimson-15);
z-index: -1;
border-radius: 2px;
transform: skewX(-6deg);
}
.ce-conditions-hero__sub {
max-width: 34rem;
margin: 0 0 clamp(1.75rem, 3vw, 2.25rem);
font-size: clamp(0.9375rem, 1.2vw, 1.125rem);
line-height: 1.6;
color: var(--ce-navy-70);
font-weight: 400;
}
.ce-conditions-hero__sub-link {
color: var(--ce-navy);
text-decoration: underline;
text-decoration-color: var(--ce-navy-40);
text-underline-offset: 3px;
text-decoration-thickness: 1px;
transition: text-decoration-color 0.25s var(--ce-ease), color 0.25s var(--ce-ease);
}
.ce-conditions-hero__sub-link:hover,
.ce-conditions-hero__sub-link:focus-visible {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
.ce-conditions-hero__cta-group {
display: flex;
flex-wrap: wrap;
gap: 0.875rem;
margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
}
.ce-conditions-hero__cta {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.625rem;
padding: 1.05rem 1.625rem;
border: 1px solid transparent;
border-radius: var(--ce-radius-sm);
font-family: inherit;
font-size: 0.9375rem;
font-weight: 500;
letter-spacing: -0.005em;
line-height: 1;
text-decoration: none;
cursor: pointer;
transition: transform 0.4s var(--ce-ease), background-color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), color 0.3s var(--ce-ease), box-shadow 0.4s var(--ce-ease);
}
.ce-conditions-hero__cta--primary {
background: var(--ce-crimson);
color: var(--ce-white);
box-shadow: 0 1px 0 rgba(255,255,255,0.15) inset, 0 8px 20px -8px var(--ce-crimson-90), 0 2px 4px var(--ce-navy-08);
}
.ce-conditions-hero__cta--primary:hover,
.ce-conditions-hero__cta--primary:focus-visible {
transform: translateY(-2px);
background: #b21f22;
box-shadow: 0 1px 0 rgba(255,255,255,0.18) inset, 0 14px 28px -10px var(--ce-crimson-90), 0 4px 8px var(--ce-navy-08);
}
.ce-conditions-hero__cta--secondary {
background: rgba(254, 254, 254, 0.7);
color: var(--ce-navy);
border-color: var(--ce-navy-15);
backdrop-filter: blur(6px);
-webkit-backdrop-filter: blur(6px);
}
.ce-conditions-hero__cta--secondary:hover,
.ce-conditions-hero__cta--secondary:focus-visible {
transform: translateY(-2px);
background: var(--ce-navy);
color: var(--ce-white);
border-color: var(--ce-navy);
box-shadow: 0 12px 24px -10px rgba(3, 41, 95, 0.4);
}
.ce-conditions-hero__cta:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: 3px;
}
.ce-conditions-hero__cta-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 18px;
height: 18px;
transition: transform 0.4s var(--ce-ease);
}
.ce-conditions-hero__cta-icon svg {
width: 100%;
height: 100%;
}
.ce-conditions-hero__cta--primary:hover .ce-conditions-hero__cta-icon:not(.ce-conditions-hero__cta-icon--lead) {
transform: translateX(4px);
}
.ce-conditions-hero__chips {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
list-style: none;
margin: 0;
padding: 1.25rem 0 0;
border-top: 1px solid var(--ce-navy-15);
}
.ce-conditions-hero__chip {
display: inline-flex;
align-items: center;
padding: 0.375rem 0.75rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.04em;
text-transform: uppercase;
color: var(--ce-navy-70);
background: rgba(3, 41, 95, 0.05);
border: 1px solid var(--ce-navy-08);
border-radius: 999px;
line-height: 1;
}
@media (max-width: 1024px) {
.ce-conditions-hero {
--ce-cond-photo-width: 45%;
}
}
@media (max-width: 820px) {
.ce-conditions-hero {
--ce-cond-photo-width: 70%;
--ce-cond-photo-opacity: 0.3;
}
.ce-conditions-hero__content {
max-width: 100%;
}
}
@media (max-width: 640px) {
.ce-conditions-hero {
--ce-cond-photo-width: 100%;
--ce-cond-photo-opacity: 0.15;
}
}
@media (max-width: 420px) {
.ce-conditions-hero__cta {
width: 100%;
}
.ce-conditions-hero__cta-group {
flex-direction: column;
}
.ce-conditions-hero__heading-strong {
white-space: normal;
}
}
.ce-conditions-strip,
.ce-conditions-strip * {
box-sizing: border-box;
}
.ce-conditions-strip {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-crimson: #c7272a;
--ce-white: #fefefe;
--ce-cream: #fbf8f3;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-pad-y: clamp(1.5rem, 2.5vw, 2.25rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-cream);
border-top: 1px solid var(--ce-navy-10);
border-bottom: 1px solid var(--ce-navy-10);
padding: var(--ce-pad-y) 0;
font-family: var(--ce-font-sans);
}
.ce-conditions-strip__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-conditions-strip__list {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(7, 1fr);
gap: clamp(0.5rem, 0.875vw, 0.875rem);
}
.ce-conditions-strip__link {
display: flex;
align-items: center;
gap: 0.75rem;
height: 100%;
padding: 0.875rem 0.875rem;
background: var(--ce-white);
border: 1px solid var(--ce-navy-10);
border-radius: 6px;
text-decoration: none;
color: inherit;
transition: border-color 0.3s var(--ce-ease), transform 0.3s var(--ce-ease), box-shadow 0.3s var(--ce-ease);
}
.ce-conditions-strip__link:hover,
.ce-conditions-strip__link:focus-visible {
border-color: var(--ce-navy);
transform: translateY(-2px);
box-shadow: 0 10px 24px -12px rgba(3, 41, 95, 0.2);
}
.ce-conditions-strip__link:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: 2px;
}
.ce-conditions-strip__icon {
flex-shrink: 0;
display: inline-flex;
align-items: center;
justify-content: center;
width: 32px;
height: 32px;
border-radius: 50%;
background: rgba(199, 39, 42, 0.08);
color: var(--ce-crimson);
transition: background-color 0.3s var(--ce-ease), color 0.3s var(--ce-ease);
}
.ce-conditions-strip__icon svg {
width: 15px;
height: 15px;
}
.ce-conditions-strip__link:hover .ce-conditions-strip__icon {
background: var(--ce-crimson);
color: var(--ce-white);
}
.ce-conditions-strip__body {
display: flex;
flex-direction: column;
gap: 0.125rem;
min-width: 0;
}
.ce-conditions-strip__title {
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: 0.8125rem;
line-height: 1.25;
letter-spacing: -0.015em;
color: var(--ce-navy);
}
.ce-conditions-strip__desc {
font-size: 0.6875rem;
color: var(--ce-navy-70);
line-height: 1.3;
letter-spacing: 0.01em;
}
@media (max-width: 1280px) {
.ce-conditions-strip__list {
grid-template-columns: repeat(4, 1fr);
}
}
@media (max-width: 820px) {
.ce-conditions-strip__list {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 480px) {
.ce-conditions-strip__list {
grid-template-columns: 1fr;
}
}
.ce-conditions-catalogue,
.ce-conditions-catalogue * {
box-sizing: border-box;
}
.ce-conditions-catalogue {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-navy-04: rgba(3, 41, 95, 0.04);
--ce-crimson: #c7272a;
--ce-crimson-15: rgba(199, 39, 42, 0.15);
--ce-crimson-08: rgba(199, 39, 42, 0.08);
--ce-white: #fefefe;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-conditions-catalogue__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-conditions-catalogue__header {
max-width: 48rem;
margin: 0 0 clamp(2.25rem, 3.5vw, 3rem);
}
.ce-conditions-catalogue__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-conditions-catalogue__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-conditions-catalogue__heading {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.625rem, 3vw, 2.5rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-conditions-catalogue__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-conditions-catalogue__intro {
margin: 0;
font-size: clamp(0.9375rem, 1vw, 1.0625rem);
line-height: 1.6;
color: var(--ce-navy-70);
max-width: 42rem;
}
.ce-conditions-catalogue__group {
margin-bottom: clamp(2.5rem, 4vw, 3.5rem);
scroll-margin-top: 120px;
}
.ce-conditions-catalogue__group:last-child {
margin-bottom: 0;
}
.ce-conditions-catalogue__group-head {
display: grid;
grid-template-columns: auto 1fr;
column-gap: 1.5rem;
row-gap: 0.5rem;
align-items: baseline;
padding-bottom: clamp(1rem, 1.75vw, 1.5rem);
margin-bottom: clamp(1.5rem, 2.25vw, 2rem);
border-bottom: 1px solid var(--ce-navy-15);
}
.ce-conditions-catalogue__group-num {
grid-row: 1 / span 2;
align-self: start;
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
font-size: clamp(2rem, 3.2vw, 2.875rem);
color: var(--ce-crimson);
line-height: 1;
letter-spacing: -0.01em;
}
.ce-conditions-catalogue__group-titles {
grid-column: 2;
display: flex;
flex-wrap: wrap;
align-items: baseline;
gap: 0.75rem;
}
.ce-conditions-catalogue__group-title {
margin: 0;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.25rem, 1.75vw, 1.625rem);
line-height: 1.2;
letter-spacing: -0.02em;
color: var(--ce-navy);
}
.ce-conditions-catalogue__group-count {
display: inline-block;
padding: 0.25rem 0.625rem;
background: var(--ce-crimson-08);
color: var(--ce-crimson);
border-radius: 999px;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.04em;
line-height: 1;
}
.ce-conditions-catalogue__group-desc {
grid-column: 2;
margin: 0;
font-size: 0.9375rem;
line-height: 1.6;
color: var(--ce-navy-70);
max-width: 56rem;
}
.ce-conditions-catalogue__group-link {
color: var(--ce-navy);
text-decoration: underline;
text-decoration-color: var(--ce-navy-40);
text-underline-offset: 3px;
text-decoration-thickness: 1px;
transition: color 0.25s var(--ce-ease), text-decoration-color 0.25s var(--ce-ease);
}
.ce-conditions-catalogue__group-link:hover,
.ce-conditions-catalogue__group-link:focus-visible {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
.ce-conditions-catalogue__grid {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: clamp(0.75rem, 1.25vw, 1.125rem);
}
.ce-conditions-catalogue__card {
margin: 0;
background: var(--ce-white);
border: 1px solid var(--ce-navy-10);
border-radius: 6px;
overflow: hidden;
position: relative;
transition: border-color 0.3s var(--ce-ease), transform 0.3s var(--ce-ease), box-shadow 0.3s var(--ce-ease);
}
.ce-conditions-catalogue__card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: var(--ce-crimson);
transform: scaleX(0);
transform-origin: left center;
transition: transform 0.45s var(--ce-ease);
}
.ce-conditions-catalogue__card:hover {
border-color: var(--ce-navy);
transform: translateY(-3px);
box-shadow: 0 18px 36px -16px rgba(3, 41, 95, 0.22);
}
.ce-conditions-catalogue__card:hover::before {
transform: scaleX(1);
}
.ce-conditions-catalogue__card-link {
display: flex;
flex-direction: column;
height: 100%;
padding: clamp(1.125rem, 1.75vw, 1.5rem);
text-decoration: none;
color: inherit;
}
.ce-conditions-catalogue__card-link:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: -2px;
border-radius: 6px;
}
.ce-conditions-catalogue__card-tag {
display: inline-block;
align-self: flex-start;
margin-bottom: 0.75rem;
padding: 0.25rem 0.5rem;
background: var(--ce-crimson-08);
color: var(--ce-crimson);
border-radius: 3px;
font-size: 0.625rem;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
line-height: 1;
}
.ce-conditions-catalogue__card-title {
margin: 0 0 0.5rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(0.9375rem, 1.05vw, 1.0625rem);
line-height: 1.25;
letter-spacing: -0.015em;
color: var(--ce-navy);
}
.ce-conditions-catalogue__card-copy {
margin: 0 0 1rem;
font-size: 0.8125rem;
line-height: 1.55;
color: var(--ce-navy-70);
flex-grow: 1;
}
.ce-conditions-catalogue__card-cta {
display: inline-flex;
align-items: center;
gap: 0.375rem;
margin-top: auto;
font-size: 0.75rem;
font-weight: 600;
color: var(--ce-crimson);
letter-spacing: 0.005em;
transition: gap 0.25s var(--ce-ease);
}
.ce-conditions-catalogue__card-cta svg {
width: 11px;
height: 11px;
transition: transform 0.25s var(--ce-ease);
}
.ce-conditions-catalogue__card:hover .ce-conditions-catalogue__card-cta {
gap: 0.55rem;
}
.ce-conditions-catalogue__card:hover .ce-conditions-catalogue__card-cta svg {
transform: translateX(2px);
}
@media (max-width: 1100px) {
.ce-conditions-catalogue__grid {
grid-template-columns: repeat(3, 1fr);
}
}
@media (max-width: 820px) {
.ce-conditions-catalogue__grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 540px) {
.ce-conditions-catalogue__grid {
grid-template-columns: 1fr;
}
.ce-conditions-catalogue__group-head {
grid-template-columns: 1fr;
}
.ce-conditions-catalogue__group-num {
grid-row: auto;
}
.ce-conditions-catalogue__group-titles,
.ce-conditions-catalogue__group-desc {
grid-column: auto;
}
}
.ce-conditions-claims,
.ce-conditions-claims * {
box-sizing: border-box;
}
.ce-conditions-claims {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-crimson: #c7272a;
--ce-crimson-08: rgba(199, 39, 42, 0.08);
--ce-white: #fefefe;
--ce-cream: #fbf8f3;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-cream);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-conditions-claims__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-conditions-claims__header {
max-width: 44rem;
margin: 0 0 clamp(2rem, 3vw, 2.75rem);
}
.ce-conditions-claims__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-conditions-claims__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-conditions-claims__heading {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-conditions-claims__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-conditions-claims__intro {
margin: 0;
font-size: clamp(0.9375rem, 1vw, 1.0625rem);
line-height: 1.6;
color: var(--ce-navy-70);
max-width: 42rem;
}
.ce-conditions-claims__grid {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: clamp(1rem, 1.75vw, 1.5rem);
}
.ce-conditions-claims__card {
background: var(--ce-white);
padding: clamp(1.5rem, 2.25vw, 2rem);
border-radius: 6px;
border: 1px solid var(--ce-navy-10);
border-left: 3px solid var(--ce-crimson);
display: flex;
flex-direction: column;
transition: transform 0.3s var(--ce-ease), box-shadow 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease);
}
.ce-conditions-claims__card:hover {
transform: translateY(-3px);
box-shadow: 0 16px 32px -14px rgba(3, 41, 95, 0.22);
border-color: var(--ce-navy);
border-left-color: var(--ce-crimson);
}
.ce-conditions-claims__card-tag {
display: inline-block;
align-self: flex-start;
margin-bottom: 1rem;
padding: 0.3rem 0.625rem;
background: var(--ce-crimson-08);
color: var(--ce-crimson);
border-radius: 4px;
font-family: var(--ce-font-sans);
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
line-height: 1;
}
.ce-conditions-claims__card-title {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.125rem, 1.4vw, 1.375rem);
line-height: 1.2;
letter-spacing: -0.02em;
color: var(--ce-navy);
}
.ce-conditions-claims__card-copy {
margin: 0 0 1.25rem;
font-size: 0.875rem;
line-height: 1.65;
color: var(--ce-navy);
flex-grow: 1;
}
.ce-conditions-claims__card-copy a {
color: var(--ce-navy);
text-decoration: underline;
text-decoration-color: var(--ce-navy-40);
text-underline-offset: 3px;
}
.ce-conditions-claims__card-copy a:hover {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
.ce-conditions-claims__card-pair {
margin: 0;
padding-top: 1rem;
border-top: 1px dashed var(--ce-navy-15);
font-size: 0.8125rem;
line-height: 1.5;
color: var(--ce-navy-70);
display: flex;
flex-wrap: wrap;
gap: 0.4rem;
align-items: center;
}
.ce-conditions-claims__card-pair-label {
font-weight: 600;
color: var(--ce-navy);
letter-spacing: -0.005em;
}
.ce-conditions-claims__card-pair a {
color: var(--ce-crimson);
text-decoration: none;
font-weight: 500;
}
.ce-conditions-claims__card-pair a:hover {
text-decoration: underline;
text-underline-offset: 3px;
}
.ce-conditions-claims__card-pair span[aria-hidden] {
color: var(--ce-navy-40);
}
@media (max-width: 900px) {
.ce-conditions-claims__grid {
grid-template-columns: 1fr;
max-width: 38rem;
}
}
.ce-conditions-related,
.ce-conditions-related * {
box-sizing: border-box;
}
.ce-conditions-related {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-crimson: #c7272a;
--ce-crimson-08: rgba(199, 39, 42, 0.08);
--ce-white: #fefefe;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-conditions-related__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-conditions-related__header {
max-width: 44rem;
margin: 0 auto clamp(2rem, 3vw, 2.5rem);
text-align: center;
}
.ce-conditions-related__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-conditions-related__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-conditions-related__heading {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-conditions-related__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-conditions-related__intro {
margin: 0 auto;
font-size: clamp(0.9375rem, 1vw, 1.0625rem);
line-height: 1.6;
color: var(--ce-navy-70);
max-width: 40rem;
}
.ce-conditions-related__grid {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: clamp(1rem, 1.75vw, 1.5rem);
}
.ce-conditions-related__card {
background: var(--ce-white);
border: 1px solid var(--ce-navy-10);
border-radius: 8px;
overflow: hidden;
transition: transform 0.4s var(--ce-ease), box-shadow 0.4s var(--ce-ease), border-color 0.4s var(--ce-ease);
}
.ce-conditions-related__card:hover {
transform: translateY(-4px);
border-color: var(--ce-navy);
box-shadow: 0 24px 48px -20px rgba(3, 41, 95, 0.28);
}
.ce-conditions-related__card-link {
display: flex;
flex-direction: column;
height: 100%;
text-decoration: none;
color: inherit;
}
.ce-conditions-related__card-link:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: -2px;
border-radius: 8px;
}
.ce-conditions-related__card-media {
position: relative;
overflow: hidden;
aspect-ratio: 16 / 9;
background: var(--ce-navy);
}
.ce-conditions-related__card-media::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(180deg, transparent 50%, rgba(3, 41, 95, 0.35) 100%);
pointer-events: none;
}
.ce-conditions-related__card-img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.6s var(--ce-ease);
}
.ce-conditions-related__card:hover .ce-conditions-related__card-img {
transform: scale(1.04);
}
.ce-conditions-related__card-body {
display: flex;
flex-direction: column;
padding: clamp(1.5rem, 2.25vw, 1.875rem);
flex-grow: 1;
}
.ce-conditions-related__card-tag {
display: inline-block;
align-self: flex-start;
margin-bottom: 0.875rem;
padding: 0.3rem 0.625rem;
background: var(--ce-crimson-08);
color: var(--ce-crimson);
border-radius: 4px;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
line-height: 1;
}
.ce-conditions-related__card-title {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.0625rem, 1.4vw, 1.375rem);
line-height: 1.2;
letter-spacing: -0.02em;
color: var(--ce-navy);
}
.ce-conditions-related__card-copy {
margin: 0 0 1.25rem;
font-size: 0.9375rem;
line-height: 1.6;
color: var(--ce-navy-70);
flex-grow: 1;
}
.ce-conditions-related__card-cta {
display: inline-flex;
align-items: center;
gap: 0.4375rem;
align-self: flex-start;
margin-top: auto;
padding: 0.375rem 0;
font-size: 0.8125rem;
font-weight: 600;
color: var(--ce-navy);
border-bottom: 1px solid var(--ce-navy);
transition: color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), gap 0.25s var(--ce-ease);
}
.ce-conditions-related__card-cta svg {
width: 12px;
height: 12px;
transition: transform 0.25s var(--ce-ease);
}
.ce-conditions-related__card:hover .ce-conditions-related__card-cta {
color: var(--ce-crimson);
border-color: var(--ce-crimson);
gap: 0.625rem;
}
.ce-conditions-related__card:hover .ce-conditions-related__card-cta svg {
transform: translateX(3px);
}
@media (max-width: 760px) {
.ce-conditions-related__grid {
grid-template-columns: 1fr;
max-width: 36rem;
margin: 0 auto;
}
}
.ce-conditions-cta,
.ce-conditions-cta * {
box-sizing: border-box;
}
.ce-conditions-cta {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-deep: #021c43;
--ce-crimson: #c7272a;
--ce-white: #fefefe;
--ce-white-90: rgba(254, 254, 254, 0.92);
--ce-white-70: rgba(254, 254, 254, 0.72);
--ce-white-25: rgba(254, 254, 254, 0.25);
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(2.75rem, 4.5vw, 4rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1100px;
position: relative;
overflow: hidden;
background: var(--ce-crimson);
color: var(--ce-white);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-conditions-cta__pulse {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 32px;
pointer-events: none;
opacity: 0.6;
z-index: 1;
}
.ce-conditions-cta__pulse svg {
width: 100%;
height: 100%;
display: block;
}
.ce-conditions-cta__container {
position: relative;
z-index: 2;
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-conditions-cta__content {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
}
.ce-conditions-cta__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.625rem;
margin-bottom: 1rem;
font-size: 0.75rem;
font-weight: 600;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--ce-white);
line-height: 1;
}
.ce-conditions-cta__eyebrow-mark {
width: 24px;
height: 1px;
background: currentColor;
}
.ce-conditions-cta__heading {
margin: 0 0 1rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.75rem, 3.4vw, 2.875rem);
line-height: 1.05;
letter-spacing: -0.025em;
color: var(--ce-white);
max-width: 24ch;
}
.ce-conditions-cta__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-white);
background-image: linear-gradient(to top, rgba(254, 254, 254, 0.25) 12%, transparent 12%, transparent 100%);
}
.ce-conditions-cta__sub {
margin: 0 0 clamp(1.5rem, 2.5vw, 2rem);
max-width: 40rem;
font-size: clamp(0.9375rem, 1.05vw, 1.0625rem);
line-height: 1.55;
color: var(--ce-white-90);
}
.ce-conditions-cta__actions {
display: flex;
flex-wrap: wrap;
align-items: stretch;
justify-content: center;
gap: 0.75rem;
margin-bottom: clamp(1.25rem, 2vw, 1.5rem);
}
.ce-conditions-cta__btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.625rem;
padding: 1rem 1.625rem;
border: 1.5px solid transparent;
border-radius: 6px;
font-family: inherit;
text-decoration: none;
cursor: pointer;
transition: transform 0.35s var(--ce-ease), background-color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), color 0.3s var(--ce-ease), box-shadow 0.4s var(--ce-ease);
min-width: 220px;
font-size: 0.9375rem;
font-weight: 600;
letter-spacing: -0.005em;
line-height: 1;
}
.ce-conditions-cta__btn-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 18px;
height: 18px;
flex-shrink: 0;
transition: transform 0.35s var(--ce-ease);
}
.ce-conditions-cta__btn-icon svg {
width: 100%;
height: 100%;
}
.ce-conditions-cta__btn--primary {
background: var(--ce-navy);
color: var(--ce-white);
box-shadow: 0 1px 0 rgba(255,255,255,0.12) inset, 0 6px 16px -6px rgba(2, 28, 67, 0.5);
}
.ce-conditions-cta__btn--primary:hover,
.ce-conditions-cta__btn--primary:focus-visible {
background: var(--ce-navy-deep);
transform: translateY(-2px);
box-shadow: 0 1px 0 rgba(255,255,255,0.15) inset, 0 12px 24px -8px rgba(2, 28, 67, 0.6);
}
.ce-conditions-cta__btn--primary:hover .ce-conditions-cta__btn-icon:not(.ce-conditions-cta__btn-icon--lead) {
transform: translateX(4px);
}
.ce-conditions-cta__btn--secondary {
background: transparent;
color: var(--ce-white);
border-color: rgba(254, 254, 254, 0.45);
}
.ce-conditions-cta__btn--secondary:hover,
.ce-conditions-cta__btn--secondary:focus-visible {
background: var(--ce-white);
color: var(--ce-crimson);
border-color: var(--ce-white);
transform: translateY(-2px);
}
.ce-conditions-cta__btn:focus-visible {
outline: 2px solid var(--ce-white);
outline-offset: 3px;
}
.ce-conditions-cta__trust {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
gap: 0.5rem 1rem;
margin: 0;
font-size: 0.8125rem;
font-weight: 500;
color: var(--ce-white-70);
}
.ce-conditions-cta__trust-item {
display: inline-flex;
align-items: center;
gap: 0.4rem;
line-height: 1.3;
}
.ce-conditions-cta__trust-item svg {
width: 13px;
height: 13px;
flex-shrink: 0;
color: var(--ce-white);
}
.ce-conditions-cta__trust-divider {
width: 1px;
height: 14px;
background: var(--ce-white-25);
}
@media (max-width: 760px) {
.ce-conditions-cta__btn {
min-width: 0;
flex: 1 1 100%;
max-width: 360px;
}
}
@media (max-width: 540px) {
.ce-conditions-cta__actions {
flex-direction: column;
align-items: stretch;
width: 100%;
max-width: 360px;
}
.ce-conditions-cta__btn {
max-width: 100%;
}
}
@media (max-width: 420px) {
.ce-conditions-cta__trust-divider {
display: none;
}
.ce-conditions-cta__trust {
flex-direction: column;
gap: 0.4rem;
}
}
.ce-conditions-hero [data-animate],
.ce-conditions-strip [data-animate],
.ce-conditions-catalogue [data-animate],
.ce-conditions-claims [data-animate],
.ce-conditions-related [data-animate],
.ce-conditions-cta [data-animate] {
opacity: 0;
transform: translateY(20px);
transition:
opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
}
.ce-conditions-hero [data-animate].is-visible,
.ce-conditions-strip [data-animate].is-visible,
.ce-conditions-catalogue [data-animate].is-visible,
.ce-conditions-claims [data-animate].is-visible,
.ce-conditions-related [data-animate].is-visible,
.ce-conditions-cta [data-animate].is-visible {
opacity: 1;
transform: translate(0, 0);
}
@media (prefers-reduced-motion: reduce) {
.ce-conditions-hero [data-animate],
.ce-conditions-strip [data-animate],
.ce-conditions-catalogue [data-animate],
.ce-conditions-claims [data-animate],
.ce-conditions-related [data-animate],
.ce-conditions-cta [data-animate] {
opacity: 1 !important;
transform: none !important;
transition: none !important;
}
}
.ce-condition-hero,
.ce-condition-hero * {
box-sizing: border-box;
}
.ce-condition-hero {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-60: rgba(3, 41, 95, 0.60);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-08: rgba(3, 41, 95, 0.08);
--ce-navy-04: rgba(3, 41, 95, 0.04);
--ce-crimson: #c7272a;
--ce-crimson-90: rgba(199, 39, 42, 0.92);
--ce-crimson-15: rgba(199, 39, 42, 0.15);
--ce-white: #fefefe;
--ce-radius-sm: 8px;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
--ce-cnd-photo-width: 50%;
--ce-cnd-photo-opacity: 1;
--ce-cnd-photo-tint: 0.5;
--ce-cnd-photo-saturation: 0.85;
--ce-cnd-photo-offset-x: 18%;
position: relative;
isolation: isolate;
overflow: hidden;
padding: var(--ce-pad-y) 0;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.ce-condition-hero__bg {
position: absolute;
inset: 0;
z-index: -3;
pointer-events: none;
overflow: hidden;
}
.ce-condition-hero__mesh {
position: absolute;
inset: 0;
background:
radial-gradient(ellipse 75% 60% at 5% 95%, var(--ce-navy-08) 0%, transparent 65%),
radial-gradient(ellipse 50% 40% at 30% 50%, var(--ce-navy-04) 0%, transparent 70%),
radial-gradient(ellipse 60% 80% at 92% 50%, rgba(3, 41, 95, 0.06) 0%, transparent 65%),
var(--ce-white);
}
.ce-condition-hero__pulse-wrap {
position: absolute;
left: 0;
right: 0;
top: 72%;
height: 28%;
transform: translateY(-50%);
opacity: 0.65;
-webkit-mask-image: linear-gradient(to right, #000 0%, #000 25%, rgba(0,0,0,0.35) 50%, transparent 72%);
mask-image: linear-gradient(to right, #000 0%, #000 25%, rgba(0,0,0,0.35) 50%, transparent 72%);
}
.ce-condition-hero__pulse {
width: 100%;
height: 100%;
display: block;
}
.ce-condition-hero__visual {
position: absolute;
top: 0;
right: 0;
bottom: 0;
width: var(--ce-cnd-photo-width);
max-width: 760px;
z-index: -1;
pointer-events: none;
overflow: hidden;
opacity: var(--ce-cnd-photo-opacity);
}
.ce-condition-hero__visual-wash {
position: absolute;
inset: 0;
background: linear-gradient(
to right,
transparent 0%,
rgba(3, 41, 95, 0.02) 25%,
rgba(3, 41, 95, 0.05) 45%,
rgba(3, 41, 95, 0.08) 65%,
rgba(3, 41, 95, 0.11) 85%,
rgba(3, 41, 95, 0.14) 100%
);
}
.ce-condition-hero__visual-inner {
position: absolute;
inset: 0;
transform: scale(1.02);
}
.ce-condition-hero__photo {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center right;
transform: translateX(var(--ce-cnd-photo-offset-x));
-webkit-mask-image:
linear-gradient(to right,
transparent 0%,
rgba(0,0,0,0.02) 5%,
rgba(0,0,0,0.08) 14%,
rgba(0,0,0,0.20) 24%,
rgba(0,0,0,0.38) 35%,
rgba(0,0,0,0.58) 47%,
rgba(0,0,0,0.78) 60%,
rgba(0,0,0,0.92) 75%,
#000 90%,
#000 100%),
linear-gradient(to bottom,
transparent 0%,
rgba(0,0,0,0.6) 6%,
#000 14%,
#000 86%,
rgba(0,0,0,0.6) 94%,
transparent 100%);
mask-image:
linear-gradient(to right,
transparent 0%,
rgba(0,0,0,0.02) 5%,
rgba(0,0,0,0.08) 14%,
rgba(0,0,0,0.20) 24%,
rgba(0,0,0,0.38) 35%,
rgba(0,0,0,0.58) 47%,
rgba(0,0,0,0.78) 60%,
rgba(0,0,0,0.92) 75%,
#000 90%,
#000 100%),
linear-gradient(to bottom,
transparent 0%,
rgba(0,0,0,0.6) 6%,
#000 14%,
#000 86%,
rgba(0,0,0,0.6) 94%,
transparent 100%);
-webkit-mask-composite: source-in;
mask-composite: intersect;
filter: saturate(var(--ce-cnd-photo-saturation)) contrast(1.12) brightness(1.08);
}
.ce-condition-hero__visual::after {
content: '';
position: absolute;
inset: 0;
opacity: var(--ce-cnd-photo-tint);
background:
linear-gradient(115deg,
rgba(3, 41, 95, 0.42) 0%,
rgba(3, 41, 95, 0.20) 35%,
rgba(3, 41, 95, 0.08) 60%,
rgba(3, 41, 95, 0.05) 100%),
radial-gradient(ellipse at 100% 50%, rgba(199, 39, 42, 0.06), transparent 60%);
pointer-events: none;
-webkit-mask-image: linear-gradient(to right, transparent 0%, transparent 22%, rgba(0,0,0,0.05) 35%, rgba(0,0,0,0.25) 55%, rgba(0,0,0,0.6) 75%, #000 95%);
mask-image: linear-gradient(to right, transparent 0%, transparent 22%, rgba(0,0,0,0.05) 35%, rgba(0,0,0,0.25) 55%, rgba(0,0,0,0.6) 75%, #000 95%);
}
.ce-condition-hero__container {
position: relative;
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-condition-hero__crumbs {
display: flex;
align-items: center;
gap: 0.5rem;
margin-bottom: clamp(1.5rem, 2.5vw, 2rem);
font-size: 0.75rem;
font-weight: 500;
color: var(--ce-navy-60);
letter-spacing: 0.01em;
}
.ce-condition-hero__crumb {
color: var(--ce-navy-70);
text-decoration: none;
transition: color 0.25s var(--ce-ease);
}
.ce-condition-hero__crumb:hover,
.ce-condition-hero__crumb:focus-visible {
color: var(--ce-crimson);
}
.ce-condition-hero__crumb--current {
color: var(--ce-navy);
font-weight: 600;
}
.ce-condition-hero__crumb-sep {
width: 11px;
height: 11px;
color: var(--ce-navy-40);
flex-shrink: 0;
}
.ce-condition-hero__content {
max-width: 38rem;
}
.ce-condition-hero__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.625rem;
margin-bottom: 1.25rem;
font-size: 0.75rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-condition-hero__eyebrow-mark {
width: 24px;
height: 1px;
background: currentColor;
flex-shrink: 0;
}
.ce-condition-hero__heading {
margin: 0 0 clamp(1.25rem, 2.5vw, 1.75rem);
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.875rem, 4.5vw, 3.5rem);
line-height: 1.04;
letter-spacing: -0.035em;
color: var(--ce-navy);
}
.ce-condition-hero__heading-row {
display: block;
}
.ce-condition-hero__heading-row--accent {
margin-top: 0.18em;
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
font-size: 0.7em;
letter-spacing: -0.02em;
}
.ce-condition-hero__heading-em {
color: var(--ce-navy-60);
}
.ce-condition-hero__heading-strong {
position: relative;
color: var(--ce-crimson);
font-style: italic;
font-weight: 500;
white-space: nowrap;
}
.ce-condition-hero__heading-strong::after {
content: '';
position: absolute;
left: 0;
right: 0;
bottom: 0.05em;
height: 0.42em;
background: var(--ce-crimson-15);
z-index: -1;
border-radius: 2px;
transform: skewX(-6deg);
}
.ce-condition-hero__sub {
max-width: 34rem;
margin: 0 0 clamp(1.75rem, 3vw, 2.25rem);
font-size: clamp(0.9375rem, 1.2vw, 1.0625rem);
line-height: 1.65;
color: var(--ce-navy-70);
font-weight: 400;
}
.ce-condition-hero__sub-link {
color: var(--ce-navy);
text-decoration: underline;
text-decoration-color: var(--ce-navy-40);
text-underline-offset: 3px;
text-decoration-thickness: 1px;
transition: text-decoration-color 0.25s var(--ce-ease), color 0.25s var(--ce-ease);
}
.ce-condition-hero__sub-link:hover,
.ce-condition-hero__sub-link:focus-visible {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
.ce-condition-hero__cta-group {
display: flex;
flex-wrap: wrap;
gap: 0.875rem;
margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
}
.ce-condition-hero__cta {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.625rem;
padding: 1rem 1.5rem;
border: 1px solid transparent;
border-radius: var(--ce-radius-sm);
font-family: inherit;
font-size: 0.9375rem;
font-weight: 500;
letter-spacing: -0.005em;
line-height: 1;
text-decoration: none;
cursor: pointer;
transition: transform 0.4s var(--ce-ease), background-color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), color 0.3s var(--ce-ease), box-shadow 0.4s var(--ce-ease);
}
.ce-condition-hero__cta--primary {
background: var(--ce-crimson);
color: var(--ce-white);
box-shadow: 0 1px 0 rgba(255,255,255,0.15) inset, 0 8px 20px -8px var(--ce-crimson-90), 0 2px 4px var(--ce-navy-08);
}
.ce-condition-hero__cta--primary:hover,
.ce-condition-hero__cta--primary:focus-visible {
transform: translateY(-2px);
background: #b21f22;
box-shadow: 0 1px 0 rgba(255,255,255,0.18) inset, 0 14px 28px -10px var(--ce-crimson-90), 0 4px 8px var(--ce-navy-08);
}
.ce-condition-hero__cta--secondary {
background: rgba(254, 254, 254, 0.7);
color: var(--ce-navy);
border-color: var(--ce-navy-15);
backdrop-filter: blur(6px);
-webkit-backdrop-filter: blur(6px);
}
.ce-condition-hero__cta--secondary:hover,
.ce-condition-hero__cta--secondary:focus-visible {
transform: translateY(-2px);
background: var(--ce-navy);
color: var(--ce-white);
border-color: var(--ce-navy);
box-shadow: 0 12px 24px -10px rgba(3, 41, 95, 0.4);
}
.ce-condition-hero__cta:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: 3px;
}
.ce-condition-hero__cta-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 18px;
height: 18px;
transition: transform 0.4s var(--ce-ease);
}
.ce-condition-hero__cta-icon svg {
width: 100%;
height: 100%;
}
.ce-condition-hero__cta--primary:hover .ce-condition-hero__cta-icon:not(.ce-condition-hero__cta-icon--lead) {
transform: translateX(4px);
}
.ce-condition-hero__chips {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
list-style: none;
margin: 0;
padding: 1.25rem 0 0;
border-top: 1px solid var(--ce-navy-15);
}
.ce-condition-hero__chip {
display: inline-flex;
align-items: center;
padding: 0.375rem 0.75rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.04em;
text-transform: uppercase;
color: var(--ce-navy-70);
background: rgba(3, 41, 95, 0.05);
border: 1px solid var(--ce-navy-08);
border-radius: 999px;
line-height: 1;
}
@media (max-width: 1024px) {
.ce-condition-hero {
--ce-cnd-photo-width: 45%;
}
}
@media (max-width: 820px) {
.ce-condition-hero {
--ce-cnd-photo-width: 70%;
--ce-cnd-photo-opacity: 0.3;
}
.ce-condition-hero__content {
max-width: 100%;
}
}
@media (max-width: 640px) {
.ce-condition-hero {
--ce-cnd-photo-width: 100%;
--ce-cnd-photo-opacity: 0.15;
}
}
@media (max-width: 420px) {
.ce-condition-hero__cta {
width: 100%;
}
.ce-condition-hero__cta-group {
flex-direction: column;
}
.ce-condition-hero__heading-strong {
white-space: normal;
}
}
.ce-condition-context,
.ce-condition-context * {
box-sizing: border-box;
}
.ce-condition-context {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-08: rgba(3, 41, 95, 0.08);
--ce-crimson: #c7272a;
--ce-white: #fefefe;
--ce-cream: #fbf8f3;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1200px;
background: var(--ce-cream);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-condition-context__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-condition-context__layout {
display: grid;
grid-template-columns: 0.7fr 1fr;
gap: clamp(2rem, 4vw, 3.5rem);
align-items: start;
}
.ce-condition-context__header {
position: sticky;
top: 120px;
}
.ce-condition-context__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-condition-context__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-condition-context__heading {
margin: 0;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-condition-context__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-condition-context__lead {
margin: 0 0 1.25rem;
font-family: var(--ce-font-serif);
font-weight: 400;
font-size: clamp(1rem, 1.25vw, 1.1875rem);
line-height: 1.6;
color: var(--ce-navy);
letter-spacing: -0.01em;
}
.ce-condition-context__copy {
margin: 0 0 1.5rem;
font-size: 0.9375rem;
line-height: 1.65;
color: var(--ce-navy);
}
.ce-condition-context__link {
color: var(--ce-navy);
text-decoration: underline;
text-decoration-color: var(--ce-navy-40);
text-underline-offset: 3px;
text-decoration-thickness: 1px;
transition: color 0.25s var(--ce-ease), text-decoration-color 0.25s var(--ce-ease);
}
.ce-condition-context__link:hover,
.ce-condition-context__link:focus-visible {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
.ce-condition-context__items {
list-style: none;
margin: 1.75rem 0 0;
padding: 1.5rem 0 0;
border-top: 1px solid var(--ce-navy-15);
display: flex;
flex-direction: column;
gap: 1rem;
}
.ce-condition-context__item {
display: flex;
align-items: flex-start;
gap: 0.875rem;
}
.ce-condition-context__item-mark {
flex-shrink: 0;
display: inline-flex;
align-items: center;
justify-content: center;
width: 22px;
height: 22px;
border-radius: 50%;
background: var(--ce-crimson);
color: var(--ce-white);
margin-top: 1px;
}
.ce-condition-context__item-mark svg {
width: 11px;
height: 11px;
}
.ce-condition-context__item-text {
font-size: 0.9375rem;
line-height: 1.6;
color: var(--ce-navy);
}
.ce-condition-context__item-text strong {
font-weight: 600;
color: var(--ce-navy);
}
.ce-condition-context__item-text a {
color: var(--ce-navy);
text-decoration: underline;
text-decoration-color: var(--ce-navy-40);
text-underline-offset: 3px;
}
.ce-condition-context__item-text a:hover {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
@media (max-width: 900px) {
.ce-condition-context__layout {
grid-template-columns: 1fr;
gap: 1.75rem;
}
.ce-condition-context__header {
position: static;
}
}
.ce-condition-assess,
.ce-condition-assess * {
box-sizing: border-box;
}
.ce-condition-assess {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-crimson: #c7272a;
--ce-crimson-08: rgba(199, 39, 42, 0.08);
--ce-white: #fefefe;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-condition-assess__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-condition-assess__header {
max-width: 48rem;
margin: 0 0 clamp(2rem, 3vw, 2.75rem);
}
.ce-condition-assess__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-condition-assess__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-condition-assess__heading {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-condition-assess__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-condition-assess__intro {
margin: 0;
font-size: clamp(0.9375rem, 1vw, 1.0625rem);
line-height: 1.6;
color: var(--ce-navy-70);
max-width: 42rem;
}
.ce-condition-assess__intro-link {
color: var(--ce-navy);
text-decoration: underline;
text-decoration-color: var(--ce-navy-40);
text-underline-offset: 3px;
}
.ce-condition-assess__intro-link:hover {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
.ce-condition-assess__grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: clamp(1rem, 2vw, 1.75rem);
}
.ce-condition-assess__col {
padding: clamp(1.5rem, 2.25vw, 2rem);
border-radius: 8px;
border: 1px solid var(--ce-navy-10);
background: var(--ce-white);
}
.ce-condition-assess__col--does {
border-left: 3px solid var(--ce-crimson);
}
.ce-condition-assess__col--doesnt {
background: rgba(3, 41, 95, 0.025);
border-left: 3px solid var(--ce-navy-40);
}
.ce-condition-assess__col-tag {
display: inline-block;
padding: 0.3rem 0.625rem;
margin-bottom: 1rem;
background: var(--ce-crimson-08);
color: var(--ce-crimson);
border-radius: 4px;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
line-height: 1;
}
.ce-condition-assess__col--doesnt .ce-condition-assess__col-tag {
background: rgba(3, 41, 95, 0.08);
color: var(--ce-navy);
}
.ce-condition-assess__col-title {
margin: 0 0 1rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.0625rem, 1.4vw, 1.25rem);
line-height: 1.2;
letter-spacing: -0.02em;
color: var(--ce-navy);
}
.ce-condition-assess__list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 0.875rem;
}
.ce-condition-assess__item {
display: flex;
align-items: flex-start;
gap: 0.75rem;
font-size: 0.9375rem;
line-height: 1.55;
color: var(--ce-navy);
}
.ce-condition-assess__item-icon {
flex-shrink: 0;
display: inline-flex;
align-items: center;
justify-content: center;
width: 20px;
height: 20px;
border-radius: 50%;
margin-top: 2px;
}
.ce-condition-assess__item-icon--yes {
background: var(--ce-crimson);
color: var(--ce-white);
}
.ce-condition-assess__item-icon--no {
background: var(--ce-navy);
color: var(--ce-white);
opacity: 0.55;
}
.ce-condition-assess__item-icon svg {
width: 10px;
height: 10px;
}
.ce-condition-assess__item a {
color: var(--ce-navy);
text-decoration: underline;
text-decoration-color: var(--ce-navy-40);
text-underline-offset: 3px;
}
.ce-condition-assess__item a:hover {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
@media (max-width: 760px) {
.ce-condition-assess__grid {
grid-template-columns: 1fr;
}
}
.ce-condition-scenarios,
.ce-condition-scenarios * {
box-sizing: border-box;
}
.ce-condition-scenarios {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-crimson: #c7272a;
--ce-crimson-08: rgba(199, 39, 42, 0.08);
--ce-white: #fefefe;
--ce-cream: #fbf8f3;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-cream);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-condition-scenarios__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-condition-scenarios__header {
max-width: 44rem;
margin: 0 0 clamp(2rem, 3vw, 2.75rem);
}
.ce-condition-scenarios__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-condition-scenarios__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-condition-scenarios__heading {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-condition-scenarios__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-condition-scenarios__intro {
margin: 0;
font-size: clamp(0.9375rem, 1vw, 1.0625rem);
line-height: 1.6;
color: var(--ce-navy-70);
max-width: 42rem;
}
.ce-condition-scenarios__grid {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: clamp(1rem, 1.75vw, 1.5rem);
}
.ce-condition-scenarios__card {
background: var(--ce-white);
padding: clamp(1.5rem, 2.25vw, 2rem);
border-radius: 6px;
border: 1px solid var(--ce-navy-10);
display: flex;
flex-direction: column;
transition: transform 0.3s var(--ce-ease), box-shadow 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease);
}
.ce-condition-scenarios__card:hover {
transform: translateY(-3px);
box-shadow: 0 16px 32px -14px rgba(3, 41, 95, 0.2);
border-color: var(--ce-navy);
}
.ce-condition-scenarios__card-tag {
display: inline-block;
align-self: flex-start;
margin-bottom: 0.875rem;
padding: 0.3rem 0.625rem;
background: var(--ce-crimson-08);
color: var(--ce-crimson);
border-radius: 4px;
font-family: var(--ce-font-sans);
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
line-height: 1;
}
.ce-condition-scenarios__card-title {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.0625rem, 1.4vw, 1.25rem);
line-height: 1.2;
letter-spacing: -0.02em;
color: var(--ce-navy);
}
.ce-condition-scenarios__card-copy {
margin: 0 0 1.25rem;
font-size: 0.875rem;
line-height: 1.65;
color: var(--ce-navy);
flex-grow: 1;
}
.ce-condition-scenarios__card-pair {
margin: 0;
padding-top: 1rem;
border-top: 1px dashed var(--ce-navy-15);
font-size: 0.8125rem;
line-height: 1.5;
color: var(--ce-navy-70);
display: flex;
flex-wrap: wrap;
gap: 0.4rem;
align-items: center;
}
.ce-condition-scenarios__card-pair-label {
font-weight: 600;
color: var(--ce-navy);
letter-spacing: -0.005em;
}
.ce-condition-scenarios__card-pair a {
color: var(--ce-crimson);
text-decoration: none;
font-weight: 500;
transition: text-decoration 0.25s var(--ce-ease);
}
.ce-condition-scenarios__card-pair a:hover {
text-decoration: underline;
text-underline-offset: 3px;
}
.ce-condition-scenarios__card-pair span[aria-hidden] {
color: var(--ce-navy-40);
}
@media (max-width: 900px) {
.ce-condition-scenarios__grid {
grid-template-columns: 1fr;
}
}
.ce-condition-reports,
.ce-condition-reports * {
box-sizing: border-box;
}
.ce-condition-reports {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-crimson: #c7272a;
--ce-crimson-08: rgba(199, 39, 42, 0.08);
--ce-white: #fefefe;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-condition-reports__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-condition-reports__header {
max-width: 44rem;
margin: 0 0 clamp(2rem, 3vw, 2.5rem);
}
.ce-condition-reports__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-condition-reports__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-condition-reports__heading {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-condition-reports__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-condition-reports__intro {
margin: 0;
font-size: clamp(0.9375rem, 1vw, 1.0625rem);
line-height: 1.6;
color: var(--ce-navy-70);
max-width: 40rem;
}
.ce-condition-reports__grid {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: clamp(1rem, 1.5vw, 1.5rem);
}
.ce-condition-reports__card {
background: var(--ce-white);
border: 1px solid var(--ce-navy-10);
border-radius: 6px;
overflow: hidden;
transition: border-color 0.3s var(--ce-ease), transform 0.3s var(--ce-ease), box-shadow 0.3s var(--ce-ease);
}
.ce-condition-reports__card:hover {
border-color: var(--ce-navy);
transform: translateY(-3px);
box-shadow: 0 16px 32px -14px rgba(3, 41, 95, 0.22);
}
.ce-condition-reports__card-link {
display: flex;
flex-direction: column;
height: 100%;
padding: clamp(1.5rem, 2.25vw, 2rem);
text-decoration: none;
color: inherit;
}
.ce-condition-reports__card-link:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: -2px;
border-radius: 6px;
}
.ce-condition-reports__card-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 44px;
height: 44px;
border-radius: 50%;
background: var(--ce-white);
border: 1.5px solid var(--ce-crimson);
color: var(--ce-crimson);
margin-bottom: 1rem;
transition: background-color 0.3s var(--ce-ease), color 0.3s var(--ce-ease);
}
.ce-condition-reports__card-icon svg {
width: 18px;
height: 18px;
}
.ce-condition-reports__card:hover .ce-condition-reports__card-icon {
background: var(--ce-crimson);
color: var(--ce-white);
}
.ce-condition-reports__card-tag {
display: inline-block;
align-self: flex-start;
margin-bottom: 0.625rem;
padding: 0.25rem 0.5rem;
background: var(--ce-crimson-08);
color: var(--ce-crimson);
border-radius: 3px;
font-size: 0.625rem;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
line-height: 1;
}
.ce-condition-reports__card-title {
margin: 0 0 0.625rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1rem, 1.2vw, 1.1875rem);
line-height: 1.2;
letter-spacing: -0.02em;
color: var(--ce-navy);
}
.ce-condition-reports__card-copy {
margin: 0 0 1.25rem;
font-size: 0.875rem;
line-height: 1.6;
color: var(--ce-navy-70);
flex-grow: 1;
}
.ce-condition-reports__card-cta {
display: inline-flex;
align-items: center;
gap: 0.375rem;
margin-top: auto;
font-size: 0.75rem;
font-weight: 600;
color: var(--ce-crimson);
transition: gap 0.25s var(--ce-ease);
}
.ce-condition-reports__card-cta svg {
width: 11px;
height: 11px;
transition: transform 0.25s var(--ce-ease);
}
.ce-condition-reports__card:hover .ce-condition-reports__card-cta {
gap: 0.55rem;
}
.ce-condition-reports__card:hover .ce-condition-reports__card-cta svg {
transform: translateX(3px);
}
@media (max-width: 900px) {
.ce-condition-reports__grid {
grid-template-columns: 1fr;
max-width: 38rem;
}
}
.ce-condition-hubs,
.ce-condition-hubs * {
box-sizing: border-box;
}
.ce-condition-hubs {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-crimson: #c7272a;
--ce-crimson-08: rgba(199, 39, 42, 0.08);
--ce-white: #fefefe;
--ce-cream: #fbf8f3;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-cream);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-condition-hubs__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-condition-hubs__header {
max-width: 44rem;
margin: 0 auto clamp(2rem, 3vw, 2.5rem);
text-align: center;
}
.ce-condition-hubs__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-condition-hubs__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-condition-hubs__heading {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-condition-hubs__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-condition-hubs__intro {
margin: 0 auto;
font-size: clamp(0.9375rem, 1vw, 1.0625rem);
line-height: 1.6;
color: var(--ce-navy-70);
max-width: 40rem;
}
.ce-condition-hubs__grid {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: clamp(1rem, 1.75vw, 1.5rem);
}
.ce-condition-hubs__card {
position: relative;
display: flex;
flex-direction: column;
background: var(--ce-white);
border: 1px solid var(--ce-navy-10);
border-radius: 8px;
overflow: hidden;
transition: transform 0.4s var(--ce-ease), box-shadow 0.4s var(--ce-ease), border-color 0.4s var(--ce-ease);
}
.ce-condition-hubs__card:hover {
transform: translateY(-4px);
border-color: var(--ce-navy);
box-shadow: 0 24px 48px -20px rgba(3, 41, 95, 0.28);
}
.ce-condition-hubs__card-media {
position: relative;
overflow: hidden;
aspect-ratio: 16 / 9;
background: var(--ce-navy);
}
.ce-condition-hubs__card-media::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(180deg, transparent 50%, rgba(3, 41, 95, 0.35) 100%);
pointer-events: none;
}
.ce-condition-hubs__card-img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.6s var(--ce-ease);
}
.ce-condition-hubs__card:hover .ce-condition-hubs__card-img {
transform: scale(1.04);
}
.ce-condition-hubs__card-body {
display: flex;
flex-direction: column;
padding: clamp(1.5rem, 2.25vw, 1.875rem);
flex-grow: 1;
}
.ce-condition-hubs__card-tag {
display: inline-block;
align-self: flex-start;
margin-bottom: 0.875rem;
padding: 0.3rem 0.625rem;
background: var(--ce-crimson-08);
color: var(--ce-crimson);
border-radius: 4px;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
line-height: 1;
}
.ce-condition-hubs__card-title {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.0625rem, 1.4vw, 1.375rem);
line-height: 1.2;
letter-spacing: -0.02em;
color: var(--ce-navy);
}
.ce-condition-hubs__card-title-link {
color: var(--ce-navy);
text-decoration: none;
transition: color 0.3s var(--ce-ease);
}
.ce-condition-hubs__card-title-link::after {
content: '';
position: absolute;
inset: 0;
z-index: 1;
border-radius: 8px;
}
.ce-condition-hubs__card-title-link:focus-visible::after {
outline: 2px solid var(--ce-crimson);
outline-offset: -2px;
}
.ce-condition-hubs__card:hover .ce-condition-hubs__card-title-link {
color: var(--ce-crimson);
}
.ce-condition-hubs__card-copy {
margin: 0 0 1.25rem;
font-size: 0.9375rem;
line-height: 1.6;
color: var(--ce-navy-70);
flex-grow: 1;
}
.ce-condition-hubs__card-inline {
position: relative;
z-index: 2;
color: var(--ce-navy);
text-decoration: underline;
text-decoration-color: var(--ce-navy-40);
text-underline-offset: 3px;
transition: color 0.25s var(--ce-ease), text-decoration-color 0.25s var(--ce-ease);
}
.ce-condition-hubs__card-inline:hover {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
.ce-condition-hubs__card-cta {
display: inline-flex;
align-items: center;
gap: 0.4375rem;
align-self: flex-start;
margin-top: auto;
padding: 0.375rem 0;
font-size: 0.8125rem;
font-weight: 600;
color: var(--ce-navy);
border-bottom: 1px solid var(--ce-navy);
transition: color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), gap 0.25s var(--ce-ease);
}
.ce-condition-hubs__card-cta svg {
width: 12px;
height: 12px;
transition: transform 0.25s var(--ce-ease);
}
.ce-condition-hubs__card:hover .ce-condition-hubs__card-cta {
color: var(--ce-crimson);
border-color: var(--ce-crimson);
gap: 0.625rem;
}
.ce-condition-hubs__card:hover .ce-condition-hubs__card-cta svg {
transform: translateX(3px);
}
@media (max-width: 760px) {
.ce-condition-hubs__grid {
grid-template-columns: 1fr;
max-width: 36rem;
margin: 0 auto;
}
}
.ce-condition-cta,
.ce-condition-cta * {
box-sizing: border-box;
}
.ce-condition-cta {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-deep: #021c43;
--ce-crimson: #c7272a;
--ce-white: #fefefe;
--ce-white-90: rgba(254, 254, 254, 0.92);
--ce-white-70: rgba(254, 254, 254, 0.72);
--ce-white-25: rgba(254, 254, 254, 0.25);
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(2.75rem, 4.5vw, 4rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1100px;
position: relative;
overflow: hidden;
background: var(--ce-crimson);
color: var(--ce-white);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-condition-cta__pulse {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 32px;
pointer-events: none;
opacity: 0.6;
z-index: 1;
}
.ce-condition-cta__pulse svg {
width: 100%;
height: 100%;
display: block;
}
.ce-condition-cta__container {
position: relative;
z-index: 2;
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-condition-cta__content {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
}
.ce-condition-cta__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.625rem;
margin-bottom: 1rem;
font-size: 0.75rem;
font-weight: 600;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--ce-white);
line-height: 1;
}
.ce-condition-cta__eyebrow-mark {
width: 24px;
height: 1px;
background: currentColor;
}
.ce-condition-cta__heading {
margin: 0 0 1rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.75rem, 3.4vw, 2.875rem);
line-height: 1.05;
letter-spacing: -0.025em;
color: var(--ce-white);
max-width: 24ch;
}
.ce-condition-cta__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-white);
background-image: linear-gradient(to top, rgba(254, 254, 254, 0.25) 12%, transparent 12%, transparent 100%);
}
.ce-condition-cta__sub {
margin: 0 0 clamp(1.5rem, 2.5vw, 2rem);
max-width: 40rem;
font-size: clamp(0.9375rem, 1.05vw, 1.0625rem);
line-height: 1.55;
color: var(--ce-white-90);
}
.ce-condition-cta__actions {
display: flex;
flex-wrap: wrap;
align-items: stretch;
justify-content: center;
gap: 0.75rem;
margin-bottom: clamp(1.25rem, 2vw, 1.5rem);
}
.ce-condition-cta__btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.625rem;
padding: 1rem 1.625rem;
border: 1.5px solid transparent;
border-radius: 6px;
font-family: inherit;
text-decoration: none;
cursor: pointer;
transition: transform 0.35s var(--ce-ease), background-color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), color 0.3s var(--ce-ease), box-shadow 0.4s var(--ce-ease);
min-width: 220px;
font-size: 0.9375rem;
font-weight: 600;
letter-spacing: -0.005em;
line-height: 1;
}
.ce-condition-cta__btn-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 18px;
height: 18px;
flex-shrink: 0;
transition: transform 0.35s var(--ce-ease);
}
.ce-condition-cta__btn-icon svg {
width: 100%;
height: 100%;
}
.ce-condition-cta__btn--primary {
background: var(--ce-navy);
color: var(--ce-white);
box-shadow: 0 1px 0 rgba(255,255,255,0.12) inset, 0 6px 16px -6px rgba(2, 28, 67, 0.5);
}
.ce-condition-cta__btn--primary:hover,
.ce-condition-cta__btn--primary:focus-visible {
background: var(--ce-navy-deep);
transform: translateY(-2px);
box-shadow: 0 1px 0 rgba(255,255,255,0.15) inset, 0 12px 24px -8px rgba(2, 28, 67, 0.6);
}
.ce-condition-cta__btn--primary:hover .ce-condition-cta__btn-icon:not(.ce-condition-cta__btn-icon--lead) {
transform: translateX(4px);
}
.ce-condition-cta__btn--secondary {
background: transparent;
color: var(--ce-white);
border-color: rgba(254, 254, 254, 0.45);
}
.ce-condition-cta__btn--secondary:hover,
.ce-condition-cta__btn--secondary:focus-visible {
background: var(--ce-white);
color: var(--ce-crimson);
border-color: var(--ce-white);
transform: translateY(-2px);
}
.ce-condition-cta__btn:focus-visible {
outline: 2px solid var(--ce-white);
outline-offset: 3px;
}
.ce-condition-cta__trust {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
gap: 0.5rem 1rem;
margin: 0;
font-size: 0.8125rem;
font-weight: 500;
color: var(--ce-white-70);
}
.ce-condition-cta__trust-item {
display: inline-flex;
align-items: center;
gap: 0.4rem;
line-height: 1.3;
}
.ce-condition-cta__trust-item svg {
width: 13px;
height: 13px;
flex-shrink: 0;
color: var(--ce-white);
}
.ce-condition-cta__trust-divider {
width: 1px;
height: 14px;
background: var(--ce-white-25);
}
@media (max-width: 760px) {
.ce-condition-cta__btn {
min-width: 0;
flex: 1 1 100%;
max-width: 360px;
}
}
@media (max-width: 540px) {
.ce-condition-cta__actions {
flex-direction: column;
align-items: stretch;
width: 100%;
max-width: 360px;
}
.ce-condition-cta__btn {
max-width: 100%;
}
}
@media (max-width: 420px) {
.ce-condition-cta__trust-divider {
display: none;
}
.ce-condition-cta__trust {
flex-direction: column;
gap: 0.4rem;
}
}
.ce-condition-hero [data-animate],
.ce-condition-context [data-animate],
.ce-condition-assess [data-animate],
.ce-condition-scenarios [data-animate],
.ce-condition-reports [data-animate],
.ce-condition-hubs [data-animate],
.ce-condition-cta [data-animate] {
opacity: 0;
transform: translateY(20px);
transition:
opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
}
.ce-condition-hero [data-animate].is-visible,
.ce-condition-context [data-animate].is-visible,
.ce-condition-assess [data-animate].is-visible,
.ce-condition-scenarios [data-animate].is-visible,
.ce-condition-reports [data-animate].is-visible,
.ce-condition-hubs [data-animate].is-visible,
.ce-condition-cta [data-animate].is-visible {
opacity: 1;
transform: translate(0, 0);
}
@media (prefers-reduced-motion: reduce) {
.ce-condition-hero [data-animate],
.ce-condition-context [data-animate],
.ce-condition-assess [data-animate],
.ce-condition-scenarios [data-animate],
.ce-condition-reports [data-animate],
.ce-condition-hubs [data-animate],
.ce-condition-cta [data-animate] {
opacity: 1 !important;
transform: none !important;
transition: none !important;
}
}
.ce-solicitors-hero,
.ce-solicitors-hero * {
box-sizing: border-box;
}
.ce-solicitors-hero {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-60: rgba(3, 41, 95, 0.60);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-08: rgba(3, 41, 95, 0.08);
--ce-navy-04: rgba(3, 41, 95, 0.04);
--ce-crimson: #c7272a;
--ce-crimson-90: rgba(199, 39, 42, 0.92);
--ce-crimson-15: rgba(199, 39, 42, 0.15);
--ce-white: #fefefe;
--ce-radius-sm: 8px;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
--ce-sol-photo-width: 50%;
--ce-sol-photo-opacity: 1;
--ce-sol-photo-tint: 0.5;
--ce-sol-photo-saturation: 0.85;
--ce-sol-photo-offset-x: 18%;
position: relative;
isolation: isolate;
overflow: hidden;
padding: var(--ce-pad-y) 0;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.ce-solicitors-hero__bg {
position: absolute;
inset: 0;
z-index: -3;
pointer-events: none;
overflow: hidden;
}
.ce-solicitors-hero__mesh {
position: absolute;
inset: 0;
background:
radial-gradient(ellipse 75% 60% at 5% 95%, var(--ce-navy-08) 0%, transparent 65%),
radial-gradient(ellipse 50% 40% at 30% 50%, var(--ce-navy-04) 0%, transparent 70%),
radial-gradient(ellipse 60% 80% at 92% 50%, rgba(3, 41, 95, 0.06) 0%, transparent 65%),
var(--ce-white);
}
.ce-solicitors-hero__pulse-wrap {
position: absolute;
left: 0;
right: 0;
top: 72%;
height: 28%;
transform: translateY(-50%);
opacity: 0.65;
-webkit-mask-image: linear-gradient(to right, #000 0%, #000 25%, rgba(0,0,0,0.35) 50%, transparent 72%);
mask-image: linear-gradient(to right, #000 0%, #000 25%, rgba(0,0,0,0.35) 50%, transparent 72%);
}
.ce-solicitors-hero__pulse {
width: 100%;
height: 100%;
display: block;
}
.ce-solicitors-hero__visual {
position: absolute;
top: 0;
right: 0;
bottom: 0;
width: var(--ce-sol-photo-width);
max-width: 760px;
z-index: -1;
pointer-events: none;
overflow: hidden;
opacity: var(--ce-sol-photo-opacity);
}
.ce-solicitors-hero__visual-wash {
position: absolute;
inset: 0;
background: linear-gradient(
to right,
transparent 0%,
rgba(3, 41, 95, 0.02) 25%,
rgba(3, 41, 95, 0.05) 45%,
rgba(3, 41, 95, 0.08) 65%,
rgba(3, 41, 95, 0.11) 85%,
rgba(3, 41, 95, 0.14) 100%
);
}
.ce-solicitors-hero__visual-inner {
position: absolute;
inset: 0;
transform: scale(1.02);
}
.ce-solicitors-hero__photo {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center right;
transform: translateX(var(--ce-sol-photo-offset-x));
-webkit-mask-image:
linear-gradient(to right,
transparent 0%, rgba(0,0,0,0.02) 5%, rgba(0,0,0,0.08) 14%,
rgba(0,0,0,0.20) 24%, rgba(0,0,0,0.38) 35%, rgba(0,0,0,0.58) 47%,
rgba(0,0,0,0.78) 60%, rgba(0,0,0,0.92) 75%, #000 90%, #000 100%),
linear-gradient(to bottom,
transparent 0%, rgba(0,0,0,0.6) 6%, #000 14%, #000 86%,
rgba(0,0,0,0.6) 94%, transparent 100%);
mask-image:
linear-gradient(to right,
transparent 0%, rgba(0,0,0,0.02) 5%, rgba(0,0,0,0.08) 14%,
rgba(0,0,0,0.20) 24%, rgba(0,0,0,0.38) 35%, rgba(0,0,0,0.58) 47%,
rgba(0,0,0,0.78) 60%, rgba(0,0,0,0.92) 75%, #000 90%, #000 100%),
linear-gradient(to bottom,
transparent 0%, rgba(0,0,0,0.6) 6%, #000 14%, #000 86%,
rgba(0,0,0,0.6) 94%, transparent 100%);
-webkit-mask-composite: source-in;
mask-composite: intersect;
filter: saturate(var(--ce-sol-photo-saturation)) contrast(1.12) brightness(1.08);
}
.ce-solicitors-hero__visual::after {
content: '';
position: absolute;
inset: 0;
opacity: var(--ce-sol-photo-tint);
background:
linear-gradient(115deg,
rgba(3, 41, 95, 0.42) 0%, rgba(3, 41, 95, 0.20) 35%,
rgba(3, 41, 95, 0.08) 60%, rgba(3, 41, 95, 0.05) 100%),
radial-gradient(ellipse at 100% 50%, rgba(199, 39, 42, 0.06), transparent 60%);
pointer-events: none;
-webkit-mask-image: linear-gradient(to right, transparent 0%, transparent 22%, rgba(0,0,0,0.05) 35%, rgba(0,0,0,0.25) 55%, rgba(0,0,0,0.6) 75%, #000 95%);
mask-image: linear-gradient(to right, transparent 0%, transparent 22%, rgba(0,0,0,0.05) 35%, rgba(0,0,0,0.25) 55%, rgba(0,0,0,0.6) 75%, #000 95%);
}
.ce-solicitors-hero__container {
position: relative;
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-solicitors-hero__crumbs {
display: flex;
align-items: center;
gap: 0.5rem;
margin-bottom: clamp(1.5rem, 2.5vw, 2rem);
font-size: 0.75rem;
font-weight: 500;
color: var(--ce-navy-60);
letter-spacing: 0.01em;
}
.ce-solicitors-hero__crumb {
color: var(--ce-navy-70);
text-decoration: none;
transition: color 0.25s var(--ce-ease);
}
.ce-solicitors-hero__crumb:hover,
.ce-solicitors-hero__crumb:focus-visible {
color: var(--ce-crimson);
}
.ce-solicitors-hero__crumb--current {
color: var(--ce-navy);
font-weight: 600;
}
.ce-solicitors-hero__crumb-sep {
width: 11px;
height: 11px;
color: var(--ce-navy-40);
flex-shrink: 0;
}
.ce-solicitors-hero__content {
max-width: 38rem;
}
.ce-solicitors-hero__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.625rem;
margin-bottom: 1.25rem;
font-size: 0.75rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-solicitors-hero__eyebrow-mark {
width: 24px;
height: 1px;
background: currentColor;
flex-shrink: 0;
}
.ce-solicitors-hero__heading {
margin: 0 0 clamp(1.25rem, 2.5vw, 1.75rem);
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.875rem, 4.8vw, 3.75rem);
line-height: 1.04;
letter-spacing: -0.035em;
color: var(--ce-navy);
}
.ce-solicitors-hero__heading-row {
display: block;
}
.ce-solicitors-hero__heading-row--accent {
margin-top: 0.18em;
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
font-size: 0.72em;
letter-spacing: -0.02em;
}
.ce-solicitors-hero__heading-em {
color: var(--ce-navy-60);
}
.ce-solicitors-hero__heading-strong {
position: relative;
color: var(--ce-crimson);
font-style: italic;
font-weight: 500;
white-space: nowrap;
}
.ce-solicitors-hero__heading-strong::after {
content: '';
position: absolute;
left: 0;
right: 0;
bottom: 0.05em;
height: 0.42em;
background: var(--ce-crimson-15);
z-index: -1;
border-radius: 2px;
transform: skewX(-6deg);
}
.ce-solicitors-hero__sub {
max-width: 35rem;
margin: 0 0 clamp(1.75rem, 3vw, 2.25rem);
font-size: clamp(0.9375rem, 1.2vw, 1.0625rem);
line-height: 1.65;
color: var(--ce-navy-70);
font-weight: 400;
}
.ce-solicitors-hero__sub-link {
color: var(--ce-navy);
text-decoration: underline;
text-decoration-color: var(--ce-navy-40);
text-underline-offset: 3px;
text-decoration-thickness: 1px;
transition: text-decoration-color 0.25s var(--ce-ease), color 0.25s var(--ce-ease);
}
.ce-solicitors-hero__sub-link:hover,
.ce-solicitors-hero__sub-link:focus-visible {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
.ce-solicitors-hero__cta-group {
display: flex;
flex-wrap: wrap;
gap: 0.875rem;
margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
}
.ce-solicitors-hero__cta {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.625rem;
padding: 1rem 1.5rem;
border: 1px solid transparent;
border-radius: var(--ce-radius-sm);
font-family: inherit;
font-size: 0.9375rem;
font-weight: 500;
letter-spacing: -0.005em;
line-height: 1;
text-decoration: none;
cursor: pointer;
transition: transform 0.4s var(--ce-ease), background-color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), color 0.3s var(--ce-ease), box-shadow 0.4s var(--ce-ease);
}
.ce-solicitors-hero__cta--primary {
background: var(--ce-crimson);
color: var(--ce-white);
box-shadow: 0 1px 0 rgba(255,255,255,0.15) inset, 0 8px 20px -8px var(--ce-crimson-90), 0 2px 4px var(--ce-navy-08);
}
.ce-solicitors-hero__cta--primary:hover,
.ce-solicitors-hero__cta--primary:focus-visible {
transform: translateY(-2px);
background: #b21f22;
box-shadow: 0 1px 0 rgba(255,255,255,0.18) inset, 0 14px 28px -10px var(--ce-crimson-90), 0 4px 8px var(--ce-navy-08);
}
.ce-solicitors-hero__cta--secondary {
background: rgba(254, 254, 254, 0.7);
color: var(--ce-navy);
border-color: var(--ce-navy-15);
backdrop-filter: blur(6px);
-webkit-backdrop-filter: blur(6px);
}
.ce-solicitors-hero__cta--secondary:hover,
.ce-solicitors-hero__cta--secondary:focus-visible {
transform: translateY(-2px);
background: var(--ce-navy);
color: var(--ce-white);
border-color: var(--ce-navy);
box-shadow: 0 12px 24px -10px rgba(3, 41, 95, 0.4);
}
.ce-solicitors-hero__cta:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: 3px;
}
.ce-solicitors-hero__cta-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 18px;
height: 18px;
transition: transform 0.4s var(--ce-ease);
}
.ce-solicitors-hero__cta-icon svg {
width: 100%;
height: 100%;
}
.ce-solicitors-hero__cta--primary:hover .ce-solicitors-hero__cta-icon:not(.ce-solicitors-hero__cta-icon--lead) {
transform: translateX(4px);
}
.ce-solicitors-hero__chips {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
list-style: none;
margin: 0;
padding: 1.25rem 0 0;
border-top: 1px solid var(--ce-navy-15);
}
.ce-solicitors-hero__chip {
display: inline-flex;
align-items: center;
padding: 0.375rem 0.75rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.04em;
text-transform: uppercase;
color: var(--ce-navy-70);
background: rgba(3, 41, 95, 0.05);
border: 1px solid var(--ce-navy-08);
border-radius: 999px;
line-height: 1;
}
@media (max-width: 1024px) {
.ce-solicitors-hero { --ce-sol-photo-width: 45%; }
}
@media (max-width: 820px) {
.ce-solicitors-hero {
--ce-sol-photo-width: 70%;
--ce-sol-photo-opacity: 0.3;
}
.ce-solicitors-hero__content { max-width: 100%; }
}
@media (max-width: 640px) {
.ce-solicitors-hero {
--ce-sol-photo-width: 100%;
--ce-sol-photo-opacity: 0.15;
}
}
@media (max-width: 420px) {
.ce-solicitors-hero__cta { width: 100%; }
.ce-solicitors-hero__cta-group { flex-direction: column; }
.ce-solicitors-hero__heading-strong { white-space: normal; }
}
.ce-solicitors-who,
.ce-solicitors-who * {
box-sizing: border-box;
}
.ce-solicitors-who {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-crimson: #c7272a;
--ce-white: #fefefe;
--ce-cream: #fbf8f3;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1200px;
background: var(--ce-cream);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-solicitors-who__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-solicitors-who__layout {
display: grid;
grid-template-columns: 0.7fr 1fr;
gap: clamp(2rem, 4vw, 3.5rem);
align-items: start;
}
.ce-solicitors-who__header {
position: sticky;
top: 120px;
}
.ce-solicitors-who__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-solicitors-who__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-solicitors-who__heading {
margin: 0;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-solicitors-who__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-solicitors-who__lead {
margin: 0 0 1.25rem;
font-family: var(--ce-font-serif);
font-weight: 400;
font-size: clamp(1rem, 1.25vw, 1.1875rem);
line-height: 1.6;
color: var(--ce-navy);
letter-spacing: -0.01em;
}
.ce-solicitors-who__copy {
margin: 0 0 1.25rem;
font-size: 0.9375rem;
line-height: 1.65;
color: var(--ce-navy);
}
.ce-solicitors-who__copy:last-child {
margin-bottom: 0;
}
.ce-solicitors-who__link {
color: var(--ce-navy);
text-decoration: underline;
text-decoration-color: var(--ce-navy-40);
text-underline-offset: 3px;
text-decoration-thickness: 1px;
transition: color 0.25s var(--ce-ease), text-decoration-color 0.25s var(--ce-ease);
}
.ce-solicitors-who__link:hover,
.ce-solicitors-who__link:focus-visible {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
@media (max-width: 900px) {
.ce-solicitors-who__layout {
grid-template-columns: 1fr;
gap: 1.75rem;
}
.ce-solicitors-who__header { position: static; }
}
.ce-solicitors-instructions,
.ce-solicitors-instructions * {
box-sizing: border-box;
}
.ce-solicitors-instructions {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-08: rgba(3, 41, 95, 0.08);
--ce-crimson: #c7272a;
--ce-crimson-08: rgba(199, 39, 42, 0.08);
--ce-white: #fefefe;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1200px;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-solicitors-instructions__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-solicitors-instructions__header {
max-width: 44rem;
margin: 0 0 clamp(2rem, 3vw, 2.5rem);
}
.ce-solicitors-instructions__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-solicitors-instructions__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-solicitors-instructions__heading {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-solicitors-instructions__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-solicitors-instructions__intro {
margin: 0;
font-size: clamp(0.9375rem, 1vw, 1.0625rem);
line-height: 1.6;
color: var(--ce-navy-70);
max-width: 40rem;
}
.ce-solicitors-instructions__list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
border-top: 1px solid var(--ce-navy-15);
}
.ce-solicitors-instructions__row {
border-bottom: 1px solid var(--ce-navy-15);
}
.ce-solicitors-instructions__row-link {
display: grid;
grid-template-columns: 72px 56px 1fr auto;
align-items: center;
gap: clamp(1rem, 2vw, 1.75rem);
padding: clamp(1.25rem, 2.25vw, 2rem) 0;
text-decoration: none;
color: inherit;
transition: background-color 0.25s var(--ce-ease), padding 0.3s var(--ce-ease);
position: relative;
}
.ce-solicitors-instructions__row-link::before {
content: '';
position: absolute;
left: 50%;
top: 0;
bottom: 0;
width: 100vw;
transform: translateX(-50%);
background: rgba(199, 39, 42, 0.03);
z-index: -1;
opacity: 0;
transition: opacity 0.3s var(--ce-ease);
}
.ce-solicitors-instructions__row-link:hover::before,
.ce-solicitors-instructions__row-link:focus-visible::before {
opacity: 1;
}
.ce-solicitors-instructions__row-link:focus-visible {
outline: none;
}
.ce-solicitors-instructions__row-num {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
font-size: clamp(2rem, 3.5vw, 2.875rem);
line-height: 1;
color: var(--ce-crimson);
letter-spacing: -0.02em;
transition: transform 0.4s var(--ce-ease);
}
.ce-solicitors-instructions__row-link:hover .ce-solicitors-instructions__row-num {
transform: translateX(4px);
}
.ce-solicitors-instructions__row-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 48px;
height: 48px;
border-radius: 50%;
background: var(--ce-white);
border: 1.5px solid var(--ce-navy-15);
color: var(--ce-navy);
transition: border-color 0.3s var(--ce-ease), background-color 0.3s var(--ce-ease), color 0.3s var(--ce-ease);
}
.ce-solicitors-instructions__row-icon svg {
width: 22px;
height: 22px;
}
.ce-solicitors-instructions__row-link:hover .ce-solicitors-instructions__row-icon {
background: var(--ce-crimson);
border-color: var(--ce-crimson);
color: var(--ce-white);
}
.ce-solicitors-instructions__row-body {
min-width: 0;
}
.ce-solicitors-instructions__row-tag {
display: inline-block;
margin-bottom: 0.4rem;
padding: 0.25rem 0.5rem;
background: var(--ce-crimson-08);
color: var(--ce-crimson);
border-radius: 3px;
font-size: 0.625rem;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
line-height: 1;
}
.ce-solicitors-instructions__row-title {
margin: 0 0 0.375rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.125rem, 1.5vw, 1.375rem);
line-height: 1.2;
letter-spacing: -0.02em;
color: var(--ce-navy);
transition: color 0.25s var(--ce-ease);
}
.ce-solicitors-instructions__row-link:hover .ce-solicitors-instructions__row-title {
color: var(--ce-crimson);
}
.ce-solicitors-instructions__row-copy {
margin: 0;
max-width: 38rem;
font-size: 0.9375rem;
line-height: 1.55;
color: var(--ce-navy-70);
}
.ce-solicitors-instructions__row-cta {
display: inline-flex;
align-items: center;
gap: 0.4rem;
font-size: 0.8125rem;
font-weight: 600;
color: var(--ce-navy);
border-bottom: 1px solid var(--ce-navy);
padding-bottom: 0.25rem;
transition: color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), gap 0.25s var(--ce-ease);
white-space: nowrap;
}
.ce-solicitors-instructions__row-cta svg {
width: 12px;
height: 12px;
transition: transform 0.25s var(--ce-ease);
}
.ce-solicitors-instructions__row-link:hover .ce-solicitors-instructions__row-cta {
color: var(--ce-crimson);
border-color: var(--ce-crimson);
gap: 0.55rem;
}
.ce-solicitors-instructions__row-link:hover .ce-solicitors-instructions__row-cta svg {
transform: translateX(3px);
}
@media (max-width: 760px) {
.ce-solicitors-instructions__row-link {
grid-template-columns: 50px 1fr;
grid-template-rows: auto auto;
column-gap: 1rem;
row-gap: 0.875rem;
align-items: start;
}
.ce-solicitors-instructions__row-num {
grid-row: 1;
grid-column: 1;
font-size: 2rem;
}
.ce-solicitors-instructions__row-icon {
grid-row: 1;
grid-column: 2;
justify-self: start;
width: 44px;
height: 44px;
}
.ce-solicitors-instructions__row-body {
grid-row: 2;
grid-column: 1 / -1;
}
.ce-solicitors-instructions__row-cta {
grid-row: 3;
grid-column: 1 / -1;
justify-self: start;
}
}
.ce-solicitors-receive,
.ce-solicitors-receive * {
box-sizing: border-box;
}
.ce-solicitors-receive {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-crimson: #c7272a;
--ce-crimson-08: rgba(199, 39, 42, 0.08);
--ce-white: #fefefe;
--ce-cream: #fbf8f3;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-cream);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-solicitors-receive__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-solicitors-receive__header {
max-width: 48rem;
margin: 0 0 clamp(2rem, 3vw, 2.75rem);
}
.ce-solicitors-receive__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-solicitors-receive__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-solicitors-receive__heading {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-solicitors-receive__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-solicitors-receive__intro {
margin: 0;
font-size: clamp(0.9375rem, 1vw, 1.0625rem);
line-height: 1.6;
color: var(--ce-navy-70);
max-width: 42rem;
}
.ce-solicitors-receive__grid {
list-style: none;
counter-reset: ce-receive-counter;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: clamp(1rem, 1.75vw, 1.5rem);
}
.ce-solicitors-receive__item {
background: var(--ce-white);
padding: clamp(1.5rem, 2.25vw, 1.875rem);
border-radius: 6px;
border: 1px solid var(--ce-navy-10);
border-top: 3px solid var(--ce-crimson);
transition: transform 0.3s var(--ce-ease), box-shadow 0.3s var(--ce-ease);
}
.ce-solicitors-receive__item:hover {
transform: translateY(-2px);
box-shadow: 0 14px 28px -14px rgba(3, 41, 95, 0.2);
}
.ce-solicitors-receive__item-num {
display: inline-block;
margin-bottom: 0.875rem;
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
font-size: 1.25rem;
color: var(--ce-crimson);
letter-spacing: -0.01em;
line-height: 1;
}
.ce-solicitors-receive__item-title {
margin: 0 0 0.625rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: 1rem;
line-height: 1.25;
letter-spacing: -0.02em;
color: var(--ce-navy);
}
.ce-solicitors-receive__item-copy {
margin: 0;
font-size: 0.875rem;
line-height: 1.6;
color: var(--ce-navy-70);
}
.ce-solicitors-receive__item-copy a {
color: var(--ce-navy);
text-decoration: underline;
text-decoration-color: var(--ce-navy-40);
text-underline-offset: 3px;
}
.ce-solicitors-receive__item-copy a:hover {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
.ce-solicitors-receive__footnote {
margin: clamp(1.5rem, 2.5vw, 2rem) 0 0;
font-size: 0.875rem;
color: var(--ce-navy-70);
text-align: right;
}
.ce-solicitors-receive__footnote a {
color: var(--ce-navy);
font-weight: 600;
text-decoration: underline;
text-decoration-color: var(--ce-navy-40);
text-underline-offset: 3px;
}
.ce-solicitors-receive__footnote a:hover {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
@media (max-width: 900px) {
.ce-solicitors-receive__grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 600px) {
.ce-solicitors-receive__grid {
grid-template-columns: 1fr;
}
.ce-solicitors-receive__footnote {
text-align: left;
}
}
.ce-solicitors-cases,
.ce-solicitors-cases * {
box-sizing: border-box;
}
.ce-solicitors-cases {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-crimson: #c7272a;
--ce-white: #fefefe;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-solicitors-cases__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-solicitors-cases__header {
max-width: 46rem;
margin: 0 0 clamp(2rem, 3vw, 2.75rem);
}
.ce-solicitors-cases__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-solicitors-cases__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-solicitors-cases__heading {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-solicitors-cases__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-solicitors-cases__intro {
margin: 0;
font-size: clamp(0.9375rem, 1vw, 1.0625rem);
line-height: 1.6;
color: var(--ce-navy-70);
max-width: 42rem;
}
.ce-solicitors-cases__grid {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: clamp(1rem, 1.5vw, 1.5rem);
}
.ce-solicitors-cases__card {
background: var(--ce-white);
padding: clamp(1.5rem, 2vw, 1.875rem);
border-radius: 6px;
border: 1px solid var(--ce-navy-10);
transition: transform 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), box-shadow 0.3s var(--ce-ease);
}
.ce-solicitors-cases__card:hover {
transform: translateY(-3px);
border-color: var(--ce-navy);
box-shadow: 0 16px 32px -16px rgba(3, 41, 95, 0.2);
}
.ce-solicitors-cases__card-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 44px;
height: 44px;
border-radius: 50%;
background: var(--ce-white);
border: 1.5px solid var(--ce-crimson);
color: var(--ce-crimson);
margin-bottom: 1rem;
transition: background-color 0.3s var(--ce-ease), color 0.3s var(--ce-ease);
}
.ce-solicitors-cases__card-icon svg {
width: 18px;
height: 18px;
}
.ce-solicitors-cases__card:hover .ce-solicitors-cases__card-icon {
background: var(--ce-crimson);
color: var(--ce-white);
}
.ce-solicitors-cases__card-title {
margin: 0 0 0.625rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1rem, 1.25vw, 1.1875rem);
line-height: 1.2;
letter-spacing: -0.02em;
color: var(--ce-navy);
}
.ce-solicitors-cases__card-copy {
margin: 0;
font-size: 0.875rem;
line-height: 1.6;
color: var(--ce-navy-70);
}
.ce-solicitors-cases__card-copy a {
color: var(--ce-navy);
text-decoration: underline;
text-decoration-color: var(--ce-navy-40);
text-underline-offset: 3px;
}
.ce-solicitors-cases__card-copy a:hover {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
.ce-solicitors-cases__footnote {
margin: clamp(1.5rem, 2.5vw, 2rem) 0 0;
font-size: 0.875rem;
color: var(--ce-navy-70);
text-align: right;
}
.ce-solicitors-cases__footnote a {
color: var(--ce-navy);
font-weight: 600;
text-decoration: underline;
text-decoration-color: var(--ce-navy-40);
text-underline-offset: 3px;
}
.ce-solicitors-cases__footnote a:hover {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
@media (max-width: 1024px) {
.ce-solicitors-cases__grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 540px) {
.ce-solicitors-cases__grid {
grid-template-columns: 1fr;
}
.ce-solicitors-cases__footnote {
text-align: left;
}
}
.ce-solicitors-benefits,
.ce-solicitors-benefits * {
box-sizing: border-box;
}
.ce-solicitors-benefits {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-deep: #021c43;
--ce-navy-15: rgba(254, 254, 254, 0.15);
--ce-navy-25: rgba(254, 254, 254, 0.25);
--ce-crimson: #c7272a;
--ce-white: #fefefe;
--ce-white-70: rgba(254, 254, 254, 0.72);
--ce-white-55: rgba(254, 254, 254, 0.55);
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3.5rem, 6vw, 5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background:
radial-gradient(ellipse at 0% 0%, rgba(199, 39, 42, 0.18) 0%, transparent 50%),
radial-gradient(ellipse at 100% 100%, rgba(199, 39, 42, 0.10) 0%, transparent 50%),
var(--ce-navy);
color: var(--ce-white);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
position: relative;
}
.ce-solicitors-benefits__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-solicitors-benefits__header {
max-width: 42rem;
margin: 0 0 clamp(2.25rem, 3.5vw, 3rem);
}
.ce-solicitors-benefits__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-white);
line-height: 1;
}
.ce-solicitors-benefits__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-solicitors-benefits__heading {
margin: 0;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.625rem, 3vw, 2.5rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-white);
}
.ce-solicitors-benefits__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-white-70);
}
.ce-solicitors-benefits__grid {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 0;
border-top: 1px solid var(--ce-navy-15);
}
.ce-solicitors-benefits__stat {
position: relative;
padding: clamp(1.5rem, 2.5vw, 2.25rem) clamp(1rem, 1.75vw, 1.5rem) clamp(1.5rem, 2.5vw, 2.25rem) 0;
border-bottom: 1px solid var(--ce-navy-15);
}
.ce-solicitors-benefits__stat:not(:first-child) {
padding-left: clamp(1rem, 1.75vw, 1.5rem);
border-left: 1px solid var(--ce-navy-15);
}
.ce-solicitors-benefits__stat-num {
display: block;
margin-bottom: 0.875rem;
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
font-size: clamp(2.5rem, 4.5vw, 3.875rem);
line-height: 1;
color: var(--ce-white);
letter-spacing: -0.02em;
opacity: 0.95;
}
.ce-solicitors-benefits__stat-title {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1rem, 1.35vw, 1.25rem);
line-height: 1.2;
letter-spacing: -0.02em;
color: var(--ce-white);
}
.ce-solicitors-benefits__stat-copy {
margin: 0;
font-size: 0.875rem;
line-height: 1.6;
color: var(--ce-white-70);
}
.ce-solicitors-benefits__stat-copy a {
color: var(--ce-white);
text-decoration: underline;
text-decoration-color: var(--ce-white-55);
text-underline-offset: 3px;
transition: text-decoration-color 0.25s var(--ce-ease);
}
.ce-solicitors-benefits__stat-copy a:hover {
text-decoration-color: var(--ce-white);
}
.ce-solicitors-benefits__footnote {
margin: clamp(1.5rem, 2.5vw, 2rem) 0 0;
font-size: 0.875rem;
color: var(--ce-white-70);
text-align: right;
}
.ce-solicitors-benefits__footnote a {
color: var(--ce-white);
font-weight: 600;
text-decoration: underline;
text-decoration-color: var(--ce-white-55);
text-underline-offset: 3px;
}
.ce-solicitors-benefits__footnote a:hover {
text-decoration-color: var(--ce-white);
}
@media (max-width: 1024px) {
.ce-solicitors-benefits__grid {
grid-template-columns: repeat(2, 1fr);
}
.ce-solicitors-benefits__stat:not(:first-child) {
border-left: 1px solid var(--ce-navy-15);
}
.ce-solicitors-benefits__stat:nth-child(odd) {
border-left: none;
padding-left: 0;
}
.ce-solicitors-benefits__stat:nth-child(odd):not(:first-child) {
padding-left: 0;
}
}
@media (max-width: 600px) {
.ce-solicitors-benefits__grid {
grid-template-columns: 1fr;
}
.ce-solicitors-benefits__stat,
.ce-solicitors-benefits__stat:not(:first-child) {
border-left: none !important;
padding-left: 0 !important;
padding-right: 0;
}
.ce-solicitors-benefits__footnote {
text-align: left;
}
}
.ce-solicitors-hubs,
.ce-solicitors-hubs * {
box-sizing: border-box;
}
.ce-solicitors-hubs {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-crimson: #c7272a;
--ce-crimson-08: rgba(199, 39, 42, 0.08);
--ce-white: #fefefe;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-solicitors-hubs__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-solicitors-hubs__header {
max-width: 44rem;
margin: 0 auto clamp(2rem, 3vw, 2.5rem);
text-align: center;
}
.ce-solicitors-hubs__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-solicitors-hubs__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-solicitors-hubs__heading {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-solicitors-hubs__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-solicitors-hubs__intro {
margin: 0 auto;
font-size: clamp(0.9375rem, 1vw, 1.0625rem);
line-height: 1.6;
color: var(--ce-navy-70);
max-width: 40rem;
}
.ce-solicitors-hubs__grid {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: clamp(1rem, 1.5vw, 1.5rem);
}
.ce-solicitors-hubs__card {
background: var(--ce-white);
border: 1px solid var(--ce-navy-10);
border-radius: 8px;
overflow: hidden;
transition: transform 0.4s var(--ce-ease), box-shadow 0.4s var(--ce-ease), border-color 0.4s var(--ce-ease);
}
.ce-solicitors-hubs__card:hover {
transform: translateY(-4px);
border-color: var(--ce-navy);
box-shadow: 0 24px 48px -20px rgba(3, 41, 95, 0.28);
}
.ce-solicitors-hubs__card-link {
display: flex;
flex-direction: column;
height: 100%;
text-decoration: none;
color: inherit;
}
.ce-solicitors-hubs__card-link:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: -2px;
border-radius: 8px;
}
.ce-solicitors-hubs__card-media {
position: relative;
overflow: hidden;
aspect-ratio: 16 / 9;
background: var(--ce-navy);
}
.ce-solicitors-hubs__card-media::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(180deg, transparent 50%, rgba(3, 41, 95, 0.35) 100%);
pointer-events: none;
}
.ce-solicitors-hubs__card-img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.6s var(--ce-ease);
}
.ce-solicitors-hubs__card:hover .ce-solicitors-hubs__card-img {
transform: scale(1.04);
}
.ce-solicitors-hubs__card-body {
display: flex;
flex-direction: column;
padding: clamp(1.5rem, 2.25vw, 1.875rem);
flex-grow: 1;
}
.ce-solicitors-hubs__card-tag {
display: inline-block;
align-self: flex-start;
margin-bottom: 0.75rem;
padding: 0.3rem 0.625rem;
background: var(--ce-crimson-08);
color: var(--ce-crimson);
border-radius: 4px;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
line-height: 1;
}
.ce-solicitors-hubs__card-title {
margin: 0 0 0.625rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.0625rem, 1.4vw, 1.25rem);
line-height: 1.2;
letter-spacing: -0.02em;
color: var(--ce-navy);
}
.ce-solicitors-hubs__card-copy {
margin: 0 0 1.25rem;
font-size: 0.875rem;
line-height: 1.6;
color: var(--ce-navy-70);
flex-grow: 1;
}
.ce-solicitors-hubs__card-cta {
display: inline-flex;
align-items: center;
gap: 0.4375rem;
align-self: flex-start;
margin-top: auto;
padding: 0.375rem 0;
font-size: 0.8125rem;
font-weight: 600;
color: var(--ce-navy);
border-bottom: 1px solid var(--ce-navy);
transition: color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), gap 0.25s var(--ce-ease);
}
.ce-solicitors-hubs__card-cta svg {
width: 12px;
height: 12px;
transition: transform 0.25s var(--ce-ease);
}
.ce-solicitors-hubs__card:hover .ce-solicitors-hubs__card-cta {
color: var(--ce-crimson);
border-color: var(--ce-crimson);
gap: 0.625rem;
}
.ce-solicitors-hubs__card:hover .ce-solicitors-hubs__card-cta svg {
transform: translateX(3px);
}
@media (max-width: 900px) {
.ce-solicitors-hubs__grid {
grid-template-columns: 1fr;
max-width: 38rem;
margin: 0 auto;
}
}
.ce-solicitors-cta,
.ce-solicitors-cta * {
box-sizing: border-box;
}
.ce-solicitors-cta {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-deep: #021c43;
--ce-crimson: #c7272a;
--ce-white: #fefefe;
--ce-white-90: rgba(254, 254, 254, 0.92);
--ce-white-70: rgba(254, 254, 254, 0.72);
--ce-white-25: rgba(254, 254, 254, 0.25);
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(2.75rem, 4.5vw, 4rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1100px;
position: relative;
overflow: hidden;
background: var(--ce-crimson);
color: var(--ce-white);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-solicitors-cta__pulse {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 32px;
pointer-events: none;
opacity: 0.6;
z-index: 1;
}
.ce-solicitors-cta__pulse svg {
width: 100%;
height: 100%;
display: block;
}
.ce-solicitors-cta__container {
position: relative;
z-index: 2;
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-solicitors-cta__content {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
}
.ce-solicitors-cta__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.625rem;
margin-bottom: 1rem;
font-size: 0.75rem;
font-weight: 600;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--ce-white);
line-height: 1;
}
.ce-solicitors-cta__eyebrow-mark {
width: 24px;
height: 1px;
background: currentColor;
}
.ce-solicitors-cta__heading {
margin: 0 0 1rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.75rem, 3.4vw, 2.875rem);
line-height: 1.05;
letter-spacing: -0.025em;
color: var(--ce-white);
max-width: 22ch;
}
.ce-solicitors-cta__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-white);
background-image: linear-gradient(to top, rgba(254, 254, 254, 0.25) 12%, transparent 12%, transparent 100%);
}
.ce-solicitors-cta__sub {
margin: 0 0 clamp(1.5rem, 2.5vw, 2rem);
max-width: 42rem;
font-size: clamp(0.9375rem, 1.05vw, 1.0625rem);
line-height: 1.55;
color: var(--ce-white-90);
}
.ce-solicitors-cta__actions {
display: flex;
flex-wrap: wrap;
align-items: stretch;
justify-content: center;
gap: 0.75rem;
margin-bottom: clamp(1.25rem, 2vw, 1.5rem);
}
.ce-solicitors-cta__btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.625rem;
padding: 1rem 1.625rem;
border: 1.5px solid transparent;
border-radius: 6px;
font-family: inherit;
text-decoration: none;
cursor: pointer;
transition: transform 0.35s var(--ce-ease), background-color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), color 0.3s var(--ce-ease), box-shadow 0.4s var(--ce-ease);
min-width: 220px;
font-size: 0.9375rem;
font-weight: 600;
letter-spacing: -0.005em;
line-height: 1;
}
.ce-solicitors-cta__btn-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 18px;
height: 18px;
flex-shrink: 0;
transition: transform 0.35s var(--ce-ease);
}
.ce-solicitors-cta__btn-icon svg {
width: 100%;
height: 100%;
}
.ce-solicitors-cta__btn--primary {
background: var(--ce-navy);
color: var(--ce-white);
box-shadow: 0 1px 0 rgba(255,255,255,0.12) inset, 0 6px 16px -6px rgba(2, 28, 67, 0.5);
}
.ce-solicitors-cta__btn--primary:hover,
.ce-solicitors-cta__btn--primary:focus-visible {
background: var(--ce-navy-deep);
transform: translateY(-2px);
box-shadow: 0 1px 0 rgba(255,255,255,0.15) inset, 0 12px 24px -8px rgba(2, 28, 67, 0.6);
}
.ce-solicitors-cta__btn--primary:hover .ce-solicitors-cta__btn-icon:not(.ce-solicitors-cta__btn-icon--lead) {
transform: translateX(4px);
}
.ce-solicitors-cta__btn--secondary {
background: transparent;
color: var(--ce-white);
border-color: rgba(254, 254, 254, 0.45);
}
.ce-solicitors-cta__btn--secondary:hover,
.ce-solicitors-cta__btn--secondary:focus-visible {
background: var(--ce-white);
color: var(--ce-crimson);
border-color: var(--ce-white);
transform: translateY(-2px);
}
.ce-solicitors-cta__btn:focus-visible {
outline: 2px solid var(--ce-white);
outline-offset: 3px;
}
.ce-solicitors-cta__trust {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
gap: 0.5rem 1rem;
margin: 0;
font-size: 0.8125rem;
font-weight: 500;
color: var(--ce-white-70);
}
.ce-solicitors-cta__trust-item {
display: inline-flex;
align-items: center;
gap: 0.4rem;
line-height: 1.3;
}
.ce-solicitors-cta__trust-item svg {
width: 13px;
height: 13px;
flex-shrink: 0;
color: var(--ce-white);
}
.ce-solicitors-cta__trust-divider {
width: 1px;
height: 14px;
background: var(--ce-white-25);
}
@media (max-width: 760px) {
.ce-solicitors-cta__btn {
min-width: 0;
flex: 1 1 100%;
max-width: 360px;
}
}
@media (max-width: 540px) {
.ce-solicitors-cta__actions {
flex-direction: column;
align-items: stretch;
width: 100%;
max-width: 360px;
}
.ce-solicitors-cta__btn { max-width: 100%; }
}
@media (max-width: 420px) {
.ce-solicitors-cta__trust-divider { display: none; }
.ce-solicitors-cta__trust {
flex-direction: column;
gap: 0.4rem;
}
}
.ce-solicitors-hero [data-animate],
.ce-solicitors-who [data-animate],
.ce-solicitors-instructions [data-animate],
.ce-solicitors-receive [data-animate],
.ce-solicitors-cases [data-animate],
.ce-solicitors-benefits [data-animate],
.ce-solicitors-hubs [data-animate],
.ce-solicitors-cta [data-animate] {
opacity: 0;
transform: translateY(20px);
transition:
opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
}
.ce-solicitors-hero [data-animate].is-visible,
.ce-solicitors-who [data-animate].is-visible,
.ce-solicitors-instructions [data-animate].is-visible,
.ce-solicitors-receive [data-animate].is-visible,
.ce-solicitors-cases [data-animate].is-visible,
.ce-solicitors-benefits [data-animate].is-visible,
.ce-solicitors-hubs [data-animate].is-visible,
.ce-solicitors-cta [data-animate].is-visible {
opacity: 1;
transform: translate(0, 0);
}
@media (prefers-reduced-motion: reduce) {
.ce-solicitors-hero [data-animate],
.ce-solicitors-who [data-animate],
.ce-solicitors-instructions [data-animate],
.ce-solicitors-receive [data-animate],
.ce-solicitors-cases [data-animate],
.ce-solicitors-benefits [data-animate],
.ce-solicitors-hubs [data-animate],
.ce-solicitors-cta [data-animate] {
opacity: 1 !important;
transform: none !important;
transition: none !important;
}
}
.ce-sol-page-hero,
.ce-sol-page-hero * {
box-sizing: border-box;
}
.ce-sol-page-hero {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-60: rgba(3, 41, 95, 0.60);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-08: rgba(3, 41, 95, 0.08);
--ce-navy-04: rgba(3, 41, 95, 0.04);
--ce-crimson: #c7272a;
--ce-crimson-90: rgba(199, 39, 42, 0.92);
--ce-crimson-15: rgba(199, 39, 42, 0.15);
--ce-white: #fefefe;
--ce-radius-sm: 8px;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
--ce-solp-photo-width: 48%;
--ce-solp-photo-opacity: 1;
--ce-solp-photo-tint: 0.5;
--ce-solp-photo-saturation: 0.85;
--ce-solp-photo-offset-x: 18%;
position: relative;
isolation: isolate;
overflow: hidden;
padding: var(--ce-pad-y) 0;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.ce-sol-page-hero__bg {
position: absolute;
inset: 0;
z-index: -3;
pointer-events: none;
overflow: hidden;
}
.ce-sol-page-hero__mesh {
position: absolute;
inset: 0;
background:
radial-gradient(ellipse 75% 60% at 5% 95%, var(--ce-navy-08) 0%, transparent 65%),
radial-gradient(ellipse 50% 40% at 30% 50%, var(--ce-navy-04) 0%, transparent 70%),
radial-gradient(ellipse 60% 80% at 92% 50%, rgba(3, 41, 95, 0.06) 0%, transparent 65%),
var(--ce-white);
}
.ce-sol-page-hero__pulse-wrap {
position: absolute;
left: 0;
right: 0;
top: 72%;
height: 28%;
transform: translateY(-50%);
opacity: 0.65;
-webkit-mask-image: linear-gradient(to right, #000 0%, #000 25%, rgba(0,0,0,0.35) 50%, transparent 72%);
mask-image: linear-gradient(to right, #000 0%, #000 25%, rgba(0,0,0,0.35) 50%, transparent 72%);
}
.ce-sol-page-hero__pulse {
width: 100%;
height: 100%;
display: block;
}
.ce-sol-page-hero__visual {
position: absolute;
top: 0;
right: 0;
bottom: 0;
width: var(--ce-solp-photo-width);
max-width: 760px;
z-index: -1;
pointer-events: none;
overflow: hidden;
opacity: var(--ce-solp-photo-opacity);
}
.ce-sol-page-hero__visual-wash {
position: absolute;
inset: 0;
background: linear-gradient(
to right,
transparent 0%,
rgba(3, 41, 95, 0.02) 25%,
rgba(3, 41, 95, 0.05) 45%,
rgba(3, 41, 95, 0.08) 65%,
rgba(3, 41, 95, 0.11) 85%,
rgba(3, 41, 95, 0.14) 100%
);
}
.ce-sol-page-hero__visual-inner {
position: absolute;
inset: 0;
transform: scale(1.02);
}
.ce-sol-page-hero__photo {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center right;
transform: translateX(var(--ce-solp-photo-offset-x));
-webkit-mask-image:
linear-gradient(to right, transparent 0%, rgba(0,0,0,0.02) 5%, rgba(0,0,0,0.08) 14%, rgba(0,0,0,0.20) 24%, rgba(0,0,0,0.38) 35%, rgba(0,0,0,0.58) 47%, rgba(0,0,0,0.78) 60%, rgba(0,0,0,0.92) 75%, #000 90%, #000 100%),
linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.6) 6%, #000 14%, #000 86%, rgba(0,0,0,0.6) 94%, transparent 100%);
mask-image:
linear-gradient(to right, transparent 0%, rgba(0,0,0,0.02) 5%, rgba(0,0,0,0.08) 14%, rgba(0,0,0,0.20) 24%, rgba(0,0,0,0.38) 35%, rgba(0,0,0,0.58) 47%, rgba(0,0,0,0.78) 60%, rgba(0,0,0,0.92) 75%, #000 90%, #000 100%),
linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.6) 6%, #000 14%, #000 86%, rgba(0,0,0,0.6) 94%, transparent 100%);
-webkit-mask-composite: source-in;
mask-composite: intersect;
filter: saturate(var(--ce-solp-photo-saturation)) contrast(1.12) brightness(1.08);
}
.ce-sol-page-hero__visual::after {
content: '';
position: absolute;
inset: 0;
opacity: var(--ce-solp-photo-tint);
background:
linear-gradient(115deg, rgba(3, 41, 95, 0.42) 0%, rgba(3, 41, 95, 0.20) 35%, rgba(3, 41, 95, 0.08) 60%, rgba(3, 41, 95, 0.05) 100%),
radial-gradient(ellipse at 100% 50%, rgba(199, 39, 42, 0.06), transparent 60%);
pointer-events: none;
-webkit-mask-image: linear-gradient(to right, transparent 0%, transparent 22%, rgba(0,0,0,0.05) 35%, rgba(0,0,0,0.25) 55%, rgba(0,0,0,0.6) 75%, #000 95%);
mask-image: linear-gradient(to right, transparent 0%, transparent 22%, rgba(0,0,0,0.05) 35%, rgba(0,0,0,0.25) 55%, rgba(0,0,0,0.6) 75%, #000 95%);
}
.ce-sol-page-hero__container {
position: relative;
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-sol-page-hero__crumbs {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 0.5rem;
margin-bottom: clamp(1.5rem, 2.5vw, 2rem);
font-size: 0.75rem;
font-weight: 500;
color: var(--ce-navy-60);
letter-spacing: 0.01em;
}
.ce-sol-page-hero__crumb {
color: var(--ce-navy-70);
text-decoration: none;
transition: color 0.25s var(--ce-ease);
}
.ce-sol-page-hero__crumb:hover,
.ce-sol-page-hero__crumb:focus-visible {
color: var(--ce-crimson);
}
.ce-sol-page-hero__crumb--current {
color: var(--ce-navy);
font-weight: 600;
}
.ce-sol-page-hero__crumb-sep {
width: 11px;
height: 11px;
color: var(--ce-navy-40);
flex-shrink: 0;
}
.ce-sol-page-hero__content {
max-width: 36rem;
}
.ce-sol-page-hero__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.625rem;
margin-bottom: 1.25rem;
font-size: 0.75rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-sol-page-hero__eyebrow-mark {
width: 24px;
height: 1px;
background: currentColor;
flex-shrink: 0;
}
.ce-sol-page-hero__heading {
margin: 0 0 clamp(1.25rem, 2.5vw, 1.75rem);
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.875rem, 4.5vw, 3.5rem);
line-height: 1.04;
letter-spacing: -0.035em;
color: var(--ce-navy);
}
.ce-sol-page-hero__heading-row {
display: block;
}
.ce-sol-page-hero__heading-row--accent {
margin-top: 0.18em;
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
font-size: 0.7em;
letter-spacing: -0.02em;
}
.ce-sol-page-hero__heading-em {
color: var(--ce-navy-60);
}
.ce-sol-page-hero__heading-strong {
position: relative;
color: var(--ce-crimson);
font-style: italic;
font-weight: 500;
white-space: nowrap;
}
.ce-sol-page-hero__heading-strong::after {
content: '';
position: absolute;
left: 0;
right: 0;
bottom: 0.05em;
height: 0.42em;
background: var(--ce-crimson-15);
z-index: -1;
border-radius: 2px;
transform: skewX(-6deg);
}
.ce-sol-page-hero__sub {
max-width: 34rem;
margin: 0 0 clamp(1.75rem, 3vw, 2.25rem);
font-size: clamp(0.9375rem, 1.2vw, 1.0625rem);
line-height: 1.65;
color: var(--ce-navy-70);
font-weight: 400;
}
.ce-sol-page-hero__sub-link {
color: var(--ce-navy);
text-decoration: underline;
text-decoration-color: var(--ce-navy-40);
text-underline-offset: 3px;
text-decoration-thickness: 1px;
transition: text-decoration-color 0.25s var(--ce-ease), color 0.25s var(--ce-ease);
}
.ce-sol-page-hero__sub-link:hover,
.ce-sol-page-hero__sub-link:focus-visible {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
.ce-sol-page-hero__cta-group {
display: flex;
flex-wrap: wrap;
gap: 0.875rem;
margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
}
.ce-sol-page-hero__cta {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.625rem;
padding: 1rem 1.5rem;
border: 1px solid transparent;
border-radius: var(--ce-radius-sm);
font-family: inherit;
font-size: 0.9375rem;
font-weight: 500;
letter-spacing: -0.005em;
line-height: 1;
text-decoration: none;
cursor: pointer;
transition: transform 0.4s var(--ce-ease), background-color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), color 0.3s var(--ce-ease), box-shadow 0.4s var(--ce-ease);
}
.ce-sol-page-hero__cta--primary {
background: var(--ce-crimson);
color: var(--ce-white);
box-shadow: 0 1px 0 rgba(255,255,255,0.15) inset, 0 8px 20px -8px var(--ce-crimson-90), 0 2px 4px var(--ce-navy-08);
}
.ce-sol-page-hero__cta--primary:hover,
.ce-sol-page-hero__cta--primary:focus-visible {
transform: translateY(-2px);
background: #b21f22;
box-shadow: 0 1px 0 rgba(255,255,255,0.18) inset, 0 14px 28px -10px var(--ce-crimson-90), 0 4px 8px var(--ce-navy-08);
}
.ce-sol-page-hero__cta--secondary {
background: rgba(254, 254, 254, 0.7);
color: var(--ce-navy);
border-color: var(--ce-navy-15);
backdrop-filter: blur(6px);
-webkit-backdrop-filter: blur(6px);
}
.ce-sol-page-hero__cta--secondary:hover,
.ce-sol-page-hero__cta--secondary:focus-visible {
transform: translateY(-2px);
background: var(--ce-navy);
color: var(--ce-white);
border-color: var(--ce-navy);
box-shadow: 0 12px 24px -10px rgba(3, 41, 95, 0.4);
}
.ce-sol-page-hero__cta:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: 3px;
}
.ce-sol-page-hero__cta-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 18px;
height: 18px;
transition: transform 0.4s var(--ce-ease);
}
.ce-sol-page-hero__cta-icon svg {
width: 100%;
height: 100%;
}
.ce-sol-page-hero__cta--primary:hover .ce-sol-page-hero__cta-icon:not(.ce-sol-page-hero__cta-icon--lead) {
transform: translateX(4px);
}
.ce-sol-page-hero__chips {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
list-style: none;
margin: 0;
padding: 1.25rem 0 0;
border-top: 1px solid var(--ce-navy-15);
}
.ce-sol-page-hero__chip {
display: inline-flex;
align-items: center;
padding: 0.375rem 0.75rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.04em;
text-transform: uppercase;
color: var(--ce-navy-70);
background: rgba(3, 41, 95, 0.05);
border: 1px solid var(--ce-navy-08);
border-radius: 999px;
line-height: 1;
}
@media (max-width: 1024px) { .ce-sol-page-hero { --ce-solp-photo-width: 45%; } }
@media (max-width: 820px) {
.ce-sol-page-hero { --ce-solp-photo-width: 70%; --ce-solp-photo-opacity: 0.3; }
.ce-sol-page-hero__content { max-width: 100%; }
}
@media (max-width: 640px) {
.ce-sol-page-hero { --ce-solp-photo-width: 100%; --ce-solp-photo-opacity: 0.15; }
}
@media (max-width: 420px) {
.ce-sol-page-hero__cta { width: 100%; }
.ce-sol-page-hero__cta-group { flex-direction: column; }
.ce-sol-page-hero__heading-strong { white-space: normal; }
}
.ce-sol-page-overview,
.ce-sol-page-overview * {
box-sizing: border-box;
}
.ce-sol-page-overview {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-crimson: #c7272a;
--ce-cream: #fbf8f3;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1200px;
background: var(--ce-cream);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-sol-page-overview__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-sol-page-overview__layout {
display: grid;
grid-template-columns: 0.7fr 1fr;
gap: clamp(2rem, 4vw, 3.5rem);
align-items: start;
}
.ce-sol-page-overview__header {
position: sticky;
top: 120px;
}
.ce-sol-page-overview__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-sol-page-overview__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-sol-page-overview__heading {
margin: 0;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-sol-page-overview__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-sol-page-overview__lead {
margin: 0 0 1.25rem;
font-family: var(--ce-font-serif);
font-weight: 400;
font-size: clamp(1rem, 1.25vw, 1.1875rem);
line-height: 1.6;
color: var(--ce-navy);
letter-spacing: -0.01em;
}
.ce-sol-page-overview__copy {
margin: 0 0 1.25rem;
font-size: 0.9375rem;
line-height: 1.65;
color: var(--ce-navy);
}
.ce-sol-page-overview__copy:last-child {
margin-bottom: 0;
}
.ce-sol-page-overview__link {
color: var(--ce-navy);
text-decoration: underline;
text-decoration-color: var(--ce-navy-40);
text-underline-offset: 3px;
text-decoration-thickness: 1px;
transition: color 0.25s var(--ce-ease), text-decoration-color 0.25s var(--ce-ease);
}
.ce-sol-page-overview__link:hover,
.ce-sol-page-overview__link:focus-visible {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
@media (max-width: 900px) {
.ce-sol-page-overview__layout {
grid-template-columns: 1fr;
gap: 1.75rem;
}
.ce-sol-page-overview__header { position: static; }
}
.ce-sol-page-detail,
.ce-sol-page-detail * {
box-sizing: border-box;
}
.ce-sol-page-detail {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-crimson: #c7272a;
--ce-white: #fefefe;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-sol-page-detail__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-sol-page-detail__header {
max-width: 46rem;
margin: 0 0 clamp(2rem, 3vw, 2.75rem);
}
.ce-sol-page-detail__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-sol-page-detail__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-sol-page-detail__heading {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-sol-page-detail__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-sol-page-detail__intro {
margin: 0;
font-size: clamp(0.9375rem, 1vw, 1.0625rem);
line-height: 1.6;
color: var(--ce-navy-70);
max-width: 42rem;
}
.ce-sol-page-detail__grid {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: clamp(0.875rem, 1.5vw, 1.25rem);
}
.ce-sol-page-detail__item {
position: relative;
padding: clamp(1.25rem, 2vw, 1.75rem) clamp(1rem, 1.5vw, 1.5rem) clamp(1.25rem, 2vw, 1.75rem) clamp(1.25rem, 2vw, 1.75rem);
background: var(--ce-white);
border: 1px solid var(--ce-navy-10);
border-left: 3px solid var(--ce-crimson);
border-radius: 4px;
transition: transform 0.3s var(--ce-ease), box-shadow 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease);
}
.ce-sol-page-detail__item:hover {
transform: translateY(-2px);
box-shadow: 0 14px 28px -14px rgba(3, 41, 95, 0.18);
border-left-color: var(--ce-navy);
}
.ce-sol-page-detail__item-num {
display: inline-block;
margin-bottom: 0.5rem;
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
font-size: 1.0625rem;
color: var(--ce-crimson);
letter-spacing: -0.01em;
line-height: 1;
}
.ce-sol-page-detail__item-title {
margin: 0 0 0.625rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: 1rem;
line-height: 1.25;
letter-spacing: -0.02em;
color: var(--ce-navy);
}
.ce-sol-page-detail__item-title a {
color: var(--ce-navy);
text-decoration: none;
transition: color 0.25s var(--ce-ease);
}
.ce-sol-page-detail__item-title a:hover {
color: var(--ce-crimson);
}
.ce-sol-page-detail__item-copy {
margin: 0;
font-size: 0.875rem;
line-height: 1.6;
color: var(--ce-navy-70);
}
.ce-sol-page-detail__footnote {
margin: clamp(1.5rem, 2.5vw, 2rem) 0 0;
font-size: 0.875rem;
color: var(--ce-navy-70);
text-align: right;
}
.ce-sol-page-detail__footnote a {
color: var(--ce-navy);
font-weight: 600;
text-decoration: underline;
text-decoration-color: var(--ce-navy-40);
text-underline-offset: 3px;
}
.ce-sol-page-detail__footnote a:hover {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
@media (max-width: 900px) {
.ce-sol-page-detail__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
.ce-sol-page-detail__grid { grid-template-columns: 1fr; }
.ce-sol-page-detail__footnote { text-align: left; }
}
.ce-sol-page-process,
.ce-sol-page-process * {
box-sizing: border-box;
}
.ce-sol-page-process {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-crimson: #c7272a;
--ce-white: #fefefe;
--ce-cream: #fbf8f3;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-cream);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-sol-page-process__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-sol-page-process__header {
max-width: 44rem;
margin: 0 0 clamp(2rem, 3.5vw, 3rem);
}
.ce-sol-page-process__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-sol-page-process__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-sol-page-process__heading {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-sol-page-process__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-sol-page-process__intro {
margin: 0;
font-size: clamp(0.9375rem, 1vw, 1.0625rem);
line-height: 1.6;
color: var(--ce-navy-70);
max-width: 42rem;
}
.ce-sol-page-process__steps {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: clamp(0.875rem, 1.5vw, 1.25rem);
position: relative;
}
.ce-sol-page-process__steps::before {
content: '';
position: absolute;
top: 26px;
left: 8%;
right: 8%;
height: 1px;
background: repeating-linear-gradient(
to right,
var(--ce-navy-15) 0,
var(--ce-navy-15) 6px,
transparent 6px,
transparent 12px
);
z-index: 0;
}
.ce-sol-page-process__step {
position: relative;
z-index: 1;
padding: 0;
display: flex;
flex-direction: column;
align-items: flex-start;
}
.ce-sol-page-process__step-num {
position: absolute;
top: 4px;
right: 8px;
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
font-size: 1.5rem;
line-height: 1;
color: var(--ce-navy-15);
letter-spacing: -0.02em;
z-index: -1;
}
.ce-sol-page-process__step-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 52px;
height: 52px;
border-radius: 50%;
background: var(--ce-cream);
border: 1.5px solid var(--ce-crimson);
color: var(--ce-crimson);
margin-bottom: 1.25rem;
flex-shrink: 0;
transition: background-color 0.3s var(--ce-ease), color 0.3s var(--ce-ease), transform 0.3s var(--ce-ease);
position: relative;
z-index: 2;
}
.ce-sol-page-process__step-icon svg {
width: 20px;
height: 20px;
}
.ce-sol-page-process__step:hover .ce-sol-page-process__step-icon {
background: var(--ce-crimson);
color: var(--ce-white);
transform: scale(1.05);
}
.ce-sol-page-process__step-title {
margin: 0 0 0.5rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1rem, 1.25vw, 1.1875rem);
line-height: 1.2;
letter-spacing: -0.02em;
color: var(--ce-navy);
}
.ce-sol-page-process__step-copy {
margin: 0;
font-size: 0.875rem;
line-height: 1.55;
color: var(--ce-navy-70);
}
@media (max-width: 900px) {
.ce-sol-page-process__steps {
grid-template-columns: repeat(2, 1fr);
gap: 1.5rem;
}
.ce-sol-page-process__steps::before { display: none; }
}
@media (max-width: 540px) {
.ce-sol-page-process__steps { grid-template-columns: 1fr; }
}
.ce-sol-page-scope,
.ce-sol-page-scope * {
box-sizing: border-box;
}
.ce-sol-page-scope {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-crimson: #c7272a;
--ce-crimson-08: rgba(199, 39, 42, 0.08);
--ce-white: #fefefe;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-sol-page-scope__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-sol-page-scope__header {
max-width: 48rem;
margin: 0 0 clamp(2rem, 3vw, 2.75rem);
}
.ce-sol-page-scope__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-sol-page-scope__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-sol-page-scope__heading {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-sol-page-scope__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-sol-page-scope__intro {
margin: 0;
font-size: clamp(0.9375rem, 1vw, 1.0625rem);
line-height: 1.6;
color: var(--ce-navy-70);
max-width: 42rem;
}
.ce-sol-page-scope__grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: clamp(1rem, 2vw, 1.75rem);
}
.ce-sol-page-scope__col {
padding: clamp(1.5rem, 2.25vw, 2rem);
border-radius: 8px;
border: 1px solid var(--ce-navy-10);
background: var(--ce-white);
}
.ce-sol-page-scope__col--does {
border-left: 3px solid var(--ce-crimson);
}
.ce-sol-page-scope__col--doesnt {
background: rgba(3, 41, 95, 0.025);
border-left: 3px solid var(--ce-navy-40);
}
.ce-sol-page-scope__col-tag {
display: inline-block;
padding: 0.3rem 0.625rem;
margin-bottom: 1rem;
background: var(--ce-crimson-08);
color: var(--ce-crimson);
border-radius: 4px;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
line-height: 1;
}
.ce-sol-page-scope__col--doesnt .ce-sol-page-scope__col-tag {
background: rgba(3, 41, 95, 0.08);
color: var(--ce-navy);
}
.ce-sol-page-scope__col-title {
margin: 0 0 1rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.0625rem, 1.4vw, 1.25rem);
line-height: 1.2;
letter-spacing: -0.02em;
color: var(--ce-navy);
}
.ce-sol-page-scope__list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 0.875rem;
}
.ce-sol-page-scope__item {
display: flex;
align-items: flex-start;
gap: 0.75rem;
font-size: 0.9375rem;
line-height: 1.55;
color: var(--ce-navy);
}
.ce-sol-page-scope__item-icon {
flex-shrink: 0;
display: inline-flex;
align-items: center;
justify-content: center;
width: 20px;
height: 20px;
border-radius: 50%;
margin-top: 2px;
}
.ce-sol-page-scope__item-icon--yes {
background: var(--ce-crimson);
color: var(--ce-white);
}
.ce-sol-page-scope__item-icon--no {
background: var(--ce-navy);
color: var(--ce-white);
opacity: 0.55;
}
.ce-sol-page-scope__item-icon svg {
width: 10px;
height: 10px;
}
.ce-sol-page-scope__item a {
color: var(--ce-navy);
text-decoration: underline;
text-decoration-color: var(--ce-navy-40);
text-underline-offset: 3px;
}
.ce-sol-page-scope__item a:hover {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
@media (max-width: 760px) {
.ce-sol-page-scope__grid { grid-template-columns: 1fr; }
}
.ce-sol-page-related,
.ce-sol-page-related * {
box-sizing: border-box;
}
.ce-sol-page-related {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-crimson: #c7272a;
--ce-crimson-08: rgba(199, 39, 42, 0.08);
--ce-white: #fefefe;
--ce-cream: #fbf8f3;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-cream);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-sol-page-related__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-sol-page-related__header {
max-width: 44rem;
margin: 0 0 clamp(2rem, 3vw, 2.5rem);
}
.ce-sol-page-related__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-sol-page-related__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-sol-page-related__heading {
margin: 0;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-sol-page-related__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-sol-page-related__grid {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: clamp(1rem, 1.5vw, 1.5rem);
}
.ce-sol-page-related__card {
background: var(--ce-white);
border: 1px solid var(--ce-navy-10);
border-radius: 6px;
overflow: hidden;
transition: border-color 0.3s var(--ce-ease), transform 0.3s var(--ce-ease), box-shadow 0.3s var(--ce-ease);
}
.ce-sol-page-related__card:hover {
border-color: var(--ce-navy);
transform: translateY(-3px);
box-shadow: 0 16px 32px -14px rgba(3, 41, 95, 0.22);
}
.ce-sol-page-related__card-link {
display: flex;
flex-direction: column;
height: 100%;
padding: clamp(1.5rem, 2.25vw, 1.875rem);
text-decoration: none;
color: inherit;
}
.ce-sol-page-related__card-link:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: -2px;
border-radius: 6px;
}
.ce-sol-page-related__card-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 44px;
height: 44px;
border-radius: 50%;
background: var(--ce-white);
border: 1.5px solid var(--ce-crimson);
color: var(--ce-crimson);
margin-bottom: 1rem;
transition: background-color 0.3s var(--ce-ease), color 0.3s var(--ce-ease);
}
.ce-sol-page-related__card-icon svg {
width: 18px;
height: 18px;
}
.ce-sol-page-related__card:hover .ce-sol-page-related__card-icon {
background: var(--ce-crimson);
color: var(--ce-white);
}
.ce-sol-page-related__card-tag {
display: inline-block;
align-self: flex-start;
margin-bottom: 0.625rem;
padding: 0.25rem 0.5rem;
background: var(--ce-crimson-08);
color: var(--ce-crimson);
border-radius: 3px;
font-size: 0.625rem;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
line-height: 1;
}
.ce-sol-page-related__card-title {
margin: 0 0 0.625rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1rem, 1.25vw, 1.1875rem);
line-height: 1.2;
letter-spacing: -0.02em;
color: var(--ce-navy);
}
.ce-sol-page-related__card-copy {
margin: 0 0 1.25rem;
font-size: 0.875rem;
line-height: 1.6;
color: var(--ce-navy-70);
flex-grow: 1;
}
.ce-sol-page-related__card-cta {
display: inline-flex;
align-items: center;
gap: 0.375rem;
margin-top: auto;
font-size: 0.75rem;
font-weight: 600;
color: var(--ce-crimson);
transition: gap 0.25s var(--ce-ease);
}
.ce-sol-page-related__card-cta svg {
width: 11px;
height: 11px;
transition: transform 0.25s var(--ce-ease);
}
.ce-sol-page-related__card:hover .ce-sol-page-related__card-cta {
gap: 0.55rem;
}
.ce-sol-page-related__card:hover .ce-sol-page-related__card-cta svg {
transform: translateX(3px);
}
@media (max-width: 900px) {
.ce-sol-page-related__grid {
grid-template-columns: 1fr;
max-width: 38rem;
}
}
.ce-sol-page-hubs,
.ce-sol-page-hubs * {
box-sizing: border-box;
}
.ce-sol-page-hubs {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-crimson: #c7272a;
--ce-crimson-08: rgba(199, 39, 42, 0.08);
--ce-white: #fefefe;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-sol-page-hubs__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-sol-page-hubs__header {
max-width: 44rem;
margin: 0 auto clamp(2rem, 3vw, 2.5rem);
text-align: center;
}
.ce-sol-page-hubs__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-sol-page-hubs__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-sol-page-hubs__heading {
margin: 0;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-sol-page-hubs__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-sol-page-hubs__grid {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: clamp(1rem, 1.75vw, 1.5rem);
}
.ce-sol-page-hubs__card {
background: var(--ce-white);
border: 1px solid var(--ce-navy-10);
border-radius: 8px;
overflow: hidden;
transition: transform 0.4s var(--ce-ease), box-shadow 0.4s var(--ce-ease), border-color 0.4s var(--ce-ease);
}
.ce-sol-page-hubs__card:hover {
transform: translateY(-4px);
border-color: var(--ce-navy);
box-shadow: 0 24px 48px -20px rgba(3, 41, 95, 0.28);
}
.ce-sol-page-hubs__card-link {
display: flex;
flex-direction: column;
height: 100%;
text-decoration: none;
color: inherit;
}
.ce-sol-page-hubs__card-link:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: -2px;
border-radius: 8px;
}
.ce-sol-page-hubs__card-media {
position: relative;
overflow: hidden;
aspect-ratio: 16 / 9;
background: var(--ce-navy);
}
.ce-sol-page-hubs__card-media::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(180deg, transparent 50%, rgba(3, 41, 95, 0.35) 100%);
pointer-events: none;
}
.ce-sol-page-hubs__card-img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.6s var(--ce-ease);
}
.ce-sol-page-hubs__card:hover .ce-sol-page-hubs__card-img {
transform: scale(1.04);
}
.ce-sol-page-hubs__card-body {
display: flex;
flex-direction: column;
padding: clamp(1.5rem, 2.25vw, 1.875rem);
flex-grow: 1;
}
.ce-sol-page-hubs__card-tag {
display: inline-block;
align-self: flex-start;
margin-bottom: 0.75rem;
padding: 0.3rem 0.625rem;
background: var(--ce-crimson-08);
color: var(--ce-crimson);
border-radius: 4px;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
line-height: 1;
}
.ce-sol-page-hubs__card-title {
margin: 0 0 0.625rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.0625rem, 1.4vw, 1.25rem);
line-height: 1.2;
letter-spacing: -0.02em;
color: var(--ce-navy);
}
.ce-sol-page-hubs__card-copy {
margin: 0 0 1.25rem;
font-size: 0.875rem;
line-height: 1.6;
color: var(--ce-navy-70);
flex-grow: 1;
}
.ce-sol-page-hubs__card-cta {
display: inline-flex;
align-items: center;
gap: 0.4375rem;
align-self: flex-start;
margin-top: auto;
padding: 0.375rem 0;
font-size: 0.8125rem;
font-weight: 600;
color: var(--ce-navy);
border-bottom: 1px solid var(--ce-navy);
transition: color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), gap 0.25s var(--ce-ease);
}
.ce-sol-page-hubs__card-cta svg {
width: 12px;
height: 12px;
transition: transform 0.25s var(--ce-ease);
}
.ce-sol-page-hubs__card:hover .ce-sol-page-hubs__card-cta {
color: var(--ce-crimson);
border-color: var(--ce-crimson);
gap: 0.625rem;
}
.ce-sol-page-hubs__card:hover .ce-sol-page-hubs__card-cta svg {
transform: translateX(3px);
}
@media (max-width: 760px) {
.ce-sol-page-hubs__grid {
grid-template-columns: 1fr;
max-width: 36rem;
margin: 0 auto;
}
}
.ce-sol-page-cta,
.ce-sol-page-cta * {
box-sizing: border-box;
}
.ce-sol-page-cta {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-deep: #021c43;
--ce-crimson: #c7272a;
--ce-white: #fefefe;
--ce-white-90: rgba(254, 254, 254, 0.92);
--ce-white-70: rgba(254, 254, 254, 0.72);
--ce-white-25: rgba(254, 254, 254, 0.25);
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(2.75rem, 4.5vw, 4rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1100px;
position: relative;
overflow: hidden;
background: var(--ce-crimson);
color: var(--ce-white);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-sol-page-cta__pulse {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 32px;
pointer-events: none;
opacity: 0.6;
z-index: 1;
}
.ce-sol-page-cta__pulse svg {
width: 100%;
height: 100%;
display: block;
}
.ce-sol-page-cta__container {
position: relative;
z-index: 2;
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-sol-page-cta__content {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
}
.ce-sol-page-cta__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.625rem;
margin-bottom: 1rem;
font-size: 0.75rem;
font-weight: 600;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--ce-white);
line-height: 1;
}
.ce-sol-page-cta__eyebrow-mark {
width: 24px;
height: 1px;
background: currentColor;
}
.ce-sol-page-cta__heading {
margin: 0 0 1rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.75rem, 3.4vw, 2.875rem);
line-height: 1.05;
letter-spacing: -0.025em;
color: var(--ce-white);
max-width: 22ch;
}
.ce-sol-page-cta__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-white);
background-image: linear-gradient(to top, rgba(254, 254, 254, 0.25) 12%, transparent 12%, transparent 100%);
}
.ce-sol-page-cta__sub {
margin: 0 0 clamp(1.5rem, 2.5vw, 2rem);
max-width: 42rem;
font-size: clamp(0.9375rem, 1.05vw, 1.0625rem);
line-height: 1.55;
color: var(--ce-white-90);
}
.ce-sol-page-cta__actions {
display: flex;
flex-wrap: wrap;
align-items: stretch;
justify-content: center;
gap: 0.75rem;
margin-bottom: clamp(1.25rem, 2vw, 1.5rem);
}
.ce-sol-page-cta__btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.625rem;
padding: 1rem 1.625rem;
border: 1.5px solid transparent;
border-radius: 6px;
font-family: inherit;
text-decoration: none;
cursor: pointer;
transition: transform 0.35s var(--ce-ease), background-color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), color 0.3s var(--ce-ease), box-shadow 0.4s var(--ce-ease);
min-width: 220px;
font-size: 0.9375rem;
font-weight: 600;
letter-spacing: -0.005em;
line-height: 1;
}
.ce-sol-page-cta__btn-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 18px;
height: 18px;
flex-shrink: 0;
transition: transform 0.35s var(--ce-ease);
}
.ce-sol-page-cta__btn-icon svg {
width: 100%;
height: 100%;
}
.ce-sol-page-cta__btn--primary {
background: var(--ce-navy);
color: var(--ce-white);
box-shadow: 0 1px 0 rgba(255,255,255,0.12) inset, 0 6px 16px -6px rgba(2, 28, 67, 0.5);
}
.ce-sol-page-cta__btn--primary:hover,
.ce-sol-page-cta__btn--primary:focus-visible {
background: var(--ce-navy-deep);
transform: translateY(-2px);
box-shadow: 0 1px 0 rgba(255,255,255,0.15) inset, 0 12px 24px -8px rgba(2, 28, 67, 0.6);
}
.ce-sol-page-cta__btn--primary:hover .ce-sol-page-cta__btn-icon:not(.ce-sol-page-cta__btn-icon--lead) {
transform: translateX(4px);
}
.ce-sol-page-cta__btn--secondary {
background: transparent;
color: var(--ce-white);
border-color: rgba(254, 254, 254, 0.45);
}
.ce-sol-page-cta__btn--secondary:hover,
.ce-sol-page-cta__btn--secondary:focus-visible {
background: var(--ce-white);
color: var(--ce-crimson);
border-color: var(--ce-white);
transform: translateY(-2px);
}
.ce-sol-page-cta__btn:focus-visible {
outline: 2px solid var(--ce-white);
outline-offset: 3px;
}
.ce-sol-page-cta__trust {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
gap: 0.5rem 1rem;
margin: 0;
font-size: 0.8125rem;
font-weight: 500;
color: var(--ce-white-70);
}
.ce-sol-page-cta__trust-item {
display: inline-flex;
align-items: center;
gap: 0.4rem;
line-height: 1.3;
}
.ce-sol-page-cta__trust-item svg {
width: 13px;
height: 13px;
flex-shrink: 0;
color: var(--ce-white);
}
.ce-sol-page-cta__trust-divider {
width: 1px;
height: 14px;
background: var(--ce-white-25);
}
@media (max-width: 760px) {
.ce-sol-page-cta__btn {
min-width: 0;
flex: 1 1 100%;
max-width: 360px;
}
}
@media (max-width: 540px) {
.ce-sol-page-cta__actions {
flex-direction: column;
align-items: stretch;
width: 100%;
max-width: 360px;
}
.ce-sol-page-cta__btn { max-width: 100%; }
}
@media (max-width: 420px) {
.ce-sol-page-cta__trust-divider { display: none; }
.ce-sol-page-cta__trust {
flex-direction: column;
gap: 0.4rem;
}
}
.ce-sol-page-hero [data-animate],
.ce-sol-page-overview [data-animate],
.ce-sol-page-detail [data-animate],
.ce-sol-page-process [data-animate],
.ce-sol-page-scope [data-animate],
.ce-sol-page-related [data-animate],
.ce-sol-page-hubs [data-animate],
.ce-sol-page-cta [data-animate] {
opacity: 0;
transform: translateY(20px);
transition:
opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
}
.ce-sol-page-hero [data-animate].is-visible,
.ce-sol-page-overview [data-animate].is-visible,
.ce-sol-page-detail [data-animate].is-visible,
.ce-sol-page-process [data-animate].is-visible,
.ce-sol-page-scope [data-animate].is-visible,
.ce-sol-page-related [data-animate].is-visible,
.ce-sol-page-hubs [data-animate].is-visible,
.ce-sol-page-cta [data-animate].is-visible {
opacity: 1;
transform: translate(0, 0);
}
@media (prefers-reduced-motion: reduce) {
.ce-sol-page-hero [data-animate],
.ce-sol-page-overview [data-animate],
.ce-sol-page-detail [data-animate],
.ce-sol-page-process [data-animate],
.ce-sol-page-scope [data-animate],
.ce-sol-page-related [data-animate],
.ce-sol-page-hubs [data-animate],
.ce-sol-page-cta [data-animate] {
opacity: 1 !important;
transform: none !important;
transition: none !important;
}
}
.ce-experts-hero,
.ce-experts-hero * {
box-sizing: border-box;
}
.ce-experts-hero {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-60: rgba(3, 41, 95, 0.60);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-08: rgba(3, 41, 95, 0.08);
--ce-navy-04: rgba(3, 41, 95, 0.04);
--ce-crimson: #c7272a;
--ce-crimson-90: rgba(199, 39, 42, 0.92);
--ce-crimson-15: rgba(199, 39, 42, 0.15);
--ce-white: #fefefe;
--ce-radius-sm: 8px;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
--ce-exp-photo-width: 50%;
--ce-exp-photo-opacity: 1;
--ce-exp-photo-tint: 0.5;
--ce-exp-photo-saturation: 0.85;
--ce-exp-photo-offset-x: 18%;
position: relative;
isolation: isolate;
overflow: hidden;
padding: var(--ce-pad-y) 0;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.ce-experts-hero__bg {
position: absolute;
inset: 0;
z-index: -3;
pointer-events: none;
overflow: hidden;
}
.ce-experts-hero__mesh {
position: absolute;
inset: 0;
background:
radial-gradient(ellipse 75% 60% at 5% 95%, var(--ce-navy-08) 0%, transparent 65%),
radial-gradient(ellipse 50% 40% at 30% 50%, var(--ce-navy-04) 0%, transparent 70%),
radial-gradient(ellipse 60% 80% at 92% 50%, rgba(3, 41, 95, 0.06) 0%, transparent 65%),
var(--ce-white);
}
.ce-experts-hero__pulse-wrap {
position: absolute;
left: 0;
right: 0;
top: 72%;
height: 28%;
transform: translateY(-50%);
opacity: 0.65;
-webkit-mask-image: linear-gradient(to right, #000 0%, #000 25%, rgba(0,0,0,0.35) 50%, transparent 72%);
mask-image: linear-gradient(to right, #000 0%, #000 25%, rgba(0,0,0,0.35) 50%, transparent 72%);
}
.ce-experts-hero__pulse {
width: 100%;
height: 100%;
display: block;
}
.ce-experts-hero__visual {
position: absolute;
top: 0;
right: 0;
bottom: 0;
width: var(--ce-exp-photo-width);
max-width: 760px;
z-index: -1;
pointer-events: none;
overflow: hidden;
opacity: var(--ce-exp-photo-opacity);
}
.ce-experts-hero__visual-wash {
position: absolute;
inset: 0;
background: linear-gradient(
to right,
transparent 0%,
rgba(3, 41, 95, 0.02) 25%,
rgba(3, 41, 95, 0.05) 45%,
rgba(3, 41, 95, 0.08) 65%,
rgba(3, 41, 95, 0.11) 85%,
rgba(3, 41, 95, 0.14) 100%
);
}
.ce-experts-hero__visual-inner {
position: absolute;
inset: 0;
transform: scale(1.02);
}
.ce-experts-hero__photo {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center right;
transform: translateX(var(--ce-exp-photo-offset-x));
-webkit-mask-image:
linear-gradient(to right, transparent 0%, rgba(0,0,0,0.02) 5%, rgba(0,0,0,0.08) 14%, rgba(0,0,0,0.20) 24%, rgba(0,0,0,0.38) 35%, rgba(0,0,0,0.58) 47%, rgba(0,0,0,0.78) 60%, rgba(0,0,0,0.92) 75%, #000 90%, #000 100%),
linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.6) 6%, #000 14%, #000 86%, rgba(0,0,0,0.6) 94%, transparent 100%);
mask-image:
linear-gradient(to right, transparent 0%, rgba(0,0,0,0.02) 5%, rgba(0,0,0,0.08) 14%, rgba(0,0,0,0.20) 24%, rgba(0,0,0,0.38) 35%, rgba(0,0,0,0.58) 47%, rgba(0,0,0,0.78) 60%, rgba(0,0,0,0.92) 75%, #000 90%, #000 100%),
linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.6) 6%, #000 14%, #000 86%, rgba(0,0,0,0.6) 94%, transparent 100%);
-webkit-mask-composite: source-in;
mask-composite: intersect;
filter: saturate(var(--ce-exp-photo-saturation)) contrast(1.12) brightness(1.08);
}
.ce-experts-hero__visual::after {
content: '';
position: absolute;
inset: 0;
opacity: var(--ce-exp-photo-tint);
background:
linear-gradient(115deg, rgba(3, 41, 95, 0.42) 0%, rgba(3, 41, 95, 0.20) 35%, rgba(3, 41, 95, 0.08) 60%, rgba(3, 41, 95, 0.05) 100%),
radial-gradient(ellipse at 100% 50%, rgba(199, 39, 42, 0.06), transparent 60%);
pointer-events: none;
-webkit-mask-image: linear-gradient(to right, transparent 0%, transparent 22%, rgba(0,0,0,0.05) 35%, rgba(0,0,0,0.25) 55%, rgba(0,0,0,0.6) 75%, #000 95%);
mask-image: linear-gradient(to right, transparent 0%, transparent 22%, rgba(0,0,0,0.05) 35%, rgba(0,0,0,0.25) 55%, rgba(0,0,0,0.6) 75%, #000 95%);
}
.ce-experts-hero__container {
position: relative;
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-experts-hero__crumbs {
display: flex;
align-items: center;
gap: 0.5rem;
margin-bottom: clamp(1.5rem, 2.5vw, 2rem);
font-size: 0.75rem;
font-weight: 500;
color: var(--ce-navy-60);
}
.ce-experts-hero__crumb {
color: var(--ce-navy-70);
text-decoration: none;
transition: color 0.25s var(--ce-ease);
}
.ce-experts-hero__crumb:hover,
.ce-experts-hero__crumb:focus-visible {
color: var(--ce-crimson);
}
.ce-experts-hero__crumb--current {
color: var(--ce-navy);
font-weight: 600;
}
.ce-experts-hero__crumb-sep {
width: 11px;
height: 11px;
color: var(--ce-navy-40);
flex-shrink: 0;
}
.ce-experts-hero__content {
max-width: 38rem;
}
.ce-experts-hero__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.625rem;
margin-bottom: 1.25rem;
font-size: 0.75rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-experts-hero__eyebrow-mark {
width: 24px;
height: 1px;
background: currentColor;
flex-shrink: 0;
}
.ce-experts-hero__heading {
margin: 0 0 clamp(1.25rem, 2.5vw, 1.75rem);
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.875rem, 4.8vw, 3.75rem);
line-height: 1.04;
letter-spacing: -0.035em;
color: var(--ce-navy);
}
.ce-experts-hero__heading-row {
display: block;
}
.ce-experts-hero__heading-row--accent {
margin-top: 0.18em;
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
font-size: 0.72em;
letter-spacing: -0.02em;
}
.ce-experts-hero__heading-em {
color: var(--ce-navy-60);
}
.ce-experts-hero__heading-strong {
position: relative;
color: var(--ce-crimson);
font-style: italic;
font-weight: 500;
white-space: nowrap;
}
.ce-experts-hero__heading-strong::after {
content: '';
position: absolute;
left: 0;
right: 0;
bottom: 0.05em;
height: 0.42em;
background: var(--ce-crimson-15);
z-index: -1;
border-radius: 2px;
transform: skewX(-6deg);
}
.ce-experts-hero__sub {
max-width: 35rem;
margin: 0 0 clamp(1.75rem, 3vw, 2.25rem);
font-size: clamp(0.9375rem, 1.2vw, 1.0625rem);
line-height: 1.65;
color: var(--ce-navy-70);
}
.ce-experts-hero__sub-link {
color: var(--ce-navy);
text-decoration: underline;
text-decoration-color: var(--ce-navy-40);
text-underline-offset: 3px;
transition: color 0.25s var(--ce-ease), text-decoration-color 0.25s var(--ce-ease);
}
.ce-experts-hero__sub-link:hover,
.ce-experts-hero__sub-link:focus-visible {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
.ce-experts-hero__cta-group {
display: flex;
flex-wrap: wrap;
gap: 0.875rem;
margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
}
.ce-experts-hero__cta {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.625rem;
padding: 1rem 1.5rem;
border: 1px solid transparent;
border-radius: var(--ce-radius-sm);
font-family: inherit;
font-size: 0.9375rem;
font-weight: 500;
letter-spacing: -0.005em;
line-height: 1;
text-decoration: none;
cursor: pointer;
transition: transform 0.4s var(--ce-ease), background-color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), color 0.3s var(--ce-ease), box-shadow 0.4s var(--ce-ease);
}
.ce-experts-hero__cta--primary {
background: var(--ce-crimson);
color: var(--ce-white);
box-shadow: 0 1px 0 rgba(255,255,255,0.15) inset, 0 8px 20px -8px var(--ce-crimson-90), 0 2px 4px var(--ce-navy-08);
}
.ce-experts-hero__cta--primary:hover,
.ce-experts-hero__cta--primary:focus-visible {
transform: translateY(-2px);
background: #b21f22;
box-shadow: 0 1px 0 rgba(255,255,255,0.18) inset, 0 14px 28px -10px var(--ce-crimson-90), 0 4px 8px var(--ce-navy-08);
}
.ce-experts-hero__cta--secondary {
background: rgba(254, 254, 254, 0.7);
color: var(--ce-navy);
border-color: var(--ce-navy-15);
backdrop-filter: blur(6px);
-webkit-backdrop-filter: blur(6px);
}
.ce-experts-hero__cta--secondary:hover,
.ce-experts-hero__cta--secondary:focus-visible {
transform: translateY(-2px);
background: var(--ce-navy);
color: var(--ce-white);
border-color: var(--ce-navy);
box-shadow: 0 12px 24px -10px rgba(3, 41, 95, 0.4);
}
.ce-experts-hero__cta:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: 3px;
}
.ce-experts-hero__cta-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 18px;
height: 18px;
transition: transform 0.4s var(--ce-ease);
}
.ce-experts-hero__cta-icon svg {
width: 100%;
height: 100%;
}
.ce-experts-hero__cta--primary:hover .ce-experts-hero__cta-icon:not(.ce-experts-hero__cta-icon--lead) {
transform: translateX(4px);
}
.ce-experts-hero__chips {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
list-style: none;
margin: 0;
padding: 1.25rem 0 0;
border-top: 1px solid var(--ce-navy-15);
}
.ce-experts-hero__chip {
display: inline-flex;
align-items: center;
padding: 0.375rem 0.75rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.04em;
text-transform: uppercase;
color: var(--ce-navy-70);
background: rgba(3, 41, 95, 0.05);
border: 1px solid var(--ce-navy-08);
border-radius: 999px;
line-height: 1;
}
@media (max-width: 1024px) { .ce-experts-hero { --ce-exp-photo-width: 45%; } }
@media (max-width: 820px) {
.ce-experts-hero { --ce-exp-photo-width: 70%; --ce-exp-photo-opacity: 0.3; }
.ce-experts-hero__content { max-width: 100%; }
}
@media (max-width: 640px) {
.ce-experts-hero { --ce-exp-photo-width: 100%; --ce-exp-photo-opacity: 0.15; }
}
@media (max-width: 420px) {
.ce-experts-hero__cta { width: 100%; }
.ce-experts-hero__cta-group { flex-direction: column; }
.ce-experts-hero__heading-strong { white-space: normal; }
}
.ce-experts-why,
.ce-experts-why * {
box-sizing: border-box;
}
.ce-experts-why {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-crimson: #c7272a;
--ce-cream: #fbf8f3;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1200px;
background: var(--ce-cream);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-experts-why__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-experts-why__layout {
display: grid;
grid-template-columns: 0.7fr 1fr;
gap: clamp(2rem, 4vw, 3.5rem);
align-items: start;
}
.ce-experts-why__header {
position: sticky;
top: 120px;
}
.ce-experts-why__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-experts-why__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-experts-why__heading {
margin: 0;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-experts-why__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-experts-why__lead {
margin: 0 0 1.25rem;
font-family: var(--ce-font-serif);
font-weight: 400;
font-size: clamp(1rem, 1.25vw, 1.1875rem);
line-height: 1.6;
color: var(--ce-navy);
letter-spacing: -0.01em;
}
.ce-experts-why__copy {
margin: 0 0 1.25rem;
font-size: 0.9375rem;
line-height: 1.65;
color: var(--ce-navy);
}
.ce-experts-why__copy:last-child {
margin-bottom: 0;
}
.ce-experts-why__link {
color: var(--ce-navy);
text-decoration: underline;
text-decoration-color: var(--ce-navy-40);
text-underline-offset: 3px;
transition: color 0.25s var(--ce-ease), text-decoration-color 0.25s var(--ce-ease);
}
.ce-experts-why__link:hover,
.ce-experts-why__link:focus-visible {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
@media (max-width: 900px) {
.ce-experts-why__layout {
grid-template-columns: 1fr;
gap: 1.75rem;
}
.ce-experts-why__header { position: static; }
}
.ce-experts-grid,
.ce-experts-grid * {
box-sizing: border-box;
}
.ce-experts-grid {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-crimson: #c7272a;
--ce-crimson-08: rgba(199, 39, 42, 0.08);
--ce-white: #fefefe;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-experts-grid__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-experts-grid__header {
max-width: 46rem;
margin: 0 0 clamp(2rem, 3vw, 2.75rem);
}
.ce-experts-grid__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-experts-grid__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-experts-grid__heading {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-experts-grid__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-experts-grid__intro {
margin: 0;
font-size: clamp(0.9375rem, 1vw, 1.0625rem);
line-height: 1.6;
color: var(--ce-navy-70);
max-width: 42rem;
}
.ce-experts-grid__list {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: clamp(0.875rem, 1.5vw, 1.25rem);
}
.ce-experts-grid__card {
background: var(--ce-white);
border: 1px solid var(--ce-navy-10);
border-radius: 8px;
overflow: hidden;
position: relative;
transition: transform 0.35s var(--ce-ease), border-color 0.35s var(--ce-ease), box-shadow 0.35s var(--ce-ease);
}
.ce-experts-grid__card::before {
content: '';
position: absolute;
top: 0;
right: 0;
width: 60px;
height: 60px;
background: linear-gradient(225deg, var(--ce-crimson-08) 0%, transparent 60%);
pointer-events: none;
border-radius: 0 8px 0 60px;
transition: opacity 0.35s var(--ce-ease);
opacity: 0.6;
}
.ce-experts-grid__card:hover {
transform: translateY(-4px);
border-color: var(--ce-navy);
box-shadow: 0 20px 40px -18px rgba(3, 41, 95, 0.25);
}
.ce-experts-grid__card:hover::before {
opacity: 1;
}
.ce-experts-grid__card-link {
display: flex;
flex-direction: column;
height: 100%;
padding: clamp(1.25rem, 2vw, 1.75rem);
text-decoration: none;
color: inherit;
}
.ce-experts-grid__card-link:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: -2px;
border-radius: 8px;
}
.ce-experts-grid__card-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 44px;
height: 44px;
border-radius: 50%;
background: var(--ce-white);
border: 1.5px solid var(--ce-crimson);
color: var(--ce-crimson);
margin-bottom: 1rem;
transition: background-color 0.3s var(--ce-ease), color 0.3s var(--ce-ease);
}
.ce-experts-grid__card-icon svg {
width: 18px;
height: 18px;
}
.ce-experts-grid__card:hover .ce-experts-grid__card-icon {
background: var(--ce-crimson);
color: var(--ce-white);
}
.ce-experts-grid__card-tag {
display: inline-block;
align-self: flex-start;
margin-bottom: 0.5rem;
padding: 0.25rem 0.5rem;
background: var(--ce-crimson-08);
color: var(--ce-crimson);
border-radius: 3px;
font-size: 0.625rem;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
line-height: 1;
}
.ce-experts-grid__card-title {
margin: 0 0 0.625rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1rem, 1.2vw, 1.125rem);
line-height: 1.2;
letter-spacing: -0.02em;
color: var(--ce-navy);
transition: color 0.25s var(--ce-ease);
}
.ce-experts-grid__card:hover .ce-experts-grid__card-title {
color: var(--ce-crimson);
}
.ce-experts-grid__card-copy {
margin: 0 0 1rem;
font-size: 0.8125rem;
line-height: 1.55;
color: var(--ce-navy-70);
}
.ce-experts-grid__card-cases {
list-style: none;
margin: 0 0 1rem;
padding: 0.75rem 0 0;
border-top: 1px dashed var(--ce-navy-15);
display: flex;
flex-direction: column;
gap: 0.3rem;
flex-grow: 1;
}
.ce-experts-grid__card-cases li {
position: relative;
padding-left: 1rem;
font-size: 0.75rem;
line-height: 1.5;
color: var(--ce-navy-70);
}
.ce-experts-grid__card-cases li::before {
content: '';
position: absolute;
left: 0;
top: 0.6em;
width: 5px;
height: 5px;
border-radius: 50%;
background: var(--ce-crimson);
}
.ce-experts-grid__card-cta {
display: inline-flex;
align-items: center;
gap: 0.4rem;
margin-top: auto;
font-size: 0.75rem;
font-weight: 600;
color: var(--ce-navy);
border-bottom: 1px solid var(--ce-navy);
padding-bottom: 0.25rem;
align-self: flex-start;
transition: color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), gap 0.25s var(--ce-ease);
}
.ce-experts-grid__card-cta svg {
width: 11px;
height: 11px;
transition: transform 0.25s var(--ce-ease);
}
.ce-experts-grid__card:hover .ce-experts-grid__card-cta {
color: var(--ce-crimson);
border-color: var(--ce-crimson);
gap: 0.55rem;
}
.ce-experts-grid__card:hover .ce-experts-grid__card-cta svg {
transform: translateX(3px);
}
@media (max-width: 1024px) {
.ce-experts-grid__list { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 540px) {
.ce-experts-grid__list { grid-template-columns: 1fr; }
}
.ce-experts-match,
.ce-experts-match * {
box-sizing: border-box;
}
.ce-experts-match {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-crimson: #c7272a;
--ce-white: #fefefe;
--ce-cream: #fbf8f3;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3.5rem, 5.5vw, 5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1200px;
background: var(--ce-cream);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-experts-match__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-experts-match__header {
max-width: 46rem;
margin: 0 0 clamp(2.5rem, 4vw, 3.5rem);
}
.ce-experts-match__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-experts-match__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-experts-match__heading {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-experts-match__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-experts-match__intro {
margin: 0;
font-size: clamp(0.9375rem, 1vw, 1.0625rem);
line-height: 1.6;
color: var(--ce-navy-70);
max-width: 42rem;
}
.ce-experts-match__steps {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: clamp(1.5rem, 2.5vw, 2.5rem);
}
.ce-experts-match__step {
position: relative;
display: grid;
grid-template-columns: minmax(120px, 180px) 1fr;
gap: clamp(1rem, 2.5vw, 2rem);
align-items: start;
padding: clamp(1.25rem, 2vw, 1.75rem) 0;
border-top: 1px solid var(--ce-navy-15);
}
.ce-experts-match__step:last-child {
border-bottom: 1px solid var(--ce-navy-15);
}
.ce-experts-match__step-num {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
font-size: clamp(3.5rem, 7vw, 6rem);
line-height: 0.9;
color: var(--ce-crimson);
letter-spacing: -0.04em;
align-self: start;
margin-top: -0.1em;
transition: transform 0.4s var(--ce-ease);
}
.ce-experts-match__step:hover .ce-experts-match__step-num {
transform: translateX(6px);
}
.ce-experts-match__step-body {
padding-top: 0.75rem;
max-width: 44rem;
}
.ce-experts-match__step-title {
margin: 0 0 0.625rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.125rem, 1.6vw, 1.4375rem);
line-height: 1.2;
letter-spacing: -0.02em;
color: var(--ce-navy);
}
.ce-experts-match__step-copy {
margin: 0;
font-size: 0.9375rem;
line-height: 1.65;
color: var(--ce-navy);
}
@media (max-width: 760px) {
.ce-experts-match__step {
grid-template-columns: 1fr;
gap: 0.5rem;
padding: clamp(1.25rem, 2vw, 1.75rem) 0;
}
.ce-experts-match__step-num {
font-size: 3rem;
}
.ce-experts-match__step-body {
padding-top: 0;
}
}
.ce-experts-criteria,
.ce-experts-criteria * {
box-sizing: border-box;
}
.ce-experts-criteria {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-crimson: #c7272a;
--ce-white: #fefefe;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1200px;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-experts-criteria__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-experts-criteria__layout {
display: grid;
grid-template-columns: 0.7fr 1fr;
gap: clamp(2rem, 4vw, 3.5rem);
align-items: start;
}
.ce-experts-criteria__header {
position: sticky;
top: 120px;
}
.ce-experts-criteria__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-experts-criteria__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-experts-criteria__heading {
margin: 0 0 0.875rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-experts-criteria__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-experts-criteria__intro {
margin: 0;
font-size: 0.9375rem;
line-height: 1.65;
color: var(--ce-navy-70);
}
.ce-experts-criteria__list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 0;
border-top: 1px solid var(--ce-navy-15);
}
.ce-experts-criteria__item {
display: grid;
grid-template-columns: 60px 1fr;
gap: 1rem;
padding: clamp(1.125rem, 1.75vw, 1.5rem) 0;
border-bottom: 1px solid var(--ce-navy-15);
align-items: start;
}
.ce-experts-criteria__item-num {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
font-size: clamp(1.625rem, 2.2vw, 1.875rem);
line-height: 1;
color: var(--ce-crimson);
letter-spacing: -0.02em;
padding-top: 0.1em;
}
.ce-experts-criteria__item-body {
min-width: 0;
}
.ce-experts-criteria__item-title {
margin: 0 0 0.4rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1rem, 1.3vw, 1.1875rem);
line-height: 1.2;
letter-spacing: -0.02em;
color: var(--ce-navy);
}
.ce-experts-criteria__item-copy {
margin: 0;
font-size: 0.9375rem;
line-height: 1.55;
color: var(--ce-navy-70);
}
.ce-experts-criteria__item-copy a {
color: var(--ce-navy);
text-decoration: underline;
text-decoration-color: var(--ce-navy-40);
text-underline-offset: 3px;
}
.ce-experts-criteria__item-copy a:hover {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
@media (max-width: 900px) {
.ce-experts-criteria__layout {
grid-template-columns: 1fr;
gap: 1.75rem;
}
.ce-experts-criteria__header { position: static; }
}
@media (max-width: 480px) {
.ce-experts-criteria__item {
grid-template-columns: 44px 1fr;
gap: 0.875rem;
}
.ce-experts-criteria__item-num {
font-size: 1.5rem;
}
}
.ce-experts-hubs,
.ce-experts-hubs * {
box-sizing: border-box;
}
.ce-experts-hubs {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-crimson: #c7272a;
--ce-crimson-08: rgba(199, 39, 42, 0.08);
--ce-white: #fefefe;
--ce-cream: #fbf8f3;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-cream);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-experts-hubs__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-experts-hubs__header {
max-width: 44rem;
margin: 0 auto clamp(2rem, 3vw, 2.5rem);
text-align: center;
}
.ce-experts-hubs__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-experts-hubs__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-experts-hubs__heading {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-experts-hubs__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-experts-hubs__intro {
margin: 0 auto;
font-size: clamp(0.9375rem, 1vw, 1.0625rem);
line-height: 1.6;
color: var(--ce-navy-70);
max-width: 42rem;
}
.ce-experts-hubs__grid {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: clamp(1rem, 1.75vw, 1.5rem);
}
.ce-experts-hubs__card {
background: var(--ce-white);
border: 1px solid var(--ce-navy-10);
border-radius: 8px;
overflow: hidden;
transition: transform 0.4s var(--ce-ease), box-shadow 0.4s var(--ce-ease), border-color 0.4s var(--ce-ease);
}
.ce-experts-hubs__card:hover {
transform: translateY(-4px);
border-color: var(--ce-navy);
box-shadow: 0 24px 48px -20px rgba(3, 41, 95, 0.28);
}
.ce-experts-hubs__card-link {
display: flex;
flex-direction: column;
height: 100%;
text-decoration: none;
color: inherit;
}
.ce-experts-hubs__card-link:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: -2px;
border-radius: 8px;
}
.ce-experts-hubs__card-media {
position: relative;
overflow: hidden;
aspect-ratio: 16 / 9;
background: var(--ce-navy);
}
.ce-experts-hubs__card-media::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(180deg, transparent 50%, rgba(3, 41, 95, 0.35) 100%);
pointer-events: none;
}
.ce-experts-hubs__card-img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.6s var(--ce-ease);
}
.ce-experts-hubs__card:hover .ce-experts-hubs__card-img {
transform: scale(1.04);
}
.ce-experts-hubs__card-body {
display: flex;
flex-direction: column;
padding: clamp(1.5rem, 2.25vw, 1.875rem);
flex-grow: 1;
}
.ce-experts-hubs__card-tag {
display: inline-block;
align-self: flex-start;
margin-bottom: 0.75rem;
padding: 0.3rem 0.625rem;
background: var(--ce-crimson-08);
color: var(--ce-crimson);
border-radius: 4px;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
line-height: 1;
}
.ce-experts-hubs__card-title {
margin: 0 0 0.625rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.0625rem, 1.4vw, 1.25rem);
line-height: 1.2;
letter-spacing: -0.02em;
color: var(--ce-navy);
}
.ce-experts-hubs__card-copy {
margin: 0 0 1.25rem;
font-size: 0.875rem;
line-height: 1.6;
color: var(--ce-navy-70);
flex-grow: 1;
}
.ce-experts-hubs__card-cta {
display: inline-flex;
align-items: center;
gap: 0.4375rem;
align-self: flex-start;
margin-top: auto;
padding: 0.375rem 0;
font-size: 0.8125rem;
font-weight: 600;
color: var(--ce-navy);
border-bottom: 1px solid var(--ce-navy);
transition: color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), gap 0.25s var(--ce-ease);
}
.ce-experts-hubs__card-cta svg {
width: 12px;
height: 12px;
transition: transform 0.25s var(--ce-ease);
}
.ce-experts-hubs__card:hover .ce-experts-hubs__card-cta {
color: var(--ce-crimson);
border-color: var(--ce-crimson);
gap: 0.625rem;
}
.ce-experts-hubs__card:hover .ce-experts-hubs__card-cta svg {
transform: translateX(3px);
}
@media (max-width: 760px) {
.ce-experts-hubs__grid {
grid-template-columns: 1fr;
max-width: 36rem;
margin: 0 auto;
}
}
.ce-experts-cta,
.ce-experts-cta * {
box-sizing: border-box;
}
.ce-experts-cta {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-deep: #021c43;
--ce-crimson: #c7272a;
--ce-white: #fefefe;
--ce-white-90: rgba(254, 254, 254, 0.92);
--ce-white-70: rgba(254, 254, 254, 0.72);
--ce-white-25: rgba(254, 254, 254, 0.25);
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(2.75rem, 4.5vw, 4rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1100px;
position: relative;
overflow: hidden;
background: var(--ce-crimson);
color: var(--ce-white);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-experts-cta__pulse {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 32px;
pointer-events: none;
opacity: 0.6;
z-index: 1;
}
.ce-experts-cta__pulse svg {
width: 100%;
height: 100%;
display: block;
}
.ce-experts-cta__container {
position: relative;
z-index: 2;
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-experts-cta__content {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
}
.ce-experts-cta__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.625rem;
margin-bottom: 1rem;
font-size: 0.75rem;
font-weight: 600;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--ce-white);
line-height: 1;
}
.ce-experts-cta__eyebrow-mark {
width: 24px;
height: 1px;
background: currentColor;
}
.ce-experts-cta__heading {
margin: 0 0 1rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.75rem, 3.4vw, 2.875rem);
line-height: 1.05;
letter-spacing: -0.025em;
color: var(--ce-white);
max-width: 24ch;
}
.ce-experts-cta__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-white);
background-image: linear-gradient(to top, rgba(254, 254, 254, 0.25) 12%, transparent 12%, transparent 100%);
}
.ce-experts-cta__sub {
margin: 0 0 clamp(1.5rem, 2.5vw, 2rem);
max-width: 42rem;
font-size: clamp(0.9375rem, 1.05vw, 1.0625rem);
line-height: 1.55;
color: var(--ce-white-90);
}
.ce-experts-cta__actions {
display: flex;
flex-wrap: wrap;
align-items: stretch;
justify-content: center;
gap: 0.75rem;
margin-bottom: clamp(1.25rem, 2vw, 1.5rem);
}
.ce-experts-cta__btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.625rem;
padding: 1rem 1.625rem;
border: 1.5px solid transparent;
border-radius: 6px;
font-family: inherit;
text-decoration: none;
cursor: pointer;
transition: transform 0.35s var(--ce-ease), background-color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), color 0.3s var(--ce-ease), box-shadow 0.4s var(--ce-ease);
min-width: 220px;
font-size: 0.9375rem;
font-weight: 600;
letter-spacing: -0.005em;
line-height: 1;
}
.ce-experts-cta__btn-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 18px;
height: 18px;
flex-shrink: 0;
transition: transform 0.35s var(--ce-ease);
}
.ce-experts-cta__btn-icon svg {
width: 100%;
height: 100%;
}
.ce-experts-cta__btn--primary {
background: var(--ce-navy);
color: var(--ce-white);
box-shadow: 0 1px 0 rgba(255,255,255,0.12) inset, 0 6px 16px -6px rgba(2, 28, 67, 0.5);
}
.ce-experts-cta__btn--primary:hover,
.ce-experts-cta__btn--primary:focus-visible {
background: var(--ce-navy-deep);
transform: translateY(-2px);
box-shadow: 0 1px 0 rgba(255,255,255,0.15) inset, 0 12px 24px -8px rgba(2, 28, 67, 0.6);
}
.ce-experts-cta__btn--primary:hover .ce-experts-cta__btn-icon:not(.ce-experts-cta__btn-icon--lead) {
transform: translateX(4px);
}
.ce-experts-cta__btn--secondary {
background: transparent;
color: var(--ce-white);
border-color: rgba(254, 254, 254, 0.45);
}
.ce-experts-cta__btn--secondary:hover,
.ce-experts-cta__btn--secondary:focus-visible {
background: var(--ce-white);
color: var(--ce-crimson);
border-color: var(--ce-white);
transform: translateY(-2px);
}
.ce-experts-cta__btn:focus-visible {
outline: 2px solid var(--ce-white);
outline-offset: 3px;
}
.ce-experts-cta__trust {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
gap: 0.5rem 1rem;
margin: 0;
font-size: 0.8125rem;
font-weight: 500;
color: var(--ce-white-70);
}
.ce-experts-cta__trust-item {
display: inline-flex;
align-items: center;
gap: 0.4rem;
line-height: 1.3;
}
.ce-experts-cta__trust-item svg {
width: 13px;
height: 13px;
flex-shrink: 0;
color: var(--ce-white);
}
.ce-experts-cta__trust-divider {
width: 1px;
height: 14px;
background: var(--ce-white-25);
}
@media (max-width: 760px) {
.ce-experts-cta__btn {
min-width: 0;
flex: 1 1 100%;
max-width: 360px;
}
}
@media (max-width: 540px) {
.ce-experts-cta__actions {
flex-direction: column;
align-items: stretch;
width: 100%;
max-width: 360px;
}
.ce-experts-cta__btn { max-width: 100%; }
}
@media (max-width: 420px) {
.ce-experts-cta__trust-divider { display: none; }
.ce-experts-cta__trust {
flex-direction: column;
gap: 0.4rem;
}
}
.ce-experts-hero [data-animate],
.ce-experts-why [data-animate],
.ce-experts-grid [data-animate],
.ce-experts-match [data-animate],
.ce-experts-criteria [data-animate],
.ce-experts-hubs [data-animate],
.ce-experts-cta [data-animate] {
opacity: 0;
transform: translateY(20px);
transition:
opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
}
.ce-experts-hero [data-animate].is-visible,
.ce-experts-why [data-animate].is-visible,
.ce-experts-grid [data-animate].is-visible,
.ce-experts-match [data-animate].is-visible,
.ce-experts-criteria [data-animate].is-visible,
.ce-experts-hubs [data-animate].is-visible,
.ce-experts-cta [data-animate].is-visible {
opacity: 1;
transform: translate(0, 0);
}
@media (prefers-reduced-motion: reduce) {
.ce-experts-hero [data-animate],
.ce-experts-why [data-animate],
.ce-experts-grid [data-animate],
.ce-experts-match [data-animate],
.ce-experts-criteria [data-animate],
.ce-experts-hubs [data-animate],
.ce-experts-cta [data-animate] {
opacity: 1 !important;
transform: none !important;
transition: none !important;
}
}
.ce-expert-page-hero,
.ce-expert-page-hero * {
box-sizing: border-box;
}
.ce-expert-page-hero {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-60: rgba(3, 41, 95, 0.60);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-08: rgba(3, 41, 95, 0.08);
--ce-navy-04: rgba(3, 41, 95, 0.04);
--ce-crimson: #c7272a;
--ce-crimson-90: rgba(199, 39, 42, 0.92);
--ce-crimson-15: rgba(199, 39, 42, 0.15);
--ce-white: #fefefe;
--ce-radius-sm: 8px;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
--ce-expp-photo-width: 48%;
--ce-expp-photo-opacity: 1;
--ce-expp-photo-tint: 0.5;
--ce-expp-photo-saturation: 0.85;
--ce-expp-photo-offset-x: 18%;
position: relative;
isolation: isolate;
overflow: hidden;
padding: var(--ce-pad-y) 0;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.ce-expert-page-hero__bg {
position: absolute;
inset: 0;
z-index: -3;
pointer-events: none;
overflow: hidden;
}
.ce-expert-page-hero__mesh {
position: absolute;
inset: 0;
background:
radial-gradient(ellipse 75% 60% at 5% 95%, var(--ce-navy-08) 0%, transparent 65%),
radial-gradient(ellipse 50% 40% at 30% 50%, var(--ce-navy-04) 0%, transparent 70%),
radial-gradient(ellipse 60% 80% at 92% 50%, rgba(3, 41, 95, 0.06) 0%, transparent 65%),
var(--ce-white);
}
.ce-expert-page-hero__pulse-wrap {
position: absolute;
left: 0;
right: 0;
top: 72%;
height: 28%;
transform: translateY(-50%);
opacity: 0.65;
-webkit-mask-image: linear-gradient(to right, #000 0%, #000 25%, rgba(0,0,0,0.35) 50%, transparent 72%);
mask-image: linear-gradient(to right, #000 0%, #000 25%, rgba(0,0,0,0.35) 50%, transparent 72%);
}
.ce-expert-page-hero__pulse {
width: 100%;
height: 100%;
display: block;
}
.ce-expert-page-hero__visual {
position: absolute;
top: 0;
right: 0;
bottom: 0;
width: var(--ce-expp-photo-width);
max-width: 760px;
z-index: -1;
pointer-events: none;
overflow: hidden;
opacity: var(--ce-expp-photo-opacity);
}
.ce-expert-page-hero__visual-wash {
position: absolute;
inset: 0;
background: linear-gradient(
to right,
transparent 0%,
rgba(3, 41, 95, 0.02) 25%,
rgba(3, 41, 95, 0.05) 45%,
rgba(3, 41, 95, 0.08) 65%,
rgba(3, 41, 95, 0.11) 85%,
rgba(3, 41, 95, 0.14) 100%
);
}
.ce-expert-page-hero__visual-inner {
position: absolute;
inset: 0;
transform: scale(1.02);
}
.ce-expert-page-hero__photo {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center right;
transform: translateX(var(--ce-expp-photo-offset-x));
-webkit-mask-image:
linear-gradient(to right, transparent 0%, rgba(0,0,0,0.02) 5%, rgba(0,0,0,0.08) 14%, rgba(0,0,0,0.20) 24%, rgba(0,0,0,0.38) 35%, rgba(0,0,0,0.58) 47%, rgba(0,0,0,0.78) 60%, rgba(0,0,0,0.92) 75%, #000 90%, #000 100%),
linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.6) 6%, #000 14%, #000 86%, rgba(0,0,0,0.6) 94%, transparent 100%);
mask-image:
linear-gradient(to right, transparent 0%, rgba(0,0,0,0.02) 5%, rgba(0,0,0,0.08) 14%, rgba(0,0,0,0.20) 24%, rgba(0,0,0,0.38) 35%, rgba(0,0,0,0.58) 47%, rgba(0,0,0,0.78) 60%, rgba(0,0,0,0.92) 75%, #000 90%, #000 100%),
linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.6) 6%, #000 14%, #000 86%, rgba(0,0,0,0.6) 94%, transparent 100%);
-webkit-mask-composite: source-in;
mask-composite: intersect;
filter: saturate(var(--ce-expp-photo-saturation)) contrast(1.12) brightness(1.08);
}
.ce-expert-page-hero__visual::after {
content: '';
position: absolute;
inset: 0;
opacity: var(--ce-expp-photo-tint);
background:
linear-gradient(115deg, rgba(3, 41, 95, 0.42) 0%, rgba(3, 41, 95, 0.20) 35%, rgba(3, 41, 95, 0.08) 60%, rgba(3, 41, 95, 0.05) 100%),
radial-gradient(ellipse at 100% 50%, rgba(199, 39, 42, 0.06), transparent 60%);
pointer-events: none;
-webkit-mask-image: linear-gradient(to right, transparent 0%, transparent 22%, rgba(0,0,0,0.05) 35%, rgba(0,0,0,0.25) 55%, rgba(0,0,0,0.6) 75%, #000 95%);
mask-image: linear-gradient(to right, transparent 0%, transparent 22%, rgba(0,0,0,0.05) 35%, rgba(0,0,0,0.25) 55%, rgba(0,0,0,0.6) 75%, #000 95%);
}
.ce-expert-page-hero__container {
position: relative;
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-expert-page-hero__crumbs {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 0.5rem;
margin-bottom: clamp(1.5rem, 2.5vw, 2rem);
font-size: 0.75rem;
font-weight: 500;
color: var(--ce-navy-60);
}
.ce-expert-page-hero__crumb {
color: var(--ce-navy-70);
text-decoration: none;
transition: color 0.25s var(--ce-ease);
}
.ce-expert-page-hero__crumb:hover,
.ce-expert-page-hero__crumb:focus-visible {
color: var(--ce-crimson);
}
.ce-expert-page-hero__crumb--current {
color: var(--ce-navy);
font-weight: 600;
}
.ce-expert-page-hero__crumb-sep {
width: 11px;
height: 11px;
color: var(--ce-navy-40);
flex-shrink: 0;
}
.ce-expert-page-hero__content {
max-width: 36rem;
}
.ce-expert-page-hero__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.625rem;
margin-bottom: 1.25rem;
font-size: 0.75rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-expert-page-hero__eyebrow-mark {
width: 24px;
height: 1px;
background: currentColor;
flex-shrink: 0;
}
.ce-expert-page-hero__heading {
margin: 0 0 clamp(1.25rem, 2.5vw, 1.75rem);
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.875rem, 4.5vw, 3.5rem);
line-height: 1.04;
letter-spacing: -0.035em;
color: var(--ce-navy);
}
.ce-expert-page-hero__heading-row {
display: block;
}
.ce-expert-page-hero__heading-row--accent {
margin-top: 0.18em;
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
font-size: 0.7em;
letter-spacing: -0.02em;
}
.ce-expert-page-hero__heading-em {
color: var(--ce-navy-60);
}
.ce-expert-page-hero__heading-strong {
position: relative;
color: var(--ce-crimson);
font-style: italic;
font-weight: 500;
white-space: nowrap;
}
.ce-expert-page-hero__heading-strong::after {
content: '';
position: absolute;
left: 0;
right: 0;
bottom: 0.05em;
height: 0.42em;
background: var(--ce-crimson-15);
z-index: -1;
border-radius: 2px;
transform: skewX(-6deg);
}
.ce-expert-page-hero__sub {
max-width: 34rem;
margin: 0 0 clamp(1.75rem, 3vw, 2.25rem);
font-size: clamp(0.9375rem, 1.2vw, 1.0625rem);
line-height: 1.65;
color: var(--ce-navy-70);
}
.ce-expert-page-hero__sub-link {
color: var(--ce-navy);
text-decoration: underline;
text-decoration-color: var(--ce-navy-40);
text-underline-offset: 3px;
transition: color 0.25s var(--ce-ease), text-decoration-color 0.25s var(--ce-ease);
}
.ce-expert-page-hero__sub-link:hover,
.ce-expert-page-hero__sub-link:focus-visible {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
.ce-expert-page-hero__cta-group {
display: flex;
flex-wrap: wrap;
gap: 0.875rem;
margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
}
.ce-expert-page-hero__cta {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.625rem;
padding: 1rem 1.5rem;
border: 1px solid transparent;
border-radius: var(--ce-radius-sm);
font-family: inherit;
font-size: 0.9375rem;
font-weight: 500;
letter-spacing: -0.005em;
line-height: 1;
text-decoration: none;
cursor: pointer;
transition: transform 0.4s var(--ce-ease), background-color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), color 0.3s var(--ce-ease), box-shadow 0.4s var(--ce-ease);
}
.ce-expert-page-hero__cta--primary {
background: var(--ce-crimson);
color: var(--ce-white);
box-shadow: 0 1px 0 rgba(255,255,255,0.15) inset, 0 8px 20px -8px var(--ce-crimson-90), 0 2px 4px var(--ce-navy-08);
}
.ce-expert-page-hero__cta--primary:hover,
.ce-expert-page-hero__cta--primary:focus-visible {
transform: translateY(-2px);
background: #b21f22;
box-shadow: 0 1px 0 rgba(255,255,255,0.18) inset, 0 14px 28px -10px var(--ce-crimson-90), 0 4px 8px var(--ce-navy-08);
}
.ce-expert-page-hero__cta--secondary {
background: rgba(254, 254, 254, 0.7);
color: var(--ce-navy);
border-color: var(--ce-navy-15);
backdrop-filter: blur(6px);
-webkit-backdrop-filter: blur(6px);
}
.ce-expert-page-hero__cta--secondary:hover,
.ce-expert-page-hero__cta--secondary:focus-visible {
transform: translateY(-2px);
background: var(--ce-navy);
color: var(--ce-white);
border-color: var(--ce-navy);
box-shadow: 0 12px 24px -10px rgba(3, 41, 95, 0.4);
}
.ce-expert-page-hero__cta:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: 3px;
}
.ce-expert-page-hero__cta-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 18px;
height: 18px;
transition: transform 0.4s var(--ce-ease);
}
.ce-expert-page-hero__cta-icon svg {
width: 100%;
height: 100%;
}
.ce-expert-page-hero__cta--primary:hover .ce-expert-page-hero__cta-icon:not(.ce-expert-page-hero__cta-icon--lead) {
transform: translateX(4px);
}
.ce-expert-page-hero__chips {
display: flex;
flex-wrap: wrap;
gap: 0.5rem;
list-style: none;
margin: 0;
padding: 1.25rem 0 0;
border-top: 1px solid var(--ce-navy-15);
}
.ce-expert-page-hero__chip {
display: inline-flex;
align-items: center;
padding: 0.375rem 0.75rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.04em;
text-transform: uppercase;
color: var(--ce-navy-70);
background: rgba(3, 41, 95, 0.05);
border: 1px solid var(--ce-navy-08);
border-radius: 999px;
line-height: 1;
}
@media (max-width: 1024px) { .ce-expert-page-hero { --ce-expp-photo-width: 45%; } }
@media (max-width: 820px) {
.ce-expert-page-hero { --ce-expp-photo-width: 70%; --ce-expp-photo-opacity: 0.3; }
.ce-expert-page-hero__content { max-width: 100%; }
}
@media (max-width: 640px) {
.ce-expert-page-hero { --ce-expp-photo-width: 100%; --ce-expp-photo-opacity: 0.15; }
}
@media (max-width: 420px) {
.ce-expert-page-hero__cta { width: 100%; }
.ce-expert-page-hero__cta-group { flex-direction: column; }
.ce-expert-page-hero__heading-strong { white-space: normal; }
}
.ce-expert-page-scope,
.ce-expert-page-scope * {
box-sizing: border-box;
}
.ce-expert-page-scope {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-crimson: #c7272a;
--ce-cream: #fbf8f3;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1200px;
background: var(--ce-cream);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-expert-page-scope__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-expert-page-scope__layout {
display: grid;
grid-template-columns: 0.7fr 1fr;
gap: clamp(2rem, 4vw, 3.5rem);
align-items: start;
}
.ce-expert-page-scope__header {
position: sticky;
top: 120px;
}
.ce-expert-page-scope__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-expert-page-scope__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-expert-page-scope__heading {
margin: 0;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-expert-page-scope__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-expert-page-scope__lead {
margin: 0 0 1.25rem;
font-family: var(--ce-font-serif);
font-weight: 400;
font-size: clamp(1rem, 1.25vw, 1.1875rem);
line-height: 1.6;
color: var(--ce-navy);
letter-spacing: -0.01em;
}
.ce-expert-page-scope__copy {
margin: 0 0 1.25rem;
font-size: 0.9375rem;
line-height: 1.65;
color: var(--ce-navy);
}
.ce-expert-page-scope__copy:last-child {
margin-bottom: 0;
}
.ce-expert-page-scope__link {
color: var(--ce-navy);
text-decoration: underline;
text-decoration-color: var(--ce-navy-40);
text-underline-offset: 3px;
transition: color 0.25s var(--ce-ease), text-decoration-color 0.25s var(--ce-ease);
}
.ce-expert-page-scope__link:hover,
.ce-expert-page-scope__link:focus-visible {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
@media (max-width: 900px) {
.ce-expert-page-scope__layout {
grid-template-columns: 1fr;
gap: 1.75rem;
}
.ce-expert-page-scope__header { position: static; }
}
.ce-expert-page-areas,
.ce-expert-page-areas * {
box-sizing: border-box;
}
.ce-expert-page-areas {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-crimson: #c7272a;
--ce-white: #fefefe;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-expert-page-areas__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-expert-page-areas__header {
max-width: 46rem;
margin: 0 0 clamp(2rem, 3vw, 2.75rem);
}
.ce-expert-page-areas__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-expert-page-areas__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-expert-page-areas__heading {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-expert-page-areas__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-expert-page-areas__intro {
margin: 0;
font-size: clamp(0.9375rem, 1vw, 1.0625rem);
line-height: 1.6;
color: var(--ce-navy-70);
max-width: 42rem;
}
.ce-expert-page-areas__grid {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: clamp(1rem, 1.5vw, 1.5rem);
}
.ce-expert-page-areas__card {
background: var(--ce-white);
padding: clamp(1.5rem, 2.25vw, 2rem);
border: 1px solid var(--ce-navy-10);
border-radius: 8px;
transition: transform 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), box-shadow 0.3s var(--ce-ease);
}
.ce-expert-page-areas__card:hover {
transform: translateY(-3px);
border-color: var(--ce-navy);
box-shadow: 0 16px 32px -16px rgba(3, 41, 95, 0.2);
}
.ce-expert-page-areas__card-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 48px;
height: 48px;
border-radius: 50%;
background: var(--ce-white);
border: 1.5px solid var(--ce-crimson);
color: var(--ce-crimson);
margin-bottom: 1rem;
transition: background-color 0.3s var(--ce-ease), color 0.3s var(--ce-ease);
}
.ce-expert-page-areas__card-icon svg {
width: 20px;
height: 20px;
}
.ce-expert-page-areas__card:hover .ce-expert-page-areas__card-icon {
background: var(--ce-crimson);
color: var(--ce-white);
}
.ce-expert-page-areas__card-title {
margin: 0 0 0.625rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1rem, 1.25vw, 1.1875rem);
line-height: 1.25;
letter-spacing: -0.02em;
color: var(--ce-navy);
}
.ce-expert-page-areas__card-copy {
margin: 0;
font-size: 0.875rem;
line-height: 1.6;
color: var(--ce-navy-70);
}
.ce-expert-page-areas__card-copy a {
color: var(--ce-navy);
text-decoration: underline;
text-decoration-color: var(--ce-navy-40);
text-underline-offset: 3px;
}
.ce-expert-page-areas__card-copy a:hover {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
@media (max-width: 900px) {
.ce-expert-page-areas__grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 540px) {
.ce-expert-page-areas__grid {
grid-template-columns: 1fr;
}
}
.ce-expert-page-legal,
.ce-expert-page-legal * {
box-sizing: border-box;
}
.ce-expert-page-legal {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-crimson: #c7272a;
--ce-crimson-08: rgba(199, 39, 42, 0.08);
--ce-white: #fefefe;
--ce-cream: #fbf8f3;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-cream);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-expert-page-legal__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-expert-page-legal__header {
max-width: 46rem;
margin: 0 0 clamp(2rem, 3vw, 2.75rem);
}
.ce-expert-page-legal__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-expert-page-legal__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-expert-page-legal__heading {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-expert-page-legal__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-expert-page-legal__intro {
margin: 0;
font-size: clamp(0.9375rem, 1vw, 1.0625rem);
line-height: 1.6;
color: var(--ce-navy-70);
max-width: 42rem;
}
.ce-expert-page-legal__grid {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: clamp(1rem, 1.5vw, 1.5rem);
}
.ce-expert-page-legal__card {
background: var(--ce-white);
padding: clamp(1.5rem, 2vw, 1.875rem);
border-radius: 6px;
border: 1px solid var(--ce-navy-10);
transition: transform 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), box-shadow 0.3s var(--ce-ease);
}
.ce-expert-page-legal__card:hover {
transform: translateY(-3px);
border-color: var(--ce-navy);
box-shadow: 0 16px 32px -16px rgba(3, 41, 95, 0.2);
}
.ce-expert-page-legal__card-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 44px;
height: 44px;
border-radius: 50%;
background: var(--ce-white);
border: 1.5px solid var(--ce-crimson);
color: var(--ce-crimson);
margin-bottom: 1rem;
transition: background-color 0.3s var(--ce-ease), color 0.3s var(--ce-ease);
}
.ce-expert-page-legal__card-icon svg {
width: 18px;
height: 18px;
}
.ce-expert-page-legal__card:hover .ce-expert-page-legal__card-icon {
background: var(--ce-crimson);
color: var(--ce-white);
}
.ce-expert-page-legal__card-title {
margin: 0 0 0.625rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1rem, 1.25vw, 1.1875rem);
line-height: 1.2;
letter-spacing: -0.02em;
color: var(--ce-navy);
}
.ce-expert-page-legal__card-copy {
margin: 0;
font-size: 0.875rem;
line-height: 1.6;
color: var(--ce-navy-70);
}
.ce-expert-page-legal__card-copy a {
color: var(--ce-navy);
text-decoration: underline;
text-decoration-color: var(--ce-navy-40);
text-underline-offset: 3px;
}
.ce-expert-page-legal__card-copy a:hover {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
@media (max-width: 1024px) {
.ce-expert-page-legal__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 540px) {
.ce-expert-page-legal__grid { grid-template-columns: 1fr; }
}
.ce-expert-page-reports,
.ce-expert-page-reports * {
box-sizing: border-box;
}
.ce-expert-page-reports {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-crimson: #c7272a;
--ce-white: #fefefe;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1100px;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-expert-page-reports__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-expert-page-reports__header {
max-width: 46rem;
margin: 0 0 clamp(2rem, 3vw, 2.5rem);
}
.ce-expert-page-reports__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-expert-page-reports__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-expert-page-reports__heading {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-expert-page-reports__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-expert-page-reports__intro {
margin: 0;
font-size: clamp(0.9375rem, 1vw, 1.0625rem);
line-height: 1.6;
color: var(--ce-navy-70);
max-width: 42rem;
}
.ce-expert-page-reports__list {
list-style: none;
margin: 0;
padding: 0;
border-top: 1px solid var(--ce-navy-15);
}
.ce-expert-page-reports__item {
border-bottom: 1px solid var(--ce-navy-15);
}
.ce-expert-page-reports__item-link {
display: grid;
grid-template-columns: 80px 1fr auto;
align-items: center;
gap: clamp(1rem, 2vw, 1.75rem);
padding: clamp(1.125rem, 2vw, 1.5rem) 0;
text-decoration: none;
color: inherit;
transition: padding 0.3s var(--ce-ease);
position: relative;
}
.ce-expert-page-reports__item-link::before {
content: '';
position: absolute;
left: 50%;
top: 0;
bottom: 0;
width: 100vw;
transform: translateX(-50%);
background: rgba(199, 39, 42, 0.03);
z-index: -1;
opacity: 0;
transition: opacity 0.3s var(--ce-ease);
}
.ce-expert-page-reports__item-link:hover::before,
.ce-expert-page-reports__item-link:focus-visible::before {
opacity: 1;
}
.ce-expert-page-reports__item-link:focus-visible {
outline: none;
}
.ce-expert-page-reports__item-num {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
font-size: clamp(2rem, 3.5vw, 3rem);
line-height: 1;
color: var(--ce-crimson);
letter-spacing: -0.02em;
transition: transform 0.4s var(--ce-ease);
}
.ce-expert-page-reports__item-link:hover .ce-expert-page-reports__item-num {
transform: translateX(4px);
}
.ce-expert-page-reports__item-body {
min-width: 0;
}
.ce-expert-page-reports__item-title {
margin: 0 0 0.375rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.0625rem, 1.4vw, 1.25rem);
line-height: 1.2;
letter-spacing: -0.02em;
color: var(--ce-navy);
transition: color 0.25s var(--ce-ease);
}
.ce-expert-page-reports__item-link:hover .ce-expert-page-reports__item-title {
color: var(--ce-crimson);
}
.ce-expert-page-reports__item-copy {
margin: 0;
max-width: 44rem;
font-size: 0.9375rem;
line-height: 1.55;
color: var(--ce-navy-70);
}
.ce-expert-page-reports__item-arrow {
display: inline-flex;
align-items: center;
justify-content: center;
width: 36px;
height: 36px;
border-radius: 50%;
background: var(--ce-white);
border: 1.5px solid var(--ce-navy-15);
color: var(--ce-navy);
transition: background-color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), color 0.3s var(--ce-ease), transform 0.3s var(--ce-ease);
flex-shrink: 0;
}
.ce-expert-page-reports__item-arrow svg {
width: 14px;
height: 14px;
}
.ce-expert-page-reports__item-link:hover .ce-expert-page-reports__item-arrow {
background: var(--ce-crimson);
border-color: var(--ce-crimson);
color: var(--ce-white);
transform: translateX(4px);
}
.ce-expert-page-reports__footnote {
margin: clamp(1.5rem, 2.5vw, 2rem) 0 0;
font-size: 0.875rem;
color: var(--ce-navy-70);
text-align: right;
}
.ce-expert-page-reports__footnote a {
color: var(--ce-navy);
font-weight: 600;
text-decoration: underline;
text-decoration-color: var(--ce-navy-40);
text-underline-offset: 3px;
}
.ce-expert-page-reports__footnote a:hover {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
@media (max-width: 640px) {
.ce-expert-page-reports__item-link {
grid-template-columns: 56px 1fr;
grid-template-rows: auto auto;
gap: 0.75rem;
}
.ce-expert-page-reports__item-num {
grid-row: 1;
grid-column: 1;
font-size: 1.75rem;
}
.ce-expert-page-reports__item-body {
grid-row: 1;
grid-column: 2;
}
.ce-expert-page-reports__item-arrow {
grid-row: 2;
grid-column: 1 / -1;
justify-self: start;
}
.ce-expert-page-reports__footnote {
text-align: left;
}
}
.ce-expert-page-why,
.ce-expert-page-why * {
box-sizing: border-box;
}
.ce-expert-page-why {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-crimson: #c7272a;
--ce-white: #fefefe;
--ce-cream: #fbf8f3;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-cream);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-expert-page-why__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-expert-page-why__header {
max-width: 46rem;
margin: 0 0 clamp(2rem, 3vw, 2.75rem);
}
.ce-expert-page-why__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-expert-page-why__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-expert-page-why__heading {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-expert-page-why__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-expert-page-why__intro {
margin: 0;
font-size: clamp(0.9375rem, 1vw, 1.0625rem);
line-height: 1.6;
color: var(--ce-navy-70);
max-width: 42rem;
}
.ce-expert-page-why__grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: clamp(1rem, 1.75vw, 1.5rem);
}
.ce-expert-page-why__block {
padding: clamp(1.5rem, 2.25vw, 2rem);
background: var(--ce-white);
border: 1px solid var(--ce-navy-10);
border-left: 3px solid var(--ce-crimson);
border-radius: 6px;
transition: transform 0.3s var(--ce-ease), box-shadow 0.3s var(--ce-ease), border-left-color 0.3s var(--ce-ease);
}
.ce-expert-page-why__block:hover {
transform: translateY(-3px);
box-shadow: 0 16px 32px -16px rgba(3, 41, 95, 0.2);
border-left-color: var(--ce-navy);
}
.ce-expert-page-why__block-num {
display: inline-block;
margin-bottom: 0.875rem;
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
font-size: 1.5rem;
color: var(--ce-crimson);
letter-spacing: -0.01em;
line-height: 1;
}
.ce-expert-page-why__block-title {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.0625rem, 1.4vw, 1.25rem);
line-height: 1.2;
letter-spacing: -0.02em;
color: var(--ce-navy);
}
.ce-expert-page-why__block-copy {
margin: 0;
font-size: 0.9375rem;
line-height: 1.6;
color: var(--ce-navy-70);
}
.ce-expert-page-why__block-copy a {
color: var(--ce-navy);
text-decoration: underline;
text-decoration-color: var(--ce-navy-40);
text-underline-offset: 3px;
}
.ce-expert-page-why__block-copy a:hover {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
@media (max-width: 760px) {
.ce-expert-page-why__grid {
grid-template-columns: 1fr;
}
}
.ce-expert-page-hubs,
.ce-expert-page-hubs * {
box-sizing: border-box;
}
.ce-expert-page-hubs {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-crimson: #c7272a;
--ce-crimson-08: rgba(199, 39, 42, 0.08);
--ce-white: #fefefe;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-expert-page-hubs__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-expert-page-hubs__header {
max-width: 44rem;
margin: 0 auto clamp(2rem, 3vw, 2.5rem);
text-align: center;
}
.ce-expert-page-hubs__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-expert-page-hubs__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-expert-page-hubs__heading {
margin: 0;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-expert-page-hubs__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-expert-page-hubs__grid {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: clamp(1rem, 1.75vw, 1.5rem);
}
.ce-expert-page-hubs__card {
background: var(--ce-white);
border: 1px solid var(--ce-navy-10);
border-radius: 8px;
overflow: hidden;
transition: transform 0.4s var(--ce-ease), box-shadow 0.4s var(--ce-ease), border-color 0.4s var(--ce-ease);
}
.ce-expert-page-hubs__card:hover {
transform: translateY(-4px);
border-color: var(--ce-navy);
box-shadow: 0 24px 48px -20px rgba(3, 41, 95, 0.28);
}
.ce-expert-page-hubs__card-link {
display: flex;
flex-direction: column;
height: 100%;
text-decoration: none;
color: inherit;
}
.ce-expert-page-hubs__card-link:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: -2px;
border-radius: 8px;
}
.ce-expert-page-hubs__card-media {
position: relative;
overflow: hidden;
aspect-ratio: 16 / 9;
background: var(--ce-navy);
}
.ce-expert-page-hubs__card-media::after {
content: '';
position: absolute;
inset: 0;
background: linear-gradient(180deg, transparent 50%, rgba(3, 41, 95, 0.35) 100%);
pointer-events: none;
}
.ce-expert-page-hubs__card-img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.6s var(--ce-ease);
}
.ce-expert-page-hubs__card:hover .ce-expert-page-hubs__card-img {
transform: scale(1.04);
}
.ce-expert-page-hubs__card-body {
display: flex;
flex-direction: column;
padding: clamp(1.5rem, 2.25vw, 1.875rem);
flex-grow: 1;
}
.ce-expert-page-hubs__card-tag {
display: inline-block;
align-self: flex-start;
margin-bottom: 0.75rem;
padding: 0.3rem 0.625rem;
background: var(--ce-crimson-08);
color: var(--ce-crimson);
border-radius: 4px;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
line-height: 1;
}
.ce-expert-page-hubs__card-title {
margin: 0 0 0.625rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.0625rem, 1.4vw, 1.25rem);
line-height: 1.2;
letter-spacing: -0.02em;
color: var(--ce-navy);
}
.ce-expert-page-hubs__card-copy {
margin: 0 0 1.25rem;
font-size: 0.875rem;
line-height: 1.6;
color: var(--ce-navy-70);
flex-grow: 1;
}
.ce-expert-page-hubs__card-cta {
display: inline-flex;
align-items: center;
gap: 0.4375rem;
align-self: flex-start;
margin-top: auto;
padding: 0.375rem 0;
font-size: 0.8125rem;
font-weight: 600;
color: var(--ce-navy);
border-bottom: 1px solid var(--ce-navy);
transition: color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), gap 0.25s var(--ce-ease);
}
.ce-expert-page-hubs__card-cta svg {
width: 12px;
height: 12px;
transition: transform 0.25s var(--ce-ease);
}
.ce-expert-page-hubs__card:hover .ce-expert-page-hubs__card-cta {
color: var(--ce-crimson);
border-color: var(--ce-crimson);
gap: 0.625rem;
}
.ce-expert-page-hubs__card:hover .ce-expert-page-hubs__card-cta svg {
transform: translateX(3px);
}
@media (max-width: 760px) {
.ce-expert-page-hubs__grid {
grid-template-columns: 1fr;
max-width: 36rem;
margin: 0 auto;
}
}
.ce-expert-page-cta,
.ce-expert-page-cta * {
box-sizing: border-box;
}
.ce-expert-page-cta {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-deep: #021c43;
--ce-crimson: #c7272a;
--ce-white: #fefefe;
--ce-white-90: rgba(254, 254, 254, 0.92);
--ce-white-70: rgba(254, 254, 254, 0.72);
--ce-white-25: rgba(254, 254, 254, 0.25);
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(2.75rem, 4.5vw, 4rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1100px;
position: relative;
overflow: hidden;
background: var(--ce-crimson);
color: var(--ce-white);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-expert-page-cta__pulse {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 32px;
pointer-events: none;
opacity: 0.6;
z-index: 1;
}
.ce-expert-page-cta__pulse svg {
width: 100%;
height: 100%;
display: block;
}
.ce-expert-page-cta__container {
position: relative;
z-index: 2;
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-expert-page-cta__content {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
}
.ce-expert-page-cta__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.625rem;
margin-bottom: 1rem;
font-size: 0.75rem;
font-weight: 600;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--ce-white);
line-height: 1;
}
.ce-expert-page-cta__eyebrow-mark {
width: 24px;
height: 1px;
background: currentColor;
}
.ce-expert-page-cta__heading {
margin: 0 0 1rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.75rem, 3.4vw, 2.875rem);
line-height: 1.05;
letter-spacing: -0.025em;
color: var(--ce-white);
max-width: 22ch;
}
.ce-expert-page-cta__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-white);
background-image: linear-gradient(to top, rgba(254, 254, 254, 0.25) 12%, transparent 12%, transparent 100%);
}
.ce-expert-page-cta__sub {
margin: 0 0 clamp(1.5rem, 2.5vw, 2rem);
max-width: 42rem;
font-size: clamp(0.9375rem, 1.05vw, 1.0625rem);
line-height: 1.55;
color: var(--ce-white-90);
}
.ce-expert-page-cta__actions {
display: flex;
flex-wrap: wrap;
align-items: stretch;
justify-content: center;
gap: 0.75rem;
margin-bottom: clamp(1.25rem, 2vw, 1.5rem);
}
.ce-expert-page-cta__btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.625rem;
padding: 1rem 1.625rem;
border: 1.5px solid transparent;
border-radius: 6px;
font-family: inherit;
text-decoration: none;
cursor: pointer;
transition: transform 0.35s var(--ce-ease), background-color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), color 0.3s var(--ce-ease), box-shadow 0.4s var(--ce-ease);
min-width: 220px;
font-size: 0.9375rem;
font-weight: 600;
letter-spacing: -0.005em;
line-height: 1;
}
.ce-expert-page-cta__btn-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 18px;
height: 18px;
flex-shrink: 0;
transition: transform 0.35s var(--ce-ease);
}
.ce-expert-page-cta__btn-icon svg {
width: 100%;
height: 100%;
}
.ce-expert-page-cta__btn--primary {
background: var(--ce-navy);
color: var(--ce-white);
box-shadow: 0 1px 0 rgba(255,255,255,0.12) inset, 0 6px 16px -6px rgba(2, 28, 67, 0.5);
}
.ce-expert-page-cta__btn--primary:hover,
.ce-expert-page-cta__btn--primary:focus-visible {
background: var(--ce-navy-deep);
transform: translateY(-2px);
box-shadow: 0 1px 0 rgba(255,255,255,0.15) inset, 0 12px 24px -8px rgba(2, 28, 67, 0.6);
}
.ce-expert-page-cta__btn--primary:hover .ce-expert-page-cta__btn-icon:not(.ce-expert-page-cta__btn-icon--lead) {
transform: translateX(4px);
}
.ce-expert-page-cta__btn--secondary {
background: transparent;
color: var(--ce-white);
border-color: rgba(254, 254, 254, 0.45);
}
.ce-expert-page-cta__btn--secondary:hover,
.ce-expert-page-cta__btn--secondary:focus-visible {
background: var(--ce-white);
color: var(--ce-crimson);
border-color: var(--ce-white);
transform: translateY(-2px);
}
.ce-expert-page-cta__btn:focus-visible {
outline: 2px solid var(--ce-white);
outline-offset: 3px;
}
.ce-expert-page-cta__trust {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
gap: 0.5rem 1rem;
margin: 0;
font-size: 0.8125rem;
font-weight: 500;
color: var(--ce-white-70);
}
.ce-expert-page-cta__trust-item {
display: inline-flex;
align-items: center;
gap: 0.4rem;
line-height: 1.3;
}
.ce-expert-page-cta__trust-item svg {
width: 13px;
height: 13px;
flex-shrink: 0;
color: var(--ce-white);
}
.ce-expert-page-cta__trust-divider {
width: 1px;
height: 14px;
background: var(--ce-white-25);
}
@media (max-width: 760px) {
.ce-expert-page-cta__btn {
min-width: 0;
flex: 1 1 100%;
max-width: 360px;
}
}
@media (max-width: 540px) {
.ce-expert-page-cta__actions {
flex-direction: column;
align-items: stretch;
width: 100%;
max-width: 360px;
}
.ce-expert-page-cta__btn { max-width: 100%; }
}
@media (max-width: 420px) {
.ce-expert-page-cta__trust-divider { display: none; }
.ce-expert-page-cta__trust {
flex-direction: column;
gap: 0.4rem;
}
}
.ce-expert-page-hero [data-animate],
.ce-expert-page-scope [data-animate],
.ce-expert-page-areas [data-animate],
.ce-expert-page-legal [data-animate],
.ce-expert-page-reports [data-animate],
.ce-expert-page-why [data-animate],
.ce-expert-page-hubs [data-animate],
.ce-expert-page-cta [data-animate] {
opacity: 0;
transform: translateY(20px);
transition:
opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
}
.ce-expert-page-hero [data-animate].is-visible,
.ce-expert-page-scope [data-animate].is-visible,
.ce-expert-page-areas [data-animate].is-visible,
.ce-expert-page-legal [data-animate].is-visible,
.ce-expert-page-reports [data-animate].is-visible,
.ce-expert-page-why [data-animate].is-visible,
.ce-expert-page-hubs [data-animate].is-visible,
.ce-expert-page-cta [data-animate].is-visible {
opacity: 1;
transform: translate(0, 0);
}
@media (prefers-reduced-motion: reduce) {
.ce-expert-page-hero [data-animate],
.ce-expert-page-scope [data-animate],
.ce-expert-page-areas [data-animate],
.ce-expert-page-legal [data-animate],
.ce-expert-page-reports [data-animate],
.ce-expert-page-why [data-animate],
.ce-expert-page-hubs [data-animate],
.ce-expert-page-cta [data-animate] {
opacity: 1 !important;
transform: none !important;
transition: none !important;
}
}
.ce-resources-hero,
.ce-resources-hero * { box-sizing: border-box; }
.ce-resources-hero {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-60: rgba(3, 41, 95, 0.60);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-08: rgba(3, 41, 95, 0.08);
--ce-navy-04: rgba(3, 41, 95, 0.04);
--ce-crimson: #c7272a;
--ce-crimson-90: rgba(199, 39, 42, 0.92);
--ce-crimson-15: rgba(199, 39, 42, 0.15);
--ce-white: #fefefe;
--ce-radius-sm: 8px;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-hero-photo-opacity: 1;
--ce-hero-photo-offset-x: 20%;
--ce-hero-photo-width: 55%;
--ce-hero-photo-tint: 0.55;
--ce-hero-photo-saturation: 0.85;
--ce-pad-y: clamp(3.5rem, 6vw, 5.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
position: relative;
isolation: isolate;
overflow: hidden;
padding: var(--ce-pad-y) 0;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.ce-resources-hero__bg {
position: absolute;
inset: 0;
z-index: -3;
pointer-events: none;
overflow: hidden;
}
.ce-resources-hero__mesh {
position: absolute;
inset: 0;
background:
radial-gradient(ellipse 75% 60% at 5% 95%, var(--ce-navy-08) 0%, transparent 65%),
radial-gradient(ellipse 50% 40% at 30% 50%, var(--ce-navy-04) 0%, transparent 70%),
radial-gradient(ellipse 60% 80% at 92% 50%, rgba(3, 41, 95, 0.06) 0%, transparent 65%),
var(--ce-white);
}
.ce-resources-hero__pulse-wrap {
position: absolute;
left: 0;
right: 0;
top: 72%;
height: 32%;
transform: translateY(-50%);
opacity: 0.7;
-webkit-mask-image: linear-gradient(to right, #000 0%, #000 25%, rgba(0,0,0,0.35) 50%, transparent 72%);
mask-image: linear-gradient(to right, #000 0%, #000 25%, rgba(0,0,0,0.35) 50%, transparent 72%);
}
.ce-resources-hero__pulse { width: 100%; height: 100%; display: block; }
.ce-resources-hero__visual {
position: absolute;
top: 0;
right: 0;
bottom: 0;
width: var(--ce-hero-photo-width);
max-width: 880px;
z-index: -1;
pointer-events: none;
overflow: hidden;
opacity: var(--ce-hero-photo-opacity);
}
.ce-resources-hero__visual-wash {
position: absolute;
inset: 0;
background: linear-gradient(to right, transparent 0%, rgba(3, 41, 95, 0.015) 25%, rgba(3, 41, 95, 0.04) 45%, rgba(3, 41, 95, 0.07) 65%, rgba(3, 41, 95, 0.10) 85%, rgba(3, 41, 95, 0.13) 100%);
}
.ce-resources-hero__visual-inner {
position: absolute;
inset: 0;
transform: scale(1.02);
opacity: 0;
transition: opacity 1.2s var(--ce-ease);
}
.ce-resources-hero__visual-inner.is-visible { opacity: 1; }
.ce-resources-hero__photo {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center right;
transform: translateX(var(--ce-hero-photo-offset-x));
-webkit-mask-image:
linear-gradient(to right, transparent 0%, rgba(0,0,0,0.02) 5%, rgba(0,0,0,0.08) 14%, rgba(0,0,0,0.20) 24%, rgba(0,0,0,0.38) 35%, rgba(0,0,0,0.58) 47%, rgba(0,0,0,0.78) 60%, rgba(0,0,0,0.92) 75%, #000 90%, #000 100%),
linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.6) 6%, #000 14%, #000 86%, rgba(0,0,0,0.6) 94%, transparent 100%);
mask-image:
linear-gradient(to right, transparent 0%, rgba(0,0,0,0.02) 5%, rgba(0,0,0,0.08) 14%, rgba(0,0,0,0.20) 24%, rgba(0,0,0,0.38) 35%, rgba(0,0,0,0.58) 47%, rgba(0,0,0,0.78) 60%, rgba(0,0,0,0.92) 75%, #000 90%, #000 100%),
linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.6) 6%, #000 14%, #000 86%, rgba(0,0,0,0.6) 94%, transparent 100%);
-webkit-mask-composite: source-in;
mask-composite: intersect;
filter: saturate(var(--ce-hero-photo-saturation)) contrast(1.12) brightness(1.08);
}
.ce-resources-hero__visual::after {
content: '';
position: absolute;
inset: 0;
opacity: var(--ce-hero-photo-tint);
background:
linear-gradient(115deg, rgba(3, 41, 95, 0.42) 0%, rgba(3, 41, 95, 0.20) 35%, rgba(3, 41, 95, 0.08) 60%, rgba(3, 41, 95, 0.05) 100%),
radial-gradient(ellipse at 100% 50%, rgba(199, 39, 42, 0.06), transparent 60%);
pointer-events: none;
-webkit-mask-image: linear-gradient(to right, transparent 0%, transparent 22%, rgba(0,0,0,0.05) 35%, rgba(0,0,0,0.25) 55%, rgba(0,0,0,0.6) 75%, #000 95%);
mask-image: linear-gradient(to right, transparent 0%, transparent 22%, rgba(0,0,0,0.05) 35%, rgba(0,0,0,0.25) 55%, rgba(0,0,0,0.6) 75%, #000 95%);
}
.ce-resources-hero__container {
position: relative;
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-resources-hero__content {
position: relative;
max-width: 38rem;
}
.ce-resources-hero__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.625rem;
margin-bottom: 1.25rem;
font-size: 0.75rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-resources-hero__eyebrow-mark {
width: 24px;
height: 1px;
background: currentColor;
flex-shrink: 0;
}
.ce-resources-hero__heading {
margin: 0 0 clamp(1.25rem, 2.5vw, 1.75rem);
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(2rem, 5vw, 4rem);
line-height: 1.04;
letter-spacing: -0.035em;
color: var(--ce-navy);
}
.ce-resources-hero__heading-row { display: block; }
.ce-resources-hero__heading-row--accent {
margin-top: 0.18em;
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
font-size: 0.75em;
letter-spacing: -0.02em;
}
.ce-resources-hero__heading-em { color: var(--ce-navy-60); }
.ce-resources-hero__heading-strong {
position: relative;
color: var(--ce-crimson);
font-style: italic;
font-weight: 500;
white-space: nowrap;
}
.ce-resources-hero__heading-strong::after {
content: '';
position: absolute;
left: 0;
right: 0;
bottom: 0.05em;
height: 0.42em;
background: var(--ce-crimson-15);
z-index: -1;
border-radius: 2px;
transform: skewX(-6deg);
}
.ce-resources-hero__sub {
max-width: 36rem;
margin: 0 0 clamp(1.75rem, 3vw, 2.25rem);
font-size: clamp(0.9375rem, 1.15vw, 1.125rem);
line-height: 1.65;
color: var(--ce-navy-70);
font-weight: 400;
}
.ce-resources-hero__cta-group {
display: flex;
flex-wrap: wrap;
gap: 0.875rem;
margin-bottom: clamp(2rem, 3.5vw, 2.75rem);
}
.ce-resources-hero__cta {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.625rem;
padding: 1.05rem 1.625rem;
border: 1px solid transparent;
border-radius: var(--ce-radius-sm);
font-family: inherit;
font-size: 0.9375rem;
font-weight: 500;
letter-spacing: -0.005em;
line-height: 1;
text-decoration: none;
cursor: pointer;
transition: transform 0.4s var(--ce-ease), background-color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), color 0.3s var(--ce-ease), box-shadow 0.4s var(--ce-ease);
}
.ce-resources-hero__cta--primary {
background: var(--ce-crimson);
color: var(--ce-white);
box-shadow: 0 1px 0 rgba(255,255,255,0.15) inset, 0 8px 20px -8px var(--ce-crimson-90), 0 2px 4px var(--ce-navy-08);
}
.ce-resources-hero__cta--primary:hover,
.ce-resources-hero__cta--primary:focus-visible {
transform: translateY(-2px);
background: #b21f22;
box-shadow: 0 1px 0 rgba(255,255,255,0.18) inset, 0 14px 28px -10px var(--ce-crimson-90), 0 4px 8px var(--ce-navy-08);
}
.ce-resources-hero__cta--secondary {
background: rgba(254, 254, 254, 0.7);
color: var(--ce-navy);
border-color: var(--ce-navy-15);
backdrop-filter: blur(6px);
-webkit-backdrop-filter: blur(6px);
}
.ce-resources-hero__cta--secondary:hover,
.ce-resources-hero__cta--secondary:focus-visible {
transform: translateY(-2px);
background: var(--ce-navy);
color: var(--ce-white);
border-color: var(--ce-navy);
box-shadow: 0 12px 24px -10px var(--ce-navy-40);
}
.ce-resources-hero__cta:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: 3px;
}
.ce-resources-hero__cta-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 18px;
height: 18px;
transition: transform 0.4s var(--ce-ease);
}
.ce-resources-hero__cta-icon svg { width: 100%; height: 100%; }
.ce-resources-hero__cta--primary:hover .ce-resources-hero__cta-icon:not(.ce-resources-hero__cta-icon--lead) {
transform: translateX(4px);
}
.ce-resources-hero__trust {
display: grid;
grid-template-columns: repeat(3, minmax(0, auto));
justify-content: start;
column-gap: clamp(2rem, 5vw, 3.5rem);
row-gap: 1.25rem;
margin: 0;
padding: 1.5rem 0 0;
list-style: none;
border-top: 1px solid var(--ce-navy-15);
}
.ce-resources-hero__trust-item {
display: flex;
flex-direction: column;
gap: 0.25rem;
}
.ce-resources-hero__trust-num {
font-size: clamp(1.125rem, 1.6vw, 1.375rem);
font-weight: 600;
letter-spacing: -0.02em;
color: var(--ce-navy);
line-height: 1.1;
}
.ce-resources-hero__trust-label {
font-size: 0.75rem;
font-weight: 500;
color: var(--ce-navy-60);
line-height: 1.3;
}
@media (max-width: 1024px) {
.ce-resources-hero { --ce-hero-photo-width: 50%; }
}
@media (max-width: 820px) {
.ce-resources-hero {
--ce-hero-photo-width: 75%;
--ce-hero-photo-opacity: 0.4;
}
}
@media (max-width: 640px) {
.ce-resources-hero {
--ce-hero-photo-width: 100%;
--ce-hero-photo-opacity: 0.18;
}
}
@media (max-width: 540px) {
.ce-resources-hero__trust {
grid-template-columns: repeat(2, minmax(0, auto));
column-gap: 2rem;
}
}
@media (max-width: 420px) {
.ce-resources-hero__cta { width: 100%; }
.ce-resources-hero__cta-group {
flex-direction: column;
align-items: stretch;
}
.ce-resources-hero__heading-strong { white-space: normal; }
}
.ce-resources-essentials,
.ce-resources-essentials * { box-sizing: border-box; }
.ce-resources-essentials {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-navy-04: rgba(3, 41, 95, 0.04);
--ce-crimson: #c7272a;
--ce-crimson-08: rgba(199, 39, 42, 0.08);
--ce-white: #fefefe;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(2.75rem, 4.5vw, 4rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-resources-essentials__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-resources-essentials__header {
max-width: 44rem;
margin: 0 0 clamp(2rem, 3vw, 2.5rem);
}
.ce-resources-essentials__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-resources-essentials__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-resources-essentials__heading {
margin: 0 0 0.625rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.625rem, 3vw, 2.5rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-resources-essentials__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-resources-essentials__intro {
margin: 0;
font-size: clamp(0.9375rem, 1vw, 1.0625rem);
line-height: 1.6;
color: var(--ce-navy-70);
max-width: 40rem;
}
.ce-resources-essentials__grid {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: clamp(1rem, 1.75vw, 1.5rem);
}
.ce-resources-essentials__card {
margin: 0;
background: var(--ce-white);
border: 1px solid var(--ce-navy-10);
border-radius: 6px;
overflow: hidden;
position: relative;
transition: border-color 0.3s var(--ce-ease), transform 0.3s var(--ce-ease), box-shadow 0.3s var(--ce-ease);
}
.ce-resources-essentials__card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: var(--ce-crimson);
transform: scaleX(0);
transform-origin: left center;
transition: transform 0.45s var(--ce-ease);
z-index: 3;
}
.ce-resources-essentials__card:hover {
border-color: var(--ce-navy);
transform: translateY(-3px);
box-shadow: 0 18px 36px -16px rgba(3, 41, 95, 0.22);
}
.ce-resources-essentials__card:hover::before {
transform: scaleX(1);
}
.ce-resources-essentials__card-link {
display: flex;
flex-direction: column;
height: 100%;
text-decoration: none;
color: inherit;
}
.ce-resources-essentials__card-link:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: -2px;
border-radius: 6px;
}
.ce-resources-essentials__card-media {
position: relative;
aspect-ratio: 16 / 10;
overflow: hidden;
background: var(--ce-navy-04);
}
.ce-resources-essentials__card-img {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.6s var(--ce-ease);
}
.ce-resources-essentials__card:hover .ce-resources-essentials__card-img {
transform: scale(1.04);
}
.ce-resources-essentials__card-num {
position: absolute;
top: 0.875rem;
left: 1rem;
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 36px;
height: 36px;
padding: 0 0.625rem;
background: var(--ce-crimson);
color: var(--ce-white);
border-radius: 4px;
font-family: var(--ce-font-serif);
font-weight: 500;
font-style: italic;
font-size: 0.9375rem;
letter-spacing: 0.02em;
z-index: 2;
}
.ce-resources-essentials__card-body {
padding: clamp(1.25rem, 2vw, 1.75rem);
display: flex;
flex-direction: column;
flex-grow: 1;
}
.ce-resources-essentials__card-tag {
display: inline-block;
align-self: flex-start;
margin-bottom: 0.75rem;
padding: 0.3rem 0.625rem;
background: var(--ce-crimson-08);
color: var(--ce-crimson);
border-radius: 4px;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.08em;
text-transform: uppercase;
line-height: 1;
}
.ce-resources-essentials__card-title {
margin: 0 0 0.625rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1rem, 1.2vw, 1.1875rem);
line-height: 1.25;
letter-spacing: -0.015em;
color: var(--ce-navy);
}
.ce-resources-essentials__card-copy {
margin: 0 0 1.25rem;
font-size: 0.875rem;
line-height: 1.55;
color: var(--ce-navy-70);
flex-grow: 1;
}
.ce-resources-essentials__card-cta {
display: inline-flex;
align-items: center;
gap: 0.4375rem;
margin-top: auto;
font-size: 0.8125rem;
font-weight: 600;
color: var(--ce-crimson);
transition: gap 0.25s var(--ce-ease);
}
.ce-resources-essentials__card-cta svg {
width: 12px;
height: 12px;
transition: transform 0.25s var(--ce-ease);
}
.ce-resources-essentials__card:hover .ce-resources-essentials__card-cta {
gap: 0.65rem;
}
.ce-resources-essentials__card:hover .ce-resources-essentials__card-cta svg {
transform: translateX(3px);
}
@media (max-width: 1024px) {
.ce-resources-essentials__grid {
grid-template-columns: 1fr 1fr;
}
.ce-resources-essentials__card:nth-child(3) {
grid-column: 1 / -1;
max-width: 50%;
margin: 0 auto;
}
}
@media (max-width: 720px) {
.ce-resources-essentials__grid {
grid-template-columns: 1fr;
}
.ce-resources-essentials__card:nth-child(3) {
max-width: none;
}
}
.ce-resources-by-case,
.ce-resources-by-case * { box-sizing: border-box; }
.ce-resources-by-case {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-60: rgba(3, 41, 95, 0.60);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-navy-04: rgba(3, 41, 95, 0.04);
--ce-crimson: #c7272a;
--ce-crimson-08: rgba(199, 39, 42, 0.08);
--ce-white: #fefefe;
--ce-cream: #fbf8f3;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(2.75rem, 4.5vw, 4rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-cream);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-resources-by-case__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-resources-by-case__header {
max-width: 44rem;
margin: 0 0 clamp(2rem, 3vw, 2.5rem);
}
.ce-resources-by-case__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-resources-by-case__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-resources-by-case__heading {
margin: 0 0 0.625rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.625rem, 3vw, 2.5rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-resources-by-case__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-resources-by-case__intro {
margin: 0;
font-size: clamp(0.9375rem, 1vw, 1.0625rem);
line-height: 1.6;
color: var(--ce-navy-70);
max-width: 40rem;
}
.ce-resources-by-case__grid {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: clamp(1rem, 1.75vw, 1.5rem);
}
.ce-resources-by-case__card {
background: var(--ce-white);
padding: clamp(1.5rem, 2.5vw, 2rem);
border: 1px solid var(--ce-navy-10);
border-radius: 6px;
border-left: 3px solid var(--ce-crimson);
transition: transform 0.3s var(--ce-ease), box-shadow 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease);
}
.ce-resources-by-case__card:hover {
transform: translateY(-3px);
box-shadow: 0 16px 32px -14px rgba(3, 41, 95, 0.2);
border-color: var(--ce-navy-15);
border-left-color: var(--ce-crimson);
}
.ce-resources-by-case__card-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 44px;
height: 44px;
border-radius: 50%;
background: var(--ce-crimson-08);
color: var(--ce-crimson);
margin-bottom: 1.125rem;
}
.ce-resources-by-case__card-icon svg {
width: 20px;
height: 20px;
}
.ce-resources-by-case__card-title {
margin: 0 0 0.625rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.125rem, 1.4vw, 1.375rem);
line-height: 1.2;
letter-spacing: -0.02em;
color: var(--ce-navy);
}
.ce-resources-by-case__card-copy {
margin: 0 0 1.5rem;
font-size: 0.875rem;
line-height: 1.6;
color: var(--ce-navy-70);
}
.ce-resources-by-case__group {
margin-bottom: 1.125rem;
}
.ce-resources-by-case__group:last-child {
margin-bottom: 0;
}
.ce-resources-by-case__group-label {
display: block;
margin-bottom: 0.5rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--ce-navy-60);
}
.ce-resources-by-case__group-list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 0.4rem;
}
.ce-resources-by-case__group-list li {
margin: 0;
padding: 0;
}
.ce-resources-by-case__group-list a {
display: inline-flex;
align-items: center;
gap: 0.4rem;
padding: 0.25rem 0;
font-size: 0.875rem;
font-weight: 500;
color: var(--ce-navy);
text-decoration: none;
transition: color 0.2s var(--ce-ease), gap 0.2s var(--ce-ease);
}
.ce-resources-by-case__group-list a::before {
content: '';
width: 5px;
height: 5px;
background: var(--ce-crimson);
border-radius: 50%;
flex-shrink: 0;
transition: transform 0.2s var(--ce-ease);
}
.ce-resources-by-case__group-list a:hover,
.ce-resources-by-case__group-list a:focus-visible {
color: var(--ce-crimson);
gap: 0.55rem;
}
.ce-resources-by-case__group-list a:hover::before,
.ce-resources-by-case__group-list a:focus-visible::before {
transform: scale(1.4);
}
.ce-resources-by-case__group-list a:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: 3px;
border-radius: 2px;
}
@media (max-width: 760px) {
.ce-resources-by-case__grid {
grid-template-columns: 1fr;
}
}
.ce-resources-index,
.ce-resources-index * { box-sizing: border-box; }
.ce-resources-index {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-60: rgba(3, 41, 95, 0.60);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-navy-04: rgba(3, 41, 95, 0.04);
--ce-crimson: #c7272a;
--ce-white: #fefefe;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(2.5rem, 4vw, 3.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-resources-index__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-resources-index__header {
max-width: 44rem;
margin: 0 0 clamp(1.75rem, 2.75vw, 2.25rem);
}
.ce-resources-index__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-resources-index__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-resources-index__heading {
margin: 0;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.625rem, 3vw, 2.5rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-resources-index__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-resources-index__groups {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: clamp(1.5rem, 2.5vw, 2rem);
margin-bottom: clamp(1.5rem, 2.25vw, 2rem);
}
.ce-resources-index__group {
padding: clamp(1.25rem, 1.75vw, 1.5rem);
border: 1px solid var(--ce-navy-10);
border-radius: 6px;
background: var(--ce-white);
}
.ce-resources-index__group-title {
margin: 0 0 0.875rem;
padding-bottom: 0.625rem;
border-bottom: 1px solid var(--ce-navy-10);
font-family: var(--ce-font-sans);
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1.3;
}
.ce-resources-index__chips {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-wrap: wrap;
gap: 0.4rem;
}
.ce-resources-index__chips li {
margin: 0;
padding: 0;
}
.ce-resources-index__chip {
display: inline-block;
padding: 0.45rem 0.75rem;
background: var(--ce-white);
border: 1px solid var(--ce-navy-15);
border-radius: 999px;
font-size: 0.8125rem;
font-weight: 500;
color: var(--ce-navy);
text-decoration: none;
line-height: 1.2;
transition: background-color 0.25s var(--ce-ease), border-color 0.25s var(--ce-ease), color 0.25s var(--ce-ease), transform 0.25s var(--ce-ease);
}
.ce-resources-index__chip:hover,
.ce-resources-index__chip:focus-visible {
background: var(--ce-crimson);
border-color: var(--ce-crimson);
color: var(--ce-white);
transform: translateY(-1px);
}
.ce-resources-index__chip:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: 2px;
}
.ce-resources-index__footer {
display: flex;
justify-content: center;
padding-top: clamp(1rem, 1.5vw, 1.25rem);
border-top: 1px solid var(--ce-navy-10);
}
.ce-resources-index__footer-cta {
display: inline-flex;
align-items: center;
gap: 0.5rem;
padding: 0.5rem 0;
font-size: 0.875rem;
font-weight: 600;
color: var(--ce-navy);
text-decoration: none;
border-bottom: 1px solid var(--ce-navy);
transition: color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), gap 0.25s var(--ce-ease);
}
.ce-resources-index__footer-cta svg {
width: 13px;
height: 13px;
transition: transform 0.25s var(--ce-ease);
}
.ce-resources-index__footer-cta:hover,
.ce-resources-index__footer-cta:focus-visible {
color: var(--ce-crimson);
border-color: var(--ce-crimson);
gap: 0.75rem;
}
.ce-resources-index__footer-cta:hover svg,
.ce-resources-index__footer-cta:focus-visible svg {
transform: translateX(3px);
}
.ce-resources-index__footer-cta:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: 3px;
}
@media (max-width: 1024px) {
.ce-resources-index__groups {
grid-template-columns: 1fr;
max-width: 38rem;
}
}
.ce-resources-sources,
.ce-resources-sources * { box-sizing: border-box; }
.ce-resources-sources {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-deep: #021c43;
--ce-crimson: #c7272a;
--ce-crimson-soft: #e8444a;
--ce-white: #fefefe;
--ce-white-90: rgba(254, 254, 254, 0.92);
--ce-white-70: rgba(254, 254, 254, 0.72);
--ce-white-15: rgba(254, 254, 254, 0.15);
--ce-white-08: rgba(254, 254, 254, 0.08);
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(2.75rem, 4.5vw, 4rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
position: relative;
overflow: hidden;
background:
radial-gradient(ellipse 60% 50% at 100% 0%, rgba(199, 39, 42, 0.15) 0%, transparent 60%),
radial-gradient(ellipse 70% 60% at 0% 100%, rgba(10, 53, 115, 0.55) 0%, transparent 65%),
linear-gradient(135deg, var(--ce-navy) 0%, var(--ce-navy-deep) 100%);
color: var(--ce-white-90);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-resources-sources__pulse {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 28px;
opacity: 0.55;
pointer-events: none;
z-index: 1;
}
.ce-resources-sources__pulse svg {
width: 100%;
height: 100%;
display: block;
}
.ce-resources-sources__container {
position: relative;
z-index: 2;
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-resources-sources__header {
max-width: 44rem;
margin: 0 0 clamp(2rem, 3vw, 2.5rem);
}
.ce-resources-sources__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson-soft);
line-height: 1;
}
.ce-resources-sources__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-resources-sources__heading {
margin: 0 0 0.875rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.625rem, 3vw, 2.5rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-white);
}
.ce-resources-sources__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-white-70);
}
.ce-resources-sources__intro {
margin: 0;
font-size: clamp(0.9375rem, 1vw, 1.0625rem);
line-height: 1.6;
color: var(--ce-white-70);
max-width: 40rem;
}
.ce-resources-sources__grid {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: clamp(1rem, 1.5vw, 1.5rem);
}
.ce-resources-sources__item {
background: rgba(254, 254, 254, 0.04);
padding: clamp(1.25rem, 2vw, 1.625rem);
border-radius: 6px;
border: 1px solid var(--ce-white-08);
display: flex;
flex-direction: column;
transition: background-color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), transform 0.3s var(--ce-ease);
}
.ce-resources-sources__item:hover {
background: rgba(254, 254, 254, 0.07);
border-color: var(--ce-white-15);
transform: translateY(-2px);
}
.ce-resources-sources__item-mark {
display: inline-flex;
align-items: center;
justify-content: center;
width: 40px;
height: 40px;
border-radius: 50%;
background: var(--ce-crimson);
color: var(--ce-white);
margin-bottom: 1rem;
flex-shrink: 0;
}
.ce-resources-sources__item-mark svg {
width: 18px;
height: 18px;
}
.ce-resources-sources__item-title {
margin: 0 0 0.5rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(0.9375rem, 1.1vw, 1.0625rem);
line-height: 1.25;
letter-spacing: -0.015em;
color: var(--ce-white);
}
.ce-resources-sources__item-copy {
margin: 0 0 1rem;
font-size: 0.8125rem;
line-height: 1.55;
color: var(--ce-white-70);
flex-grow: 1;
}
.ce-resources-sources__item-link {
display: inline-flex;
align-items: center;
gap: 0.4375rem;
align-self: flex-start;
margin-top: auto;
font-size: 0.75rem;
font-weight: 600;
color: var(--ce-crimson-soft);
text-decoration: none;
letter-spacing: 0.02em;
transition: color 0.25s var(--ce-ease), gap 0.25s var(--ce-ease);
}
.ce-resources-sources__item-link svg {
width: 11px;
height: 11px;
transition: transform 0.25s var(--ce-ease);
}
.ce-resources-sources__item-link:hover,
.ce-resources-sources__item-link:focus-visible {
color: var(--ce-white);
gap: 0.625rem;
}
.ce-resources-sources__item-link:hover svg,
.ce-resources-sources__item-link:focus-visible svg {
transform: translate(2px, -2px);
}
.ce-resources-sources__item-link:focus-visible {
outline: 2px solid var(--ce-crimson-soft);
outline-offset: 3px;
}
@media (max-width: 1024px) {
.ce-resources-sources__grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 540px) {
.ce-resources-sources__grid {
grid-template-columns: 1fr;
}
}
.ce-resources-explore,
.ce-resources-explore * { box-sizing: border-box; }
.ce-resources-explore {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-navy-04: rgba(3, 41, 95, 0.04);
--ce-crimson: #c7272a;
--ce-white: #fefefe;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(2.75rem, 4.5vw, 4rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-resources-explore__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-resources-explore__header {
max-width: 44rem;
margin: 0 0 clamp(1.75rem, 2.75vw, 2.25rem);
}
.ce-resources-explore__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-resources-explore__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-resources-explore__heading {
margin: 0;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.625rem, 3vw, 2.5rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-resources-explore__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-resources-explore__grid {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: clamp(1rem, 1.5vw, 1.25rem);
}
.ce-resources-explore__card {
margin: 0;
background: var(--ce-white);
border: 1px solid var(--ce-navy-10);
border-radius: 6px;
overflow: hidden;
position: relative;
transition: border-color 0.3s var(--ce-ease), transform 0.3s var(--ce-ease), box-shadow 0.3s var(--ce-ease);
}
.ce-resources-explore__card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: var(--ce-crimson);
transform: scaleX(0);
transform-origin: left center;
transition: transform 0.45s var(--ce-ease);
}
.ce-resources-explore__card:hover {
border-color: var(--ce-navy);
transform: translateY(-3px);
box-shadow: 0 16px 32px -14px rgba(3, 41, 95, 0.2);
}
.ce-resources-explore__card:hover::before {
transform: scaleX(1);
}
.ce-resources-explore__card-link {
display: flex;
flex-direction: column;
height: 100%;
padding: clamp(1.5rem, 2vw, 1.875rem);
text-decoration: none;
color: inherit;
}
.ce-resources-explore__card-link:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: -2px;
border-radius: 6px;
}
.ce-resources-explore__card-num {
display: inline-block;
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
font-size: 0.875rem;
color: var(--ce-crimson);
margin-bottom: 0.875rem;
letter-spacing: 0.02em;
}
.ce-resources-explore__card-title {
margin: 0 0 0.5rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(0.9375rem, 1.1vw, 1.0625rem);
line-height: 1.25;
letter-spacing: -0.015em;
color: var(--ce-navy);
}
.ce-resources-explore__card-copy {
margin: 0 0 1rem;
font-size: 0.8125rem;
line-height: 1.55;
color: var(--ce-navy-70);
flex-grow: 1;
}
.ce-resources-explore__card-cta {
display: inline-flex;
align-items: center;
gap: 0.375rem;
margin-top: auto;
font-size: 0.75rem;
font-weight: 600;
color: var(--ce-crimson);
transition: gap 0.25s var(--ce-ease);
}
.ce-resources-explore__card-cta svg {
width: 11px;
height: 11px;
transition: transform 0.25s var(--ce-ease);
}
.ce-resources-explore__card:hover .ce-resources-explore__card-cta {
gap: 0.55rem;
}
.ce-resources-explore__card:hover .ce-resources-explore__card-cta svg {
transform: translateX(3px);
}
@media (max-width: 1024px) {
.ce-resources-explore__grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 540px) {
.ce-resources-explore__grid {
grid-template-columns: 1fr;
}
}
.ce-resources-cta,
.ce-resources-cta * { box-sizing: border-box; }
.ce-resources-cta {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-deep: #021c43;
--ce-crimson: #c7272a;
--ce-white: #fefefe;
--ce-white-90: rgba(254, 254, 254, 0.92);
--ce-white-70: rgba(254, 254, 254, 0.72);
--ce-white-25: rgba(254, 254, 254, 0.25);
--ce-white-15: rgba(254, 254, 254, 0.15);
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(2.75rem, 4.5vw, 4rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1100px;
position: relative;
overflow: hidden;
background: var(--ce-crimson);
color: var(--ce-white);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-resources-cta__pulse {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 32px;
pointer-events: none;
opacity: 0.6;
z-index: 1;
}
.ce-resources-cta__pulse svg {
width: 100%;
height: 100%;
display: block;
}
.ce-resources-cta__container {
position: relative;
z-index: 2;
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-resources-cta__content {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
}
.ce-resources-cta__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.625rem;
margin-bottom: 1rem;
font-size: 0.75rem;
font-weight: 600;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--ce-white);
line-height: 1;
}
.ce-resources-cta__eyebrow-mark {
width: 24px;
height: 1px;
background: currentColor;
}
.ce-resources-cta__heading {
margin: 0 0 1rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.75rem, 3.4vw, 2.875rem);
line-height: 1.05;
letter-spacing: -0.025em;
color: var(--ce-white);
max-width: 24ch;
}
.ce-resources-cta__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-white);
background-image: linear-gradient(to top, rgba(254, 254, 254, 0.25) 12%, transparent 12%, transparent 100%);
}
.ce-resources-cta__sub {
margin: 0 0 clamp(1.5rem, 2.5vw, 2rem);
max-width: 40rem;
font-size: clamp(0.9375rem, 1.05vw, 1.0625rem);
line-height: 1.55;
color: var(--ce-white-90);
}
.ce-resources-cta__actions {
display: flex;
flex-wrap: wrap;
align-items: stretch;
justify-content: center;
gap: 0.75rem;
margin-bottom: clamp(1.25rem, 2vw, 1.5rem);
}
.ce-resources-cta__btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.625rem;
padding: 1rem 1.625rem;
border: 1.5px solid transparent;
border-radius: 6px;
font-family: inherit;
text-decoration: none;
cursor: pointer;
transition: transform 0.35s var(--ce-ease), background-color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), color 0.3s var(--ce-ease), box-shadow 0.4s var(--ce-ease);
min-width: 200px;
font-size: 0.9375rem;
font-weight: 600;
letter-spacing: -0.005em;
line-height: 1;
}
.ce-resources-cta__btn-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 18px;
height: 18px;
flex-shrink: 0;
transition: transform 0.35s var(--ce-ease);
}
.ce-resources-cta__btn-icon svg {
width: 100%;
height: 100%;
}
.ce-resources-cta__btn--primary {
background: var(--ce-navy);
color: var(--ce-white);
box-shadow: 0 1px 0 rgba(255,255,255,0.12) inset, 0 6px 16px -6px rgba(2, 28, 67, 0.5);
}
.ce-resources-cta__btn--primary:hover,
.ce-resources-cta__btn--primary:focus-visible {
background: var(--ce-navy-deep);
transform: translateY(-2px);
box-shadow: 0 1px 0 rgba(255,255,255,0.15) inset, 0 12px 24px -8px rgba(2, 28, 67, 0.6);
}
.ce-resources-cta__btn--primary:hover .ce-resources-cta__btn-icon:not(.ce-resources-cta__btn-icon--lead) {
transform: translateX(4px);
}
.ce-resources-cta__btn--secondary {
background: transparent;
color: var(--ce-white);
border-color: rgba(254, 254, 254, 0.45);
}
.ce-resources-cta__btn--secondary:hover,
.ce-resources-cta__btn--secondary:focus-visible {
background: var(--ce-white);
color: var(--ce-crimson);
border-color: var(--ce-white);
transform: translateY(-2px);
}
.ce-resources-cta__btn:focus-visible {
outline: 2px solid var(--ce-white);
outline-offset: 3px;
}
.ce-resources-cta__trust {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
gap: 0.5rem 1rem;
margin: 0;
font-size: 0.8125rem;
font-weight: 500;
color: var(--ce-white-70);
}
.ce-resources-cta__trust-item {
display: inline-flex;
align-items: center;
gap: 0.4rem;
line-height: 1.3;
}
.ce-resources-cta__trust-item svg {
width: 13px;
height: 13px;
flex-shrink: 0;
color: var(--ce-white);
}
.ce-resources-cta__trust-divider {
width: 1px;
height: 14px;
background: var(--ce-white-25);
}
@media (max-width: 760px) {
.ce-resources-cta__btn {
min-width: 0;
flex: 1 1 100%;
max-width: 360px;
}
}
@media (max-width: 540px) {
.ce-resources-cta__actions {
flex-direction: column;
align-items: stretch;
width: 100%;
max-width: 360px;
}
.ce-resources-cta__btn {
max-width: 100%;
}
}
@media (max-width: 420px) {
.ce-resources-cta__trust-divider {
display: none;
}
.ce-resources-cta__trust {
flex-direction: column;
gap: 0.4rem;
}
}
.ce-resources-hero [data-animate],
.ce-resources-essentials [data-animate],
.ce-resources-by-case [data-animate],
.ce-resources-index [data-animate],
.ce-resources-sources [data-animate],
.ce-resources-explore [data-animate],
.ce-resources-cta [data-animate] {
opacity: 0;
transform: translateY(20px);
transition: opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1), transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
}
.ce-resources-hero [data-animate="visual"] {
transform: none;
transition: opacity 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}
.ce-resources-hero [data-animate].is-visible,
.ce-resources-essentials [data-animate].is-visible,
.ce-resources-by-case [data-animate].is-visible,
.ce-resources-index [data-animate].is-visible,
.ce-resources-sources [data-animate].is-visible,
.ce-resources-explore [data-animate].is-visible,
.ce-resources-cta [data-animate].is-visible {
opacity: 1;
transform: translate(0, 0);
}
@media (prefers-reduced-motion: reduce) {
.ce-resources-hero [data-animate],
.ce-resources-essentials [data-animate],
.ce-resources-by-case [data-animate],
.ce-resources-index [data-animate],
.ce-resources-sources [data-animate],
.ce-resources-explore [data-animate],
.ce-resources-cta [data-animate] {
opacity: 1 !important;
transform: none !important;
transition: none !important;
}
}
.ce-instruct-hero,
.ce-instruct-hero * { box-sizing: border-box; }
.ce-instruct-hero {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-60: rgba(3, 41, 95, 0.60);
--ce-navy-40: rgba(3, 41, 95, 0.40);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-08: rgba(3, 41, 95, 0.08);
--ce-navy-04: rgba(3, 41, 95, 0.04);
--ce-crimson: #c7272a;
--ce-crimson-90: rgba(199, 39, 42, 0.92);
--ce-crimson-15: rgba(199, 39, 42, 0.15);
--ce-white: #fefefe;
--ce-radius-sm: 8px;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-hero-photo-opacity: 1;
--ce-hero-photo-offset-x: 20%;
--ce-hero-photo-width: 55%;
--ce-hero-photo-tint: 0.55;
--ce-hero-photo-saturation: 0.85;
--ce-pad-y: clamp(3.5rem, 6vw, 5.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
position: relative;
isolation: isolate;
overflow: hidden;
padding: var(--ce-pad-y) 0;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.ce-instruct-hero__bg {
position: absolute;
inset: 0;
z-index: -3;
pointer-events: none;
overflow: hidden;
}
.ce-instruct-hero__mesh {
position: absolute;
inset: 0;
background:
radial-gradient(ellipse 75% 60% at 5% 95%, var(--ce-navy-08) 0%, transparent 65%),
radial-gradient(ellipse 50% 40% at 30% 50%, var(--ce-navy-04) 0%, transparent 70%),
radial-gradient(ellipse 60% 80% at 92% 50%, rgba(3, 41, 95, 0.06) 0%, transparent 65%),
var(--ce-white);
}
.ce-instruct-hero__pulse-wrap {
position: absolute;
left: 0;
right: 0;
top: 72%;
height: 32%;
transform: translateY(-50%);
opacity: 0.7;
-webkit-mask-image: linear-gradient(to right, #000 0%, #000 25%, rgba(0,0,0,0.35) 50%, transparent 72%);
mask-image: linear-gradient(to right, #000 0%, #000 25%, rgba(0,0,0,0.35) 50%, transparent 72%);
}
.ce-instruct-hero__pulse { width: 100%; height: 100%; display: block; }
.ce-instruct-hero__visual {
position: absolute;
top: 0;
right: 0;
bottom: 0;
width: var(--ce-hero-photo-width);
max-width: 880px;
z-index: -1;
pointer-events: none;
overflow: hidden;
opacity: var(--ce-hero-photo-opacity);
}
.ce-instruct-hero__visual-wash {
position: absolute;
inset: 0;
background: linear-gradient(to right, transparent 0%, rgba(3, 41, 95, 0.015) 25%, rgba(3, 41, 95, 0.04) 45%, rgba(3, 41, 95, 0.07) 65%, rgba(3, 41, 95, 0.10) 85%, rgba(3, 41, 95, 0.13) 100%);
}
.ce-instruct-hero__visual-inner {
position: absolute;
inset: 0;
transform: scale(1.02);
opacity: 0;
transition: opacity 1.2s var(--ce-ease);
}
.ce-instruct-hero__visual-inner.is-visible { opacity: 1; }
.ce-instruct-hero__photo {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center right;
transform: translateX(var(--ce-hero-photo-offset-x));
-webkit-mask-image:
linear-gradient(to right, transparent 0%, rgba(0,0,0,0.02) 5%, rgba(0,0,0,0.08) 14%, rgba(0,0,0,0.20) 24%, rgba(0,0,0,0.38) 35%, rgba(0,0,0,0.58) 47%, rgba(0,0,0,0.78) 60%, rgba(0,0,0,0.92) 75%, #000 90%, #000 100%),
linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.6) 6%, #000 14%, #000 86%, rgba(0,0,0,0.6) 94%, transparent 100%);
mask-image:
linear-gradient(to right, transparent 0%, rgba(0,0,0,0.02) 5%, rgba(0,0,0,0.08) 14%, rgba(0,0,0,0.20) 24%, rgba(0,0,0,0.38) 35%, rgba(0,0,0,0.58) 47%, rgba(0,0,0,0.78) 60%, rgba(0,0,0,0.92) 75%, #000 90%, #000 100%),
linear-gradient(to bottom, transparent 0%, rgba(0,0,0,0.6) 6%, #000 14%, #000 86%, rgba(0,0,0,0.6) 94%, transparent 100%);
-webkit-mask-composite: source-in;
mask-composite: intersect;
filter: saturate(var(--ce-hero-photo-saturation)) contrast(1.12) brightness(1.08);
}
.ce-instruct-hero__visual::after {
content: '';
position: absolute;
inset: 0;
opacity: var(--ce-hero-photo-tint);
background:
linear-gradient(115deg, rgba(3, 41, 95, 0.42) 0%, rgba(3, 41, 95, 0.20) 35%, rgba(3, 41, 95, 0.08) 60%, rgba(3, 41, 95, 0.05) 100%),
radial-gradient(ellipse at 100% 50%, rgba(199, 39, 42, 0.06), transparent 60%);
pointer-events: none;
-webkit-mask-image: linear-gradient(to right, transparent 0%, transparent 22%, rgba(0,0,0,0.05) 35%, rgba(0,0,0,0.25) 55%, rgba(0,0,0,0.6) 75%, #000 95%);
mask-image: linear-gradient(to right, transparent 0%, transparent 22%, rgba(0,0,0,0.05) 35%, rgba(0,0,0,0.25) 55%, rgba(0,0,0,0.6) 75%, #000 95%);
}
.ce-instruct-hero__container {
position: relative;
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-instruct-hero__content {
position: relative;
max-width: 38rem;
}
.ce-instruct-hero__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.625rem;
margin-bottom: 1.25rem;
font-size: 0.75rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-instruct-hero__eyebrow-mark {
width: 24px;
height: 1px;
background: currentColor;
flex-shrink: 0;
}
.ce-instruct-hero__heading {
margin: 0 0 clamp(1.25rem, 2.5vw, 1.75rem);
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(2rem, 5vw, 4rem);
line-height: 1.04;
letter-spacing: -0.035em;
color: var(--ce-navy);
}
.ce-instruct-hero__heading-row { display: block; }
.ce-instruct-hero__heading-row--accent {
margin-top: 0.18em;
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
font-size: 0.75em;
letter-spacing: -0.02em;
}
.ce-instruct-hero__heading-em { color: var(--ce-navy-60); }
.ce-instruct-hero__heading-strong {
position: relative;
color: var(--ce-crimson);
font-style: italic;
font-weight: 500;
white-space: nowrap;
}
.ce-instruct-hero__heading-strong::after {
content: '';
position: absolute;
left: 0;
right: 0;
bottom: 0.05em;
height: 0.42em;
background: var(--ce-crimson-15);
z-index: -1;
border-radius: 2px;
transform: skewX(-6deg);
}
.ce-instruct-hero__sub {
max-width: 36rem;
margin: 0 0 clamp(1.75rem, 3vw, 2.25rem);
font-size: clamp(0.9375rem, 1.15vw, 1.125rem);
line-height: 1.65;
color: var(--ce-navy-70);
}
.ce-instruct-hero__cta-group {
display: flex;
flex-wrap: wrap;
gap: 0.875rem;
margin-bottom: clamp(2rem, 3.5vw, 2.75rem);
}
.ce-instruct-hero__cta {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.625rem;
padding: 1.05rem 1.625rem;
border: 1px solid transparent;
border-radius: var(--ce-radius-sm);
font-family: inherit;
font-size: 0.9375rem;
font-weight: 500;
letter-spacing: -0.005em;
line-height: 1;
text-decoration: none;
cursor: pointer;
transition: transform 0.4s var(--ce-ease), background-color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), color 0.3s var(--ce-ease), box-shadow 0.4s var(--ce-ease);
}
.ce-instruct-hero__cta--primary {
background: var(--ce-crimson);
color: var(--ce-white);
box-shadow: 0 1px 0 rgba(255,255,255,0.15) inset, 0 8px 20px -8px var(--ce-crimson-90), 0 2px 4px var(--ce-navy-08);
}
.ce-instruct-hero__cta--primary:hover,
.ce-instruct-hero__cta--primary:focus-visible {
transform: translateY(-2px);
background: #b21f22;
box-shadow: 0 1px 0 rgba(255,255,255,0.18) inset, 0 14px 28px -10px var(--ce-crimson-90), 0 4px 8px var(--ce-navy-08);
}
.ce-instruct-hero__cta--secondary {
background: rgba(254, 254, 254, 0.7);
color: var(--ce-navy);
border-color: var(--ce-navy-15);
backdrop-filter: blur(6px);
-webkit-backdrop-filter: blur(6px);
}
.ce-instruct-hero__cta--secondary:hover,
.ce-instruct-hero__cta--secondary:focus-visible {
transform: translateY(-2px);
background: var(--ce-navy);
color: var(--ce-white);
border-color: var(--ce-navy);
box-shadow: 0 12px 24px -10px var(--ce-navy-40);
}
.ce-instruct-hero__cta:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: 3px;
}
.ce-instruct-hero__cta-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 18px;
height: 18px;
transition: transform 0.4s var(--ce-ease);
}
.ce-instruct-hero__cta-icon svg { width: 100%; height: 100%; }
.ce-instruct-hero__cta--primary:hover .ce-instruct-hero__cta-icon:not(.ce-instruct-hero__cta-icon--lead) {
transform: translateX(4px);
}
.ce-instruct-hero__trust {
display: grid;
grid-template-columns: repeat(3, minmax(0, auto));
justify-content: start;
column-gap: clamp(2rem, 5vw, 3.5rem);
row-gap: 1.25rem;
margin: 0;
padding: 1.5rem 0 0;
list-style: none;
border-top: 1px solid var(--ce-navy-15);
}
.ce-instruct-hero__trust-item {
display: flex;
flex-direction: column;
gap: 0.25rem;
}
.ce-instruct-hero__trust-num {
font-size: clamp(1.125rem, 1.6vw, 1.375rem);
font-weight: 600;
letter-spacing: -0.02em;
color: var(--ce-navy);
line-height: 1.1;
}
.ce-instruct-hero__trust-label {
font-size: 0.75rem;
font-weight: 500;
color: var(--ce-navy-60);
line-height: 1.3;
}
@media (max-width: 1024px) {
.ce-instruct-hero { --ce-hero-photo-width: 50%; }
}
@media (max-width: 820px) {
.ce-instruct-hero {
--ce-hero-photo-width: 75%;
--ce-hero-photo-opacity: 0.4;
}
}
@media (max-width: 640px) {
.ce-instruct-hero {
--ce-hero-photo-width: 100%;
--ce-hero-photo-opacity: 0.18;
}
}
@media (max-width: 540px) {
.ce-instruct-hero__trust {
grid-template-columns: repeat(2, minmax(0, auto));
column-gap: 2rem;
}
}
@media (max-width: 420px) {
.ce-instruct-hero__cta { width: 100%; }
.ce-instruct-hero__cta-group {
flex-direction: column;
align-items: stretch;
}
.ce-instruct-hero__heading-strong { white-space: normal; }
}
.ce-instruct-step,
.ce-instruct-step * { box-sizing: border-box; }
.ce-instruct-step {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-60: rgba(3, 41, 95, 0.60);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-navy-08: rgba(3, 41, 95, 0.08);
--ce-navy-04: rgba(3, 41, 95, 0.04);
--ce-crimson: #c7272a;
--ce-crimson-15: rgba(199, 39, 42, 0.15);
--ce-crimson-08: rgba(199, 39, 42, 0.08);
--ce-white: #fefefe;
--ce-cream: #fbf8f3;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(2.75rem, 4.5vw, 4rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1200px;
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
position: relative;
}
.ce-instruct-step--odd  { background: var(--ce-white); }
.ce-instruct-step--even { background: var(--ce-cream); }
.ce-instruct-step__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-instruct-step__layout {
display: grid;
grid-template-columns: 84px 1fr;
gap: clamp(1.5rem, 3vw, 2.5rem);
align-items: start;
}
.ce-instruct-step__marker {
position: relative;
display: flex;
flex-direction: column;
align-items: center;
}
.ce-instruct-step__num {
display: inline-flex;
align-items: center;
justify-content: center;
width: 64px;
height: 64px;
border-radius: 50%;
background: var(--ce-white);
border: 2px solid var(--ce-crimson);
color: var(--ce-crimson);
font-family: var(--ce-font-serif);
font-weight: 500;
font-style: italic;
font-size: 1.375rem;
letter-spacing: 0.02em;
box-shadow: 0 8px 20px -10px rgba(199, 39, 42, 0.4);
flex-shrink: 0;
position: relative;
z-index: 2;
}
.ce-instruct-step__connector {
width: 2px;
flex-grow: 1;
min-height: 80px;
background: linear-gradient(to bottom, var(--ce-crimson) 0%, var(--ce-crimson) 40%, transparent 100%);
opacity: 0.35;
margin-top: 0.5rem;
}
.ce-instruct-step__connector--last {
background: linear-gradient(to bottom, var(--ce-crimson) 0%, transparent 100%);
opacity: 0.2;
min-height: 40px;
}
.ce-instruct-step__content {
min-width: 0;
}
.ce-instruct-step__header {
margin-bottom: clamp(1.5rem, 2.5vw, 2rem);
max-width: 44rem;
}
.ce-instruct-step__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.75rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-instruct-step__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-instruct-step__heading {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.125rem);
line-height: 1.15;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-instruct-step__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-instruct-step__intro {
margin: 0;
font-size: clamp(0.9375rem, 1.05vw, 1.0625rem);
line-height: 1.6;
color: var(--ce-navy-70);
max-width: 42rem;
}
.ce-instruct-step__body {
display: grid;
grid-template-columns: 1fr 1fr;
gap: clamp(1rem, 2vw, 1.75rem);
}
.ce-instruct-step__body--three {
grid-template-columns: repeat(3, 1fr);
}
.ce-instruct-step__panel {
background: var(--ce-white);
padding: clamp(1.25rem, 2vw, 1.75rem);
border: 1px solid var(--ce-navy-10);
border-radius: 6px;
transition: transform 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), box-shadow 0.3s var(--ce-ease);
}
.ce-instruct-step--odd .ce-instruct-step__panel {
background: var(--ce-cream);
}
.ce-instruct-step__panel:hover {
transform: translateY(-2px);
border-color: var(--ce-navy-15);
box-shadow: 0 12px 28px -14px rgba(3, 41, 95, 0.2);
}
.ce-instruct-step__panel-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 38px;
height: 38px;
border-radius: 50%;
background: var(--ce-crimson-08);
color: var(--ce-crimson);
margin-bottom: 0.875rem;
}
.ce-instruct-step__panel-icon svg {
width: 18px;
height: 18px;
}
.ce-instruct-step__panel-title {
margin: 0 0 0.875rem;
padding-bottom: 0.625rem;
border-bottom: 1px solid var(--ce-navy-10);
font-family: var(--ce-font-sans);
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1.3;
}
.ce-instruct-step__copy {
margin: 0 0 0.875rem;
font-size: 0.875rem;
line-height: 1.6;
color: var(--ce-navy-70);
}
.ce-instruct-step__list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 0.75rem;
}
.ce-instruct-step__list li {
margin: 0;
padding: 0;
}
.ce-instruct-step__list strong {
display: block;
font-family: var(--ce-font-sans);
font-size: 0.875rem;
font-weight: 600;
color: var(--ce-navy);
margin-bottom: 0.125rem;
letter-spacing: -0.01em;
}
.ce-instruct-step__list span {
display: block;
font-size: 0.8125rem;
line-height: 1.55;
color: var(--ce-navy-70);
}
.ce-instruct-step__inline-link {
display: inline-flex;
align-items: center;
gap: 0.375rem;
margin-top: 0.25rem;
font-size: 0.8125rem;
font-weight: 600;
color: var(--ce-crimson);
text-decoration: none;
transition: gap 0.25s var(--ce-ease);
}
.ce-instruct-step__inline-link svg {
width: 12px;
height: 12px;
transition: transform 0.25s var(--ce-ease);
}
.ce-instruct-step__inline-link:hover,
.ce-instruct-step__inline-link:focus-visible {
gap: 0.55rem;
}
.ce-instruct-step__inline-link:hover svg,
.ce-instruct-step__inline-link:focus-visible svg {
transform: translateX(3px);
}
.ce-instruct-step__inline-link:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: 3px;
border-radius: 2px;
}
.ce-instruct-step__inline-link--strong {
font-size: 0.9375rem;
padding: 0.5rem 0;
border-bottom: 1px solid var(--ce-crimson);
}
.ce-instruct-step__cta-strip {
margin-top: clamp(1.25rem, 2vw, 1.75rem);
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 0.75rem 1rem;
}
.ce-instruct-step__cta {
display: inline-flex;
align-items: center;
gap: 0.5rem;
padding: 0.7rem 1.125rem;
background: var(--ce-navy);
color: var(--ce-white);
border-radius: 6px;
font-size: 0.875rem;
font-weight: 600;
text-decoration: none;
letter-spacing: -0.005em;
transition: background-color 0.25s var(--ce-ease), transform 0.25s var(--ce-ease), box-shadow 0.3s var(--ce-ease);
}
.ce-instruct-step__cta svg {
width: 13px;
height: 13px;
transition: transform 0.25s var(--ce-ease);
}
.ce-instruct-step__cta:hover,
.ce-instruct-step__cta:focus-visible {
background: #021c43;
transform: translateY(-2px);
box-shadow: 0 10px 22px -10px rgba(3, 41, 95, 0.55);
}
.ce-instruct-step__cta:hover svg,
.ce-instruct-step__cta:focus-visible svg {
transform: translateX(3px);
}
.ce-instruct-step__cta:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: 3px;
}
.ce-instruct-step__cta-meta {
font-size: 0.75rem;
font-weight: 500;
color: var(--ce-navy-60);
letter-spacing: 0.005em;
}
@media (max-width: 900px) {
.ce-instruct-step__layout {
grid-template-columns: 64px 1fr;
gap: 1.25rem;
}
.ce-instruct-step__num {
width: 56px;
height: 56px;
font-size: 1.125rem;
}
.ce-instruct-step__body {
grid-template-columns: 1fr;
}
.ce-instruct-step__body--three {
grid-template-columns: 1fr;
}
}
@media (max-width: 540px) {
.ce-instruct-step__layout {
grid-template-columns: 48px 1fr;
gap: 1rem;
}
.ce-instruct-step__num {
width: 44px;
height: 44px;
font-size: 0.9375rem;
}
}
.ce-instruct-feature,
.ce-instruct-feature * { box-sizing: border-box; }
.ce-instruct-feature {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-deep: #021c43;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-60: rgba(3, 41, 95, 0.60);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-navy-08: rgba(3, 41, 95, 0.08);
--ce-navy-04: rgba(3, 41, 95, 0.04);
--ce-crimson: #c7272a;
--ce-crimson-15: rgba(199, 39, 42, 0.15);
--ce-white: #fefefe;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(3rem, 5vw, 4.5rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1320px;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-instruct-feature__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-instruct-feature__layout {
display: grid;
grid-template-columns: 5fr 6fr;
gap: clamp(2rem, 4vw, 3.5rem);
align-items: center;
}
.ce-instruct-feature--reverse .ce-instruct-feature__layout {
grid-template-columns: 6fr 5fr;
}
.ce-instruct-feature--reverse .ce-instruct-feature__media {
order: 2;
}
.ce-instruct-feature--reverse .ce-instruct-feature__content {
order: 1;
}
.ce-instruct-feature__media {
position: relative;
aspect-ratio: 4 / 3;
overflow: hidden;
border-radius: 8px;
border: 1px solid var(--ce-navy-10);
box-shadow: 0 24px 48px -24px rgba(3, 41, 95, 0.25);
}
.ce-instruct-feature__img {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 1s var(--ce-ease);
filter: saturate(0.9) contrast(1.05);
}
.ce-instruct-feature__media:hover .ce-instruct-feature__img {
transform: scale(1.03);
}
.ce-instruct-feature__media-tag {
position: absolute;
bottom: 1rem;
left: 1rem;
padding: 0.5rem 0.875rem;
background: rgba(3, 41, 95, 0.92);
color: var(--ce-white);
border-radius: 4px;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.12em;
text-transform: uppercase;
line-height: 1;
backdrop-filter: blur(4px);
z-index: 2;
}
.ce-instruct-feature__content {
min-width: 0;
}
.ce-instruct-feature__header {
margin-bottom: clamp(1.25rem, 2vw, 1.75rem);
}
.ce-instruct-feature__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-instruct-feature__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-instruct-feature__heading {
margin: 0 0 0.75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.8vw, 2.25rem);
line-height: 1.1;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-instruct-feature__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-instruct-feature__intro {
margin: 0;
font-size: clamp(0.9375rem, 1.05vw, 1.0625rem);
line-height: 1.6;
color: var(--ce-navy-70);
}
.ce-instruct-feature__list {
list-style: none;
margin: 0 0 clamp(1.5rem, 2.5vw, 2rem);
padding: 0;
display: flex;
flex-direction: column;
gap: 1rem;
}
.ce-instruct-feature__list-item {
display: flex;
align-items: flex-start;
gap: 0.875rem;
padding-bottom: 1rem;
border-bottom: 1px solid var(--ce-navy-10);
}
.ce-instruct-feature__list-item:last-child {
padding-bottom: 0;
border-bottom: 0;
}
.ce-instruct-feature__list-mark {
flex-shrink: 0 !important;
display: grid !important;
place-items: center !important;
width: 24px !important;
height: 24px !important;
border-radius: 50% !important;
background: var(--ce-crimson) !important;
color: var(--ce-white) !important;
margin-top: 2px;
padding: 0 !important;
line-height: 0 !important;
}
.ce-instruct-feature__list-mark svg {
display: block !important;
width: 12px !important;
height: 12px !important;
overflow: visible !important;
margin: 0 !important;
padding: 0 !important;
}
.ce-instruct-feature__list-item strong {
display: block;
font-family: var(--ce-font-sans);
font-size: 0.9375rem;
font-weight: 600;
color: var(--ce-navy);
margin-bottom: 0.2rem;
letter-spacing: -0.01em;
}
.ce-instruct-feature__list-item span {
display: block;
font-size: 0.8125rem;
line-height: 1.55;
color: var(--ce-navy-70);
}
.ce-instruct-feature__cta {
display: flex;
flex-wrap: wrap;
gap: 0.75rem;
}
.ce-instruct-feature__btn {
display: inline-flex;
align-items: center;
gap: 0.5rem;
padding: 0.85rem 1.375rem;
border-radius: 6px;
font-family: inherit;
font-size: 0.875rem;
font-weight: 600;
letter-spacing: -0.005em;
line-height: 1;
text-decoration: none;
cursor: pointer;
border: 1px solid transparent;
transition: background-color 0.3s var(--ce-ease), color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), transform 0.3s var(--ce-ease), box-shadow 0.3s var(--ce-ease);
}
.ce-instruct-feature__btn svg {
width: 13px;
height: 13px;
transition: transform 0.25s var(--ce-ease);
}
.ce-instruct-feature__btn--primary {
background: var(--ce-crimson);
color: var(--ce-white);
box-shadow: 0 1px 0 rgba(255,255,255,0.15) inset, 0 6px 16px -8px rgba(199, 39, 42, 0.6);
}
.ce-instruct-feature__btn--primary:hover,
.ce-instruct-feature__btn--primary:focus-visible {
background: #b21f22;
transform: translateY(-2px);
box-shadow: 0 1px 0 rgba(255,255,255,0.18) inset, 0 12px 24px -10px rgba(199, 39, 42, 0.7);
}
.ce-instruct-feature__btn--primary:hover svg,
.ce-instruct-feature__btn--primary:focus-visible svg {
transform: translateX(3px);
}
.ce-instruct-feature__btn--ghost {
background: transparent;
color: var(--ce-navy);
border-color: var(--ce-navy-15);
}
.ce-instruct-feature__btn--ghost:hover,
.ce-instruct-feature__btn--ghost:focus-visible {
background: var(--ce-navy);
color: var(--ce-white);
border-color: var(--ce-navy);
transform: translateY(-2px);
}
.ce-instruct-feature__btn:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: 3px;
}
@media (max-width: 900px) {
.ce-instruct-feature__layout,
.ce-instruct-feature--reverse .ce-instruct-feature__layout {
grid-template-columns: 1fr;
gap: 2rem;
}
.ce-instruct-feature--reverse .ce-instruct-feature__media {
order: 0;
}
.ce-instruct-feature--reverse .ce-instruct-feature__content {
order: 0;
}
.ce-instruct-feature__media {
aspect-ratio: 16 / 10;
max-width: 100%;
}
}
.ce-instruct-cta,
.ce-instruct-cta * { box-sizing: border-box; }
.ce-instruct-cta {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-deep: #021c43;
--ce-crimson: #c7272a;
--ce-white: #fefefe;
--ce-white-90: rgba(254, 254, 254, 0.92);
--ce-white-70: rgba(254, 254, 254, 0.72);
--ce-white-25: rgba(254, 254, 254, 0.25);
--ce-white-15: rgba(254, 254, 254, 0.15);
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(2.75rem, 4.5vw, 4rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1100px;
position: relative;
overflow: hidden;
background: var(--ce-crimson);
color: var(--ce-white);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-instruct-cta__pulse {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 32px;
pointer-events: none;
opacity: 0.6;
z-index: 1;
}
.ce-instruct-cta__pulse svg {
width: 100%;
height: 100%;
display: block;
}
.ce-instruct-cta__container {
position: relative;
z-index: 2;
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-instruct-cta__content {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
}
.ce-instruct-cta__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.625rem;
margin-bottom: 1rem;
font-size: 0.75rem;
font-weight: 600;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--ce-white);
line-height: 1;
}
.ce-instruct-cta__eyebrow-mark {
width: 24px;
height: 1px;
background: currentColor;
}
.ce-instruct-cta__heading {
margin: 0 0 1rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.75rem, 3.4vw, 2.875rem);
line-height: 1.05;
letter-spacing: -0.025em;
color: var(--ce-white);
max-width: 24ch;
}
.ce-instruct-cta__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-white);
background-image: linear-gradient(to top, rgba(254, 254, 254, 0.25) 12%, transparent 12%, transparent 100%);
}
.ce-instruct-cta__sub {
margin: 0 0 clamp(1.5rem, 2.5vw, 2rem);
max-width: 40rem;
font-size: clamp(0.9375rem, 1.05vw, 1.0625rem);
line-height: 1.55;
color: var(--ce-white-90);
}
.ce-instruct-cta__actions {
display: flex;
flex-wrap: wrap;
align-items: stretch;
justify-content: center;
gap: 0.75rem;
margin-bottom: clamp(1.25rem, 2vw, 1.5rem);
}
.ce-instruct-cta__btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 0.625rem;
padding: 1rem 1.625rem;
border: 1.5px solid transparent;
border-radius: 6px;
font-family: inherit;
text-decoration: none;
cursor: pointer;
transition: transform 0.35s var(--ce-ease), background-color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), color 0.3s var(--ce-ease), box-shadow 0.4s var(--ce-ease);
min-width: 200px;
font-size: 0.9375rem;
font-weight: 600;
letter-spacing: -0.005em;
line-height: 1;
}
.ce-instruct-cta__btn-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 18px;
height: 18px;
flex-shrink: 0;
transition: transform 0.35s var(--ce-ease);
}
.ce-instruct-cta__btn-icon svg {
width: 100%;
height: 100%;
}
.ce-instruct-cta__btn--primary {
background: var(--ce-navy);
color: var(--ce-white);
box-shadow: 0 1px 0 rgba(255,255,255,0.12) inset, 0 6px 16px -6px rgba(2, 28, 67, 0.5);
}
.ce-instruct-cta__btn--primary:hover,
.ce-instruct-cta__btn--primary:focus-visible {
background: var(--ce-navy-deep);
transform: translateY(-2px);
box-shadow: 0 1px 0 rgba(255,255,255,0.15) inset, 0 12px 24px -8px rgba(2, 28, 67, 0.6);
}
.ce-instruct-cta__btn--primary:hover .ce-instruct-cta__btn-icon:not(.ce-instruct-cta__btn-icon--lead) {
transform: translateX(4px);
}
.ce-instruct-cta__btn--secondary {
background: transparent;
color: var(--ce-white);
border-color: rgba(254, 254, 254, 0.45);
}
.ce-instruct-cta__btn--secondary:hover,
.ce-instruct-cta__btn--secondary:focus-visible {
background: var(--ce-white);
color: var(--ce-crimson);
border-color: var(--ce-white);
transform: translateY(-2px);
}
.ce-instruct-cta__btn:focus-visible {
outline: 2px solid var(--ce-white);
outline-offset: 3px;
}
.ce-instruct-cta__trust {
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
gap: 0.5rem 1rem;
margin: 0;
font-size: 0.8125rem;
font-weight: 500;
color: var(--ce-white-70);
}
.ce-instruct-cta__trust-item {
display: inline-flex;
align-items: center;
gap: 0.4rem;
line-height: 1.3;
}
.ce-instruct-cta__trust-item svg {
width: 13px;
height: 13px;
flex-shrink: 0;
color: var(--ce-white);
}
.ce-instruct-cta__trust-divider {
width: 1px;
height: 14px;
background: var(--ce-white-25);
}
@media (max-width: 760px) {
.ce-instruct-cta__btn {
min-width: 0;
flex: 1 1 100%;
max-width: 360px;
}
}
@media (max-width: 540px) {
.ce-instruct-cta__actions {
flex-direction: column;
align-items: stretch;
width: 100%;
max-width: 360px;
}
.ce-instruct-cta__btn {
max-width: 100%;
}
}
@media (max-width: 420px) {
.ce-instruct-cta__trust-divider {
display: none;
}
.ce-instruct-cta__trust {
flex-direction: column;
gap: 0.4rem;
}
}
.ce-instruct-hero [data-animate],
.ce-instruct-step [data-animate],
.ce-instruct-feature [data-animate],
.ce-instruct-cta [data-animate] {
opacity: 0;
transform: translateY(20px);
transition: opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1), transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
}
.ce-instruct-hero [data-animate="visual"] {
transform: none;
transition: opacity 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}
.ce-instruct-hero [data-animate].is-visible,
.ce-instruct-step [data-animate].is-visible,
.ce-instruct-feature [data-animate].is-visible,
.ce-instruct-cta [data-animate].is-visible {
opacity: 1;
transform: translate(0, 0);
}
@media (prefers-reduced-motion: reduce) {
.ce-instruct-hero [data-animate],
.ce-instruct-step [data-animate],
.ce-instruct-feature [data-animate],
.ce-instruct-cta [data-animate] {
opacity: 1 !important;
transform: none !important;
transition: none !important;
}
}
.ce-contact-hero,
.ce-contact-hero * { box-sizing: border-box; }
.ce-contact-hero {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-60: rgba(3, 41, 95, 0.60);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-08: rgba(3, 41, 95, 0.08);
--ce-navy-04: rgba(3, 41, 95, 0.04);
--ce-crimson: #c7272a;
--ce-crimson-15: rgba(199, 39, 42, 0.15);
--ce-white: #fefefe;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-top: clamp(2.25rem, 4vw, 3.5rem);
--ce-pad-bottom: clamp(1.5rem, 2.5vw, 2.25rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1100px;
position: relative;
isolation: isolate;
overflow: hidden;
padding: var(--ce-pad-top) 0 var(--ce-pad-bottom);
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
text-align: center;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.ce-contact-hero__bg {
position: absolute;
inset: 0;
z-index: -1;
pointer-events: none;
overflow: hidden;
}
.ce-contact-hero__mesh {
position: absolute;
inset: 0;
background:
radial-gradient(ellipse 70% 50% at 50% 100%, var(--ce-navy-08) 0%, transparent 70%),
radial-gradient(ellipse 80% 50% at 50% 0%, var(--ce-navy-04) 0%, transparent 70%),
var(--ce-white);
}
.ce-contact-hero__pulse-wrap {
position: absolute;
left: 0;
right: 0;
top: 50%;
transform: translateY(-50%);
height: 32%;
opacity: 0.42;
pointer-events: none;
-webkit-mask-image: linear-gradient(to right, transparent 0%, #000 22%, #000 78%, transparent 100%);
mask-image: linear-gradient(to right, transparent 0%, #000 22%, #000 78%, transparent 100%);
}
.ce-contact-hero__pulse { width: 100%; height: 100%; display: block; }
.ce-contact-hero__container {
position: relative;
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-contact-hero__heading {
margin: 0 auto 1.75rem;
font-family: var(--ce-font-sans);
font-weight: 700;
font-size: clamp(2.25rem, 6vw, 4.5rem);
line-height: 1;
letter-spacing: -0.04em;
color: var(--ce-navy);
max-width: 100%;
}
.ce-contact-hero__heading-row {
display: block;
}
.ce-contact-hero__heading-row--accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-crimson);
margin-top: 0.1em;
}
.ce-contact-hero__sub {
margin: 0 auto;
max-width: 38rem;
font-size: clamp(0.9375rem, 1.1vw, 1.0625rem);
line-height: 1.6;
color: var(--ce-navy-70);
}
.ce-contact-hero__sub-link {
font-weight: 600;
color: var(--ce-navy);
text-decoration: none;
border-bottom: 1px solid var(--ce-crimson);
transition: color 0.25s var(--ce-ease);
}
.ce-contact-hero__sub-link:hover,
.ce-contact-hero__sub-link:focus-visible {
color: var(--ce-crimson);
}
.ce-contact-hero__chips {
list-style: none !important;
margin: 1.75rem 0 0 !important;
padding: 0 !important;
display: flex !important;
flex-wrap: wrap;
justify-content: center !important;
align-items: center !important;
gap: 0.5rem;
text-align: center !important;
}
.ce-contact-hero__chips li {
list-style: none !important;
margin: 0 !important;
padding: 0 !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
width: auto !important;
text-indent: 0 !important;
}
.ce-contact-hero__chips li::before,
.ce-contact-hero__chips li::after,
.ce-contact-hero__chips li::marker {
content: none !important;
display: none !important;
}
.ce-contact-hero__chip {
box-sizing: border-box;
display: flex !important;
align-items: center !important;
justify-content: center !important;
min-width: 180px;
min-height: 2.5rem;
padding: 0.65rem 1.25rem !important;
font-size: 0.9rem;
font-weight: 500;
line-height: 1.2 !important;
text-align: center !important;
text-indent: 0 !important;
white-space: nowrap;
background: var(--ce-navy-04);
color: var(--ce-navy);
border: 1px solid var(--ce-navy-15);
border-radius: 999px;
}
.ce-contact-hero__chip * {
margin: 0 !important;
padding: 0 !important;
text-align: center !important;
text-indent: 0 !important;
}
.ce-contact-form,
.ce-contact-form * { box-sizing: border-box; }
.ce-contact-form {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-deep: #021c43;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-60: rgba(3, 41, 95, 0.60);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-navy-08: rgba(3, 41, 95, 0.08);
--ce-navy-04: rgba(3, 41, 95, 0.04);
--ce-crimson: #c7272a;
--ce-crimson-15: rgba(199, 39, 42, 0.15);
--ce-crimson-08: rgba(199, 39, 42, 0.08);
--ce-white: #fefefe;
--ce-cream: #fbf8f3;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-top: clamp(1rem, 2vw, 1.75rem);
--ce-pad-bottom: clamp(2.75rem, 4.5vw, 4rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1280px;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-top) 0 var(--ce-pad-bottom);
}
.ce-contact-form__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-contact-form__grid {
display: grid;
grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
gap: clamp(1.25rem, 2.5vw, 2.25rem);
align-items: start;
}
.ce-contact-form__main {
background: var(--ce-white);
border: 1px solid var(--ce-navy-10);
border-radius: 10px;
padding: clamp(1.5rem, 2.75vw, 2.5rem);
position: relative;
box-shadow: 0 24px 48px -28px rgba(3, 41, 95, 0.18);
}
.ce-contact-form__main::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: var(--ce-crimson);
border-radius: 10px 10px 0 0;
}
.ce-contact-form__header {
margin-bottom: clamp(1.25rem, 2vw, 1.75rem);
}
.ce-contact-form__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.75rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-contact-form__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-contact-form__heading {
margin: 0 0 0.625rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.375rem, 2.4vw, 1.875rem);
line-height: 1.15;
letter-spacing: -0.02em;
color: var(--ce-navy);
}
.ce-contact-form__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-contact-form__intro {
margin: 0;
font-size: 0.9375rem;
line-height: 1.55;
color: var(--ce-navy-70);
max-width: 38rem;
}
.ce-contact-form__shortcode-wrap {
margin: clamp(1.25rem, 2vw, 1.75rem) 0;
}
.ce-contact-form__shortcode-wrap .forminator-ui {
font-family: var(--ce-font-sans) !important;
}
.ce-contact-form__shortcode-wrap .forminator-button-submit,
.ce-contact-form__shortcode-wrap button[type="submit"] {
font-family: var(--ce-font-sans) !important;
font-weight: 600 !important;
letter-spacing: -0.005em !important;
}
.ce-contact-form__legal {
margin: clamp(1rem, 1.75vw, 1.5rem) 0 0;
padding-top: clamp(1rem, 1.5vw, 1.25rem);
border-top: 1px solid var(--ce-navy-10);
font-size: 0.75rem;
line-height: 1.55;
color: var(--ce-navy-60);
}
.ce-contact-form__aside {
position: sticky;
top: 120px;
}
.ce-contact-form__aside-card {
background:
radial-gradient(ellipse 80% 60% at 100% 0%, rgba(199, 39, 42, 0.15) 0%, transparent 60%),
radial-gradient(ellipse 70% 60% at 0% 100%, rgba(10, 53, 115, 0.55) 0%, transparent 65%),
linear-gradient(135deg, var(--ce-navy) 0%, var(--ce-navy-deep) 100%);
color: var(--ce-white);
padding: clamp(1.5rem, 2.5vw, 2rem);
border-radius: 10px;
box-shadow: 0 24px 48px -24px rgba(3, 41, 95, 0.35);
position: relative;
overflow: hidden;
}
.ce-contact-form__aside-card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: var(--ce-crimson);
border-radius: 10px 10px 0 0;
}
.ce-contact-form__aside-title {
margin: 0 0 0.625rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: 1.25rem;
line-height: 1.2;
letter-spacing: -0.015em;
color: var(--ce-white);
}
.ce-contact-form__aside-copy {
margin: 0 0 1.25rem;
font-size: 0.875rem;
line-height: 1.55;
color: rgba(254, 254, 254, 0.78);
}
.ce-contact-form__aside-phone {
display: flex;
align-items: center;
gap: 0.875rem;
padding: 1rem 1.125rem;
margin-bottom: 1.5rem;
background: var(--ce-crimson);
color: var(--ce-white);
border-radius: 8px;
text-decoration: none;
transition: transform 0.3s var(--ce-ease), background-color 0.3s var(--ce-ease), box-shadow 0.3s var(--ce-ease);
box-shadow: 0 8px 20px -10px rgba(199, 39, 42, 0.6);
}
.ce-contact-form__aside-phone:hover,
.ce-contact-form__aside-phone:focus-visible {
transform: translateY(-2px);
background: #b21f22;
box-shadow: 0 14px 28px -12px rgba(199, 39, 42, 0.75);
}
.ce-contact-form__aside-phone:focus-visible {
outline: 2px solid var(--ce-white);
outline-offset: 3px;
}
.ce-contact-form__aside-phone-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 36px;
height: 36px;
border-radius: 50%;
background: rgba(254, 254, 254, 0.18);
color: var(--ce-white);
flex-shrink: 0;
}
.ce-contact-form__aside-phone-icon svg {
width: 16px;
height: 16px;
}
.ce-contact-form__aside-phone-label {
display: flex;
flex-direction: column;
gap: 0.125rem;
line-height: 1.2;
}
.ce-contact-form__aside-phone-meta {
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.1em;
text-transform: uppercase;
color: rgba(254, 254, 254, 0.75);
}
.ce-contact-form__aside-phone-num {
font-size: 1.125rem;
font-weight: 600;
letter-spacing: -0.01em;
color: var(--ce-white);
}
.ce-contact-form__aside-meta-list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 1rem;
}
.ce-contact-form__aside-meta-list li {
margin: 0;
padding: 0;
display: grid;
grid-template-columns: 32px 1fr;
align-items: start;
gap: 0.875rem;
}
.ce-contact-form__aside-meta-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 32px;
height: 32px;
border-radius: 50%;
background: rgba(254, 254, 254, 0.08);
color: rgba(254, 254, 254, 0.92);
margin-top: 2px;
flex-shrink: 0;
}
.ce-contact-form__aside-meta-icon svg {
width: 14px;
height: 14px;
}
.ce-contact-form__aside-meta-list li > span:not(.ce-contact-form__aside-meta-icon) {
display: flex;
flex-direction: column;
gap: 0.2rem;
}
.ce-contact-form__aside-meta-list strong {
font-family: var(--ce-font-sans);
font-size: 0.8125rem;
font-weight: 600;
color: var(--ce-white);
line-height: 1.3;
letter-spacing: -0.005em;
}
.ce-contact-form__aside-meta-list span > span {
font-size: 0.8125rem;
line-height: 1.45;
color: rgba(254, 254, 254, 0.7);
}
.ce-contact-form__aside-meta-list a {
font-size: 0.8125rem;
line-height: 1.45;
color: rgba(254, 254, 254, 0.85);
text-decoration: none;
border-bottom: 1px solid rgba(254, 254, 254, 0.2);
transition: color 0.25s var(--ce-ease), border-color 0.25s var(--ce-ease);
word-break: break-word;
}
.ce-contact-form__aside-meta-list a:hover,
.ce-contact-form__aside-meta-list a:focus-visible {
color: var(--ce-white);
border-color: var(--ce-crimson);
}
@media (max-width: 1024px) {
.ce-contact-form__grid {
grid-template-columns: 1fr;
}
.ce-contact-form__aside {
position: static;
max-width: 36rem;
}
}
@media (max-width: 540px) {
.ce-contact-form__aside-phone-num {
font-size: 1rem;
}
}
.ce-contact-alt,
.ce-contact-alt * { box-sizing: border-box; }
.ce-contact-alt {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-navy-08: rgba(3, 41, 95, 0.08);
--ce-crimson: #c7272a;
--ce-crimson-08: rgba(199, 39, 42, 0.08);
--ce-crimson-15: rgba(199, 39, 42, 0.15);
--ce-white: #fefefe;
--ce-cream: #fbf8f3;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(2.75rem, 4.5vw, 4rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1280px;
background: var(--ce-cream);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-contact-alt__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-contact-alt__header {
max-width: 44rem;
margin: 0 0 clamp(1.75rem, 2.75vw, 2.25rem);
}
.ce-contact-alt__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-contact-alt__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-contact-alt__heading {
margin: 0;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.625rem, 3vw, 2.5rem);
line-height: 1.12;
letter-spacing: -0.028em;
color: var(--ce-navy);
max-width: 24ch;
}
.ce-contact-alt__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-contact-alt__grid {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: clamp(1rem, 1.75vw, 1.5rem);
}
.ce-contact-alt__card {
margin: 0;
padding: clamp(1.5rem, 2.5vw, 2rem);
background: var(--ce-white);
border: 1px solid var(--ce-navy-10);
border-radius: 8px;
display: flex;
flex-direction: column;
transition: transform 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), box-shadow 0.3s var(--ce-ease);
position: relative;
}
.ce-contact-alt__card:hover {
transform: translateY(-3px);
border-color: var(--ce-navy);
box-shadow: 0 18px 36px -16px rgba(3, 41, 95, 0.22);
}
.ce-contact-alt__card-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 48px;
height: 48px;
border-radius: 50%;
background: var(--ce-crimson-08);
color: var(--ce-crimson);
margin-bottom: 1rem;
transition: background-color 0.3s var(--ce-ease), transform 0.3s var(--ce-ease);
}
.ce-contact-alt__card:hover .ce-contact-alt__card-icon {
transform: scale(1.05);
}
.ce-contact-alt__card-icon svg {
width: 22px;
height: 22px;
}
.ce-contact-alt__card-tag {
display: inline-block;
align-self: flex-start;
margin-bottom: 0.625rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-contact-alt__card-title {
margin: 0 0 0.625rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.125rem, 1.35vw, 1.3125rem);
line-height: 1.2;
letter-spacing: -0.02em;
color: var(--ce-navy);
}
.ce-contact-alt__card-copy {
margin: 0 0 1.25rem;
font-size: 0.875rem;
line-height: 1.55;
color: var(--ce-navy-70);
flex-grow: 1;
}
.ce-contact-alt__card-link {
display: inline-flex;
align-items: center;
gap: 0.5rem;
align-self: flex-start;
margin-top: auto;
padding: 0.5rem 0;
font-size: 0.9375rem;
font-weight: 600;
color: var(--ce-navy);
text-decoration: none;
border-bottom: 1px solid var(--ce-navy);
transition: color 0.3s var(--ce-ease), border-color 0.3s var(--ce-ease), gap 0.25s var(--ce-ease);
word-break: break-word;
}
.ce-contact-alt__card-link svg {
width: 13px;
height: 13px;
transition: transform 0.25s var(--ce-ease);
flex-shrink: 0;
}
.ce-contact-alt__card-link:hover,
.ce-contact-alt__card-link:focus-visible {
color: var(--ce-crimson);
border-color: var(--ce-crimson);
gap: 0.65rem;
}
.ce-contact-alt__card-link:hover svg,
.ce-contact-alt__card-link:focus-visible svg {
transform: translateX(3px);
}
.ce-contact-alt__card-link:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: 3px;
}
@media (max-width: 900px) {
.ce-contact-alt__grid {
grid-template-columns: 1fr;
max-width: 38rem;
}
}
.ce-contact-trust,
.ce-contact-trust * { box-sizing: border-box; }
.ce-contact-trust {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-deep: #021c43;
--ce-crimson: #c7272a;
--ce-crimson-soft: #e8444a;
--ce-white: #fefefe;
--ce-white-90: rgba(254, 254, 254, 0.92);
--ce-white-70: rgba(254, 254, 254, 0.72);
--ce-white-15: rgba(254, 254, 254, 0.15);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(2rem, 3vw, 2.75rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1280px;
position: relative;
overflow: hidden;
background:
radial-gradient(ellipse 60% 50% at 100% 0%, rgba(199, 39, 42, 0.12) 0%, transparent 60%),
radial-gradient(ellipse 70% 60% at 0% 100%, rgba(10, 53, 115, 0.5) 0%, transparent 65%),
linear-gradient(135deg, var(--ce-navy) 0%, var(--ce-navy-deep) 100%);
color: var(--ce-white);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-contact-trust__pulse {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 24px;
opacity: 0.55;
pointer-events: none;
z-index: 1;
}
.ce-contact-trust__pulse svg {
width: 100%;
height: 100%;
display: block;
}
.ce-contact-trust__container {
position: relative;
z-index: 2;
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-contact-trust__list {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: clamp(1rem, 2vw, 2rem);
align-items: center;
}
.ce-contact-trust__item {
margin: 0;
padding: 0 clamp(0.5rem, 1.5vw, 1.25rem);
text-align: center;
position: relative;
display: flex;
flex-direction: column;
align-items: center;
gap: 0.25rem;
}
.ce-contact-trust__item + .ce-contact-trust__item::before {
content: '';
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 1px;
height: 60%;
background: var(--ce-white-15);
}
.ce-contact-trust__num {
font-family: var(--ce-font-serif);
font-weight: 500;
font-size: clamp(1.5rem, 2.2vw, 1.875rem);
line-height: 1;
letter-spacing: -0.015em;
color: var(--ce-white);
}
.ce-contact-trust__label {
font-size: 0.75rem;
font-weight: 500;
letter-spacing: 0.02em;
color: var(--ce-white-70);
line-height: 1.4;
}
@media (max-width: 760px) {
.ce-contact-trust__list {
grid-template-columns: 1fr 1fr;
gap: 1.25rem 1rem;
}
.ce-contact-trust__item + .ce-contact-trust__item::before {
display: none;
}
}
@media (max-width: 380px) {
.ce-contact-trust__list {
grid-template-columns: 1fr;
}
}
.ce-contact-explore,
.ce-contact-explore * { box-sizing: border-box; }
.ce-contact-explore {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-10: rgba(3, 41, 95, 0.10);
--ce-crimson: #c7272a;
--ce-white: #fefefe;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(2.75rem, 4.5vw, 4rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1280px;
background: var(--ce-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
.ce-contact-explore__container {
width: 100%;
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
}
.ce-contact-explore__header {
max-width: 44rem;
margin: 0 0 clamp(1.75rem, 2.75vw, 2.25rem);
}
.ce-contact-explore__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.875rem;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: var(--ce-crimson);
line-height: 1;
}
.ce-contact-explore__eyebrow-mark {
width: 20px;
height: 1px;
background: currentColor;
}
.ce-contact-explore__heading {
margin: 0;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.5rem, 2.6vw, 2.125rem);
line-height: 1.15;
letter-spacing: -0.025em;
color: var(--ce-navy);
}
.ce-contact-explore__heading-accent {
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
color: var(--ce-navy-70);
}
.ce-contact-explore__grid {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: clamp(1rem, 1.75vw, 1.5rem);
}
.ce-contact-explore__card {
margin: 0;
background: var(--ce-white);
border: 1px solid var(--ce-navy-10);
border-radius: 6px;
overflow: hidden;
position: relative;
transition: border-color 0.3s var(--ce-ease), transform 0.3s var(--ce-ease), box-shadow 0.3s var(--ce-ease);
}
.ce-contact-explore__card::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: var(--ce-crimson);
transform: scaleX(0);
transform-origin: left center;
transition: transform 0.45s var(--ce-ease);
}
.ce-contact-explore__card:hover {
border-color: var(--ce-navy);
transform: translateY(-3px);
box-shadow: 0 16px 32px -14px rgba(3, 41, 95, 0.2);
}
.ce-contact-explore__card:hover::before {
transform: scaleX(1);
}
.ce-contact-explore__card-link {
display: flex;
flex-direction: column;
height: 100%;
padding: clamp(1.5rem, 2.25vw, 2rem);
text-decoration: none;
color: inherit;
}
.ce-contact-explore__card-link:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: -2px;
border-radius: 6px;
}
.ce-contact-explore__card-num {
display: inline-block;
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
font-size: 0.875rem;
color: var(--ce-crimson);
margin-bottom: 0.875rem;
letter-spacing: 0.02em;
}
.ce-contact-explore__card-title {
margin: 0 0 0.625rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.0625rem, 1.3vw, 1.25rem);
line-height: 1.2;
letter-spacing: -0.02em;
color: var(--ce-navy);
}
.ce-contact-explore__card-copy {
margin: 0 0 1.25rem;
font-size: 0.875rem;
line-height: 1.55;
color: var(--ce-navy-70);
flex-grow: 1;
}
.ce-contact-explore__card-cta {
display: inline-flex;
align-items: center;
gap: 0.4375rem;
margin-top: auto;
font-size: 0.8125rem;
font-weight: 600;
color: var(--ce-crimson);
transition: gap 0.25s var(--ce-ease);
}
.ce-contact-explore__card-cta svg {
width: 12px;
height: 12px;
transition: transform 0.25s var(--ce-ease);
}
.ce-contact-explore__card:hover .ce-contact-explore__card-cta {
gap: 0.65rem;
}
.ce-contact-explore__card:hover .ce-contact-explore__card-cta svg {
transform: translateX(3px);
}
@media (max-width: 900px) {
.ce-contact-explore__grid {
grid-template-columns: 1fr;
max-width: 38rem;
}
}
.ce-contact-hero [data-animate],
.ce-contact-form [data-animate],
.ce-contact-alt [data-animate],
.ce-contact-trust [data-animate],
.ce-contact-explore [data-animate] {
opacity: 0;
transform: translateY(20px);
transition: opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1), transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
}
.ce-contact-hero [data-animate].is-visible,
.ce-contact-form [data-animate].is-visible,
.ce-contact-alt [data-animate].is-visible,
.ce-contact-trust [data-animate].is-visible,
.ce-contact-explore [data-animate].is-visible {
opacity: 1;
transform: translate(0, 0);
}
@media (prefers-reduced-motion: reduce) {
.ce-contact-hero [data-animate],
.ce-contact-form [data-animate],
.ce-contact-alt [data-animate],
.ce-contact-trust [data-animate],
.ce-contact-explore [data-animate] {
opacity: 1 !important;
transform: none !important;
transition: none !important;
}
}
.ce-thanks-page,
.ce-thanks-page * {
box-sizing: border-box;
}
.ce-thanks-page {
width: 100%;
overflow-x: hidden;
font-family: "Inter Tight", "Inter", Arial, sans-serif;
color: #03295f;
background: #fefefe;
}
.ce-thanks-container {
width: min(1180px, calc(100% - 40px));
margin: 0 auto;
}
.ce-thanks-hero {
position: relative;
min-height: 640px;
display: flex;
align-items: center;
justify-content: center;
padding: 90px 20px;
text-align: center;
background:
radial-gradient(circle at top, rgba(199, 39, 42, 0.08), transparent 38%),
linear-gradient(to bottom, #ffffff 0%, #f8fbff 100%);
overflow: hidden;
}
.ce-thanks-hero__inner {
position: relative;
z-index: 2;
width: min(760px, 100%);
margin: 0 auto;
}
.ce-thanks-success {
display: flex;
align-items: center;
justify-content: center;
gap: 14px;
margin-bottom: 90px;
}
.ce-thanks-success__circle {
width: 122px;
height: 122px;
border-radius: 50%;
background: #c7272a;
color: #ffffff;
display: flex;
align-items: center;
justify-content: center;
border: 6px solid rgba(199, 39, 42, 0.22);
box-shadow: 0 18px 35px rgba(199, 39, 42, 0.22);
}
.ce-thanks-success__circle span {
font-size: 54px;
line-height: 1;
font-weight: 500;
}
.ce-thanks-success__label {
display: flex;
align-items: center;
gap: 12px;
color: #c7272a;
font-size: 12px;
font-weight: 700;
letter-spacing: 0.22em;
text-transform: uppercase;
}
.ce-thanks-success__label span {
width: 28px;
height: 1px;
background: #c7272a;
}
.ce-thanks-hero__title {
margin: 0 0 28px;
font-size: clamp(40px, 5vw, 68px);
line-height: 1.02;
letter-spacing: -0.04em;
font-weight: 700;
color: #03295f;
}
.ce-thanks-hero__title em {
display: block;
font-family: Georgia, serif;
font-weight: 400;
color: #c7272a;
letter-spacing: -0.03em;
}
.ce-thanks-hero__text {
width: min(680px, 100%);
margin: 0 auto;
font-size: 17px;
line-height: 1.75;
color: rgba(3, 41, 95, 0.72);
}
.ce-thanks-ecg {
position: absolute;
left: 0;
right: 0;
bottom: 105px;
z-index: 1;
height: 220px;
opacity: 0.18;
pointer-events: none;
}
.ce-thanks-ecg svg {
width: 100%;
height: 100%;
display: block;
}
.ce-thanks-ecg path {
fill: none;
stroke: #c7272a;
stroke-width: 2;
}
.ce-thanks-section {
padding: 80px 0;
}
.ce-thanks-section__header {
max-width: 680px;
margin-bottom: 38px;
}
.ce-thanks-eyebrow {
display: inline-flex;
align-items: center;
gap: 12px;
margin-bottom: 16px;
color: #c7272a;
font-size: 12px;
font-weight: 700;
letter-spacing: 0.2em;
text-transform: uppercase;
}
.ce-thanks-eyebrow span {
width: 28px;
height: 1px;
background: currentColor;
}
.ce-thanks-section__header h2,
.ce-thanks-contact h2 {
margin: 0;
font-size: clamp(28px, 3vw, 42px);
line-height: 1.15;
letter-spacing: -0.03em;
color: #03295f;
}
.ce-thanks-section__header h2 em,
.ce-thanks-contact h2 em {
font-family: Georgia, serif;
font-weight: 400;
color: rgba(3, 41, 95, 0.72);
}
.ce-thanks-next {
background: #fbf8f3;
}
.ce-thanks-cards {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
}
.ce-thanks-card {
min-height: 260px;
padding: 34px;
background: #ffffff;
border: 1px solid rgba(3, 41, 95, 0.1);
border-radius: 10px;
}
.ce-thanks-card strong {
display: block;
margin-bottom: 18px;
font-family: Georgia, serif;
font-size: 42px;
font-weight: 400;
color: #c7272a;
}
.ce-thanks-card small {
display: inline-block;
margin-bottom: 16px;
padding: 7px 10px;
background: rgba(199, 39, 42, 0.08);
color: #c7272a;
border-radius: 4px;
font-size: 11px;
font-weight: 700;
letter-spacing: 0.13em;
text-transform: uppercase;
}
.ce-thanks-card h3 {
margin: 0 0 12px;
font-size: 22px;
color: #03295f;
}
.ce-thanks-card p {
margin: 0;
font-size: 15px;
line-height: 1.65;
color: rgba(3, 41, 95, 0.72);
}
.ce-thanks-wait {
background: #ffffff;
}
.ce-thanks-links {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 24px;
}
.ce-thanks-link-card {
min-height: 245px;
display: flex;
flex-direction: column;
padding: 34px;
background: #ffffff;
border: 1px solid rgba(3, 41, 95, 0.1);
border-radius: 10px;
color: #03295f;
text-decoration: none;
}
.ce-thanks-link-card strong {
margin-bottom: 18px;
font-family: Georgia, serif;
font-size: 18px;
color: #c7272a;
}
.ce-thanks-link-card h3 {
margin: 0 0 12px;
font-size: 21px;
}
.ce-thanks-link-card p {
margin: 0 0 24px;
font-size: 15px;
line-height: 1.6;
color: rgba(3, 41, 95, 0.72);
}
.ce-thanks-link-card span {
margin-top: auto;
color: #c7272a;
font-weight: 700;
}
.ce-thanks-contact {
padding: 76px 0;
background: linear-gradient(135deg, #03295f, #021c43);
color: #ffffff;
}
.ce-thanks-contact__inner {
width: min(1180px, calc(100% - 40px));
margin: 0 auto;
display: grid;
grid-template-columns: 1.2fr 1fr;
gap: 44px;
align-items: center;
}
.ce-thanks-eyebrow--light {
color: #ffffff;
}
.ce-thanks-contact h2 {
color: #ffffff;
margin-bottom: 18px;
}
.ce-thanks-contact h2 em {
color: rgba(255, 255, 255, 0.82);
}
.ce-thanks-contact p {
max-width: 520px;
margin: 0;
color: rgba(255, 255, 255, 0.72);
font-size: 16px;
line-height: 1.65;
}
.ce-thanks-contact__actions {
display: flex;
flex-direction: column;
gap: 14px;
}
.ce-thanks-phone,
.ce-thanks-email {
display: flex;
align-items: center;
text-decoration: none;
border-radius: 10px;
}
.ce-thanks-phone {
gap: 16px;
padding: 20px 24px;
background: #c7272a;
color: #ffffff;
}
.ce-thanks-phone span {
width: 44px;
height: 44px;
border-radius: 50%;
display: grid;
place-items: center;
background: rgba(255, 255, 255, 0.16);
}
.ce-thanks-phone strong {
font-size: 22px;
}
.ce-thanks-email {
padding: 18px 22px;
background: rgba(255, 255, 255, 0.08);
color: #ffffff;
border: 1px solid rgba(255, 255, 255, 0.14);
}
@media (max-width: 900px) {
.ce-thanks-hero {
min-height: auto;
padding: 70px 20px;
}
.ce-thanks-success {
margin-bottom: 60px;
}
.ce-thanks-cards,
.ce-thanks-links,
.ce-thanks-contact__inner {
grid-template-columns: 1fr;
}
.ce-thanks-section__header {
margin-left: auto;
margin-right: auto;
text-align: center;
}
.ce-thanks-eyebrow {
justify-content: center;
}
.ce-thanks-contact__inner {
text-align: center;
}
.ce-thanks-contact p {
margin-left: auto;
margin-right: auto;
}
.ce-thanks-contact__actions {
width: min(480px, 100%);
margin: 0 auto;
}
}
@media (max-width: 520px) {
.ce-thanks-container,
.ce-thanks-contact__inner {
width: min(100% - 28px, 1180px);
}
.ce-thanks-success {
flex-direction: column;
gap: 18px;
}
.ce-thanks-success__label {
justify-content: center;
}
.ce-thanks-success__circle {
width: 96px;
height: 96px;
}
.ce-thanks-success__circle span {
font-size: 42px;
}
.ce-thanks-card,
.ce-thanks-link-card {
padding: 26px;
}
.ce-thanks-phone {
justify-content: center;
}
.ce-thanks-email {
justify-content: center;
text-align: center;
word-break: break-word;
}
}
.ce-reports-hero__eyebrow,
.ce-conditions-hero__eyebrow,
.ce-solicitors-hero__eyebrow,
.ce-experts-hero__eyebrow,
.ce-resources-hero__eyebrow,
.ce-instruct-hero__eyebrow,
.ce-expert-page-hero__eyebrow,
.ce-sol-page-hero__eyebrow,
.ce-condition-hero__eyebrow {
display: none !important;
}
.ce-report-hero__crumbs,
.ce-condition-hero__crumbs,
.ce-solicitors-hero__crumbs,
.ce-sol-page-hero__crumbs,
.ce-experts-hero__crumbs,
.ce-expert-page-hero__crumbs {
margin: 0 !important;
padding: 0 !important;
min-height: 0 !important;
}
.ce-report-hero__heading,
.ce-condition-hero__heading,
.ce-solicitors-hero__heading,
.ce-sol-page-hero__heading,
.ce-experts-hero__heading,
.ce-expert-page-hero__heading {
margin-top: 0 !important;
padding-top: 0 !important;
}
.ce-instruct-step__panel-icon svg {
display: none;
}
.ce-instruct-step__panel-icon::before {
content: "";
width: 0.42rem;
height: 0.78rem;
border-right: 2px solid currentColor;
border-bottom: 2px solid currentColor;
transform: rotate(45deg);
display: block;
}
.ce-legal-hero,
.ce-legal {
--ce-navy:        #03295f;
--ce-navy-90:     rgba(3, 41, 95, 0.90);
--ce-navy-70:     rgba(3, 41, 95, 0.70);
--ce-navy-50:     rgba(3, 41, 95, 0.50);
--ce-navy-25:     rgba(3, 41, 95, 0.25);
--ce-navy-15:     rgba(3, 41, 95, 0.15);
--ce-navy-08:     rgba(3, 41, 95, 0.08);
--ce-navy-04:     rgba(3, 41, 95, 0.04);
--ce-crimson:     #c7272a;
--ce-crimson-12:  rgba(199, 39, 42, 0.12);
--ce-off-white:   #fefefe;
--ce-paper:       #fbfafa;
--ce-font-sans:   "Inter Tight", "Inter", system-ui, -apple-system, sans-serif;
--ce-font-serif:  "Fraunces", "Cormorant Garamond", Georgia, serif;
--ce-ease:        cubic-bezier(0.22, 1, 0.36, 1);
}
.ce-legal-hero {
position: relative;
width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
padding-top: clamp(2.5rem, 5vw, 4rem);
padding-bottom: clamp(2rem, 4vw, 3.5rem);
background: var(--ce-off-white);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
isolation: isolate;
overflow: hidden;
}
.ce-legal-hero__bg {
position: absolute;
inset: 0;
z-index: -1;
pointer-events: none;
}
.ce-legal-hero__mesh {
position: absolute;
inset: 0;
background:
radial-gradient(ellipse 60% 50% at 15% 0%,  var(--ce-navy-04) 0%, transparent 60%),
radial-gradient(ellipse 70% 60% at 85% 100%, var(--ce-crimson-12) 0%, transparent 55%),
radial-gradient(ellipse 50% 40% at 50% 50%, var(--ce-navy-04) 0%, transparent 70%);
opacity: 0.65;
}
.ce-legal-hero__container {
position: relative;
max-width: 1100px;
margin: 0 auto;
padding-left: clamp(1.25rem, 4vw, 2.5rem);
padding-right: clamp(1.25rem, 4vw, 2.5rem);
}
.ce-legal-hero__eyebrow {
display: inline-flex;
align-items: center;
gap: 0.625rem;
margin-bottom: clamp(1rem, 2vw, 1.5rem);
font-size: 0.75rem;
font-weight: 600;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--ce-crimson);
}
.ce-legal-hero__eyebrow-mark {
width: 22px;
height: 1px;
background: var(--ce-crimson);
display: inline-block;
}
.ce-legal-hero__heading {
margin: 0 0 clamp(1rem, 2vw, 1.25rem) 0;
font-family: var(--ce-font-sans);
font-weight: 500;
line-height: 1.02;
letter-spacing: -0.03em;
font-size: clamp(2.5rem, 6vw, 4.5rem);
color: var(--ce-navy);
}
.ce-legal-hero__heading-row {
display: block;
}
.ce-legal-hero__heading-row--accent {
font-family: var(--ce-font-serif);
font-style: italic;
font-weight: 400;
color: var(--ce-crimson);
letter-spacing: -0.02em;
}
.ce-legal-hero__sub {
max-width: 56ch;
margin: 0 0 clamp(1.5rem, 3vw, 2.25rem) 0;
font-size: clamp(1rem, 1.4vw, 1.125rem);
line-height: 1.6;
color: var(--ce-navy-70);
}
.ce-legal-hero__meta {
display: flex;
flex-wrap: wrap;
gap: 0;
margin: 0;
padding: 0;
border-top: 1px solid var(--ce-navy-15);
border-bottom: 1px solid var(--ce-navy-15);
}
.ce-legal-hero__meta-row {
display: flex;
flex-direction: column;
gap: 0.25rem;
padding: 1rem 1.75rem 1rem 0;
margin: 0 1.75rem 0 0;
border-right: 1px solid var(--ce-navy-15);
min-width: 0;
}
.ce-legal-hero__meta-row:last-child {
margin-right: 0;
padding-right: 0;
border-right: none;
}
.ce-legal-hero__meta-label {
margin: 0;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--ce-navy-50);
}
.ce-legal-hero__meta-value {
margin: 0;
font-size: 0.9375rem;
font-weight: 500;
color: var(--ce-navy);
font-feature-settings: "tnum" 1, "lnum" 1;
}
.ce-legal {
position: relative;
width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
padding-top: clamp(2.5rem, 5vw, 4.5rem);
padding-bottom: clamp(3rem, 6vw, 5rem);
background: var(--ce-paper);
color: var(--ce-navy);
font-family: var(--ce-font-sans);
}
.ce-legal__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;
}
.ce-legal__container {
max-width: 1100px;
margin: 0 auto;
padding-left: clamp(1.25rem, 4vw, 2.5rem);
padding-right: clamp(1.25rem, 4vw, 2.5rem);
display: grid;
grid-template-columns: 240px minmax(0, 1fr);
gap: clamp(2rem, 5vw, 4rem);
align-items: start;
}
.ce-legal__toc {
position: sticky;
top: 100px;
align-self: start;
}
.ce-legal__toc-toggle {
display: none;
}
.ce-legal__toc-title {
margin: 0 0 1.25rem 0;
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--ce-crimson);
}
.ce-legal__toc-list {
list-style: none !important;
margin: 0 !important;
padding: 0 !important;
counter-reset: none;
}
.ce-legal__toc-list li {
list-style: none !important;
margin: 0 !important;
padding: 0 !important;
}
.ce-legal__toc-list li::before,
.ce-legal__toc-list li::marker {
content: none !important;
display: none !important;
}
.ce-legal__toc-link {
display: flex;
align-items: baseline;
gap: 0.75rem;
padding: 0.5rem 0;
text-decoration: none;
font-size: 0.875rem;
line-height: 1.4;
color: var(--ce-navy-70);
border-left: 2px solid transparent;
padding-left: 0.875rem;
margin-left: -0.875rem;
transition: color 0.25s var(--ce-ease), border-color 0.25s var(--ce-ease);
}
.ce-legal__toc-link:hover,
.ce-legal__toc-link:focus-visible {
color: var(--ce-crimson);
outline: none;
}
.ce-legal__toc-link.is-active {
color: var(--ce-navy);
font-weight: 500;
border-left-color: var(--ce-crimson);
}
.ce-legal__toc-num {
font-family: var(--ce-font-serif);
font-style: italic;
font-weight: 400;
font-size: 0.8125rem;
color: var(--ce-crimson);
min-width: 1.5rem;
flex-shrink: 0;
font-feature-settings: "tnum" 1, "lnum" 1;
}
.ce-legal__body {
min-width: 0;
max-width: 720px;
}
.ce-legal__lede {
margin: 0 0 clamp(2rem, 4vw, 3rem) 0;
padding: 0 0 1.75rem 0;
border-bottom: 1px solid var(--ce-navy-15);
font-size: clamp(1rem, 1.2vw, 1.125rem);
line-height: 1.65;
color: var(--ce-navy-90);
}
.ce-legal__section {
margin: 0 0 clamp(2.25rem, 4vw, 3rem) 0;
scroll-margin-top: 100px;
}
.ce-legal__section-header {
display: flex;
align-items: baseline;
gap: 1rem;
margin-bottom: 1rem;
}
.ce-legal__section-num {
font-family: var(--ce-font-serif);
font-style: italic;
font-weight: 400;
font-size: clamp(1.25rem, 2vw, 1.5rem);
color: var(--ce-crimson);
line-height: 1;
flex-shrink: 0;
font-feature-settings: "tnum" 1, "lnum" 1;
}
.ce-legal__section-heading {
margin: 0;
font-family: var(--ce-font-sans);
font-weight: 500;
font-size: clamp(1.375rem, 2.2vw, 1.625rem);
line-height: 1.2;
letter-spacing: -0.015em;
color: var(--ce-navy);
}
.ce-legal__section-content {
color: var(--ce-navy-90);
}
.ce-legal__section-content p {
margin: 0 0 1.05rem 0;
font-size: 1rem;
line-height: 1.7;
}
.ce-legal__section-content p:last-child {
margin-bottom: 0;
}
.ce-legal__section-content strong {
color: var(--ce-navy);
font-weight: 600;
}
.ce-legal__subheading {
margin: 1.5rem 0 0.75rem 0;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: 0.9375rem;
line-height: 1.4;
letter-spacing: 0.005em;
color: var(--ce-navy);
text-transform: none;
}
.ce-legal__list {
list-style: none;
margin: 0 0 1.05rem 0;
padding: 0;
}
.ce-legal__list li {
position: relative;
margin: 0 0 0.625rem 0;
padding-left: 1.25rem;
font-size: 1rem;
line-height: 1.65;
color: var(--ce-navy-90);
}
.ce-legal__list li::before {
content: "";
position: absolute;
left: 0;
top: 0.6875rem;
width: 6px;
height: 1px;
background: var(--ce-crimson);
}
.ce-legal__list li:last-child {
margin-bottom: 0;
}
.ce-legal__link {
color: var(--ce-navy);
text-decoration: underline;
text-decoration-color: var(--ce-crimson);
text-decoration-thickness: 1px;
text-underline-offset: 3px;
transition: color 0.25s var(--ce-ease);
}
.ce-legal__link:hover,
.ce-legal__link:focus-visible {
color: var(--ce-crimson);
outline: none;
}
.ce-legal__callout {
margin: 1.25rem 0;
padding: 1.25rem 1.5rem;
background: var(--ce-off-white);
border: 1px solid var(--ce-navy-15);
border-left: 3px solid var(--ce-crimson);
border-radius: 4px;
}
.ce-legal__callout-label {
margin: 0 0 0.5rem 0 !important;
font-size: 0.6875rem !important;
font-weight: 600 !important;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--ce-crimson) !important;
line-height: 1 !important;
}
.ce-legal__callout-text {
margin: 0 !important;
font-size: 0.9375rem !important;
line-height: 1.6 !important;
color: var(--ce-navy-90);
}
.ce-legal__section--contact .ce-legal__section-content {
padding-top: 0.25rem;
}
.ce-legal__contact {
margin-top: 1.25rem;
padding: 1.5rem 1.75rem;
background: var(--ce-off-white);
border: 1px solid var(--ce-navy-15);
border-radius: 4px;
}
.ce-legal__contact-row {
display: grid;
grid-template-columns: 100px 1fr;
gap: 1rem;
padding: 0.6875rem 0;
border-bottom: 1px solid var(--ce-navy-08);
font-size: 0.9375rem;
line-height: 1.5;
align-items: baseline;
}
.ce-legal__contact-row:last-child {
border-bottom: none;
}
.ce-legal__contact-label {
font-size: 0.6875rem;
font-weight: 600;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--ce-navy-50);
}
@media (max-width: 1024px) {
.ce-legal__container {
grid-template-columns: 200px minmax(0, 1fr);
gap: 2.5rem;
}
.ce-legal-hero__meta-row {
padding-right: 1.25rem;
margin-right: 1.25rem;
}
}
@media (max-width: 900px) {
.ce-legal__container {
grid-template-columns: minmax(0, 1fr);
gap: 0;
}
.ce-legal__toc {
position: static;
margin-bottom: 2rem;
border: 1px solid var(--ce-navy-15);
border-radius: 6px;
background: var(--ce-off-white);
overflow: hidden;
}
.ce-legal__toc-toggle {
display: flex;
width: 100%;
align-items: center;
justify-content: space-between;
gap: 1rem;
padding: 0.9375rem 1.25rem;
background: transparent;
border: none;
font-family: var(--ce-font-sans);
font-size: 0.8125rem;
font-weight: 600;
letter-spacing: 0.12em;
text-transform: uppercase;
color: var(--ce-navy);
cursor: pointer;
}
.ce-legal__toc-toggle-icon {
width: 16px;
height: 16px;
color: var(--ce-crimson);
transition: transform 0.3s var(--ce-ease);
}
.ce-legal__toc-toggle[aria-expanded="true"] .ce-legal__toc-toggle-icon {
transform: rotate(180deg);
}
.ce-legal__toc-nav {
display: none;
padding: 0 1.25rem 1.25rem 1.25rem;
border-top: 1px solid var(--ce-navy-08);
}
.ce-legal__toc-nav.is-open {
display: block;
}
.ce-legal__toc-title {
display: none;
}
.ce-legal__toc-nav .ce-legal__toc-list {
padding-top: 0.75rem !important;
}
.ce-legal__body {
max-width: 100%;
}
}
@media (max-width: 600px) {
.ce-legal-hero__heading {
font-size: clamp(2rem, 9vw, 2.75rem);
}
.ce-legal-hero__meta {
flex-direction: column;
}
.ce-legal-hero__meta-row {
flex-direction: row;
align-items: baseline;
gap: 0.75rem;
padding: 0.75rem 0;
margin: 0;
border-right: none;
border-bottom: 1px solid var(--ce-navy-08);
}
.ce-legal-hero__meta-row:last-child {
border-bottom: none;
}
.ce-legal-hero__meta-label {
min-width: 110px;
}
.ce-legal__section-header {
gap: 0.75rem;
}
.ce-legal__contact-row {
grid-template-columns: minmax(0, 1fr);
gap: 0.25rem;
padding: 0.875rem 0;
}
.ce-legal__callout,
.ce-legal__contact {
padding: 1.125rem 1.25rem;
}
}
@media (prefers-reduced-motion: reduce) {
.ce-legal__toc-link,
.ce-legal__link,
.ce-legal__toc-toggle-icon {
transition: none !important;
}
}
#ce-contact-form.ce-contact-form {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
--ce-navy: #03295f;
--ce-navy-deep: #021c43;
--ce-crimson: #c7272a;
--ce-crimson-soft: #e8444a;
--ce-white: #fefefe;
--ce-white-90: rgba(254, 254, 254, 0.92);
--ce-white-70: rgba(254, 254, 254, 0.72);
--ce-white-25: rgba(254, 254, 254, 0.25);
--ce-white-15: rgba(254, 254, 254, 0.15);
--ce-white-08: rgba(254, 254, 254, 0.08);
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
--ce-pad-y: clamp(2.75rem, 4.5vw, 4rem);
--ce-pad-x: clamp(1.25rem, 4vw, 3rem);
--ce-max: 1180px;
--ce-card-bg: #ffffff;
--ce-card-border: rgba(3, 41, 95, 0.10);
--ce-field-bg: #f4f6fb;
--ce-field-border: #dde3ef;
--ce-text-dark: #16223c;
--ce-text-muted: #5b6883;
--ce-crimson-deep: #a81f22;
position: relative;
overflow: hidden;
background:
radial-gradient(ellipse 70% 60% at 100% 0%, rgba(199, 39, 42, 0.14) 0%, transparent 60%),
radial-gradient(ellipse 70% 60% at 0% 100%, rgba(10, 53, 115, 0.5) 0%, transparent 65%),
linear-gradient(135deg, var(--ce-navy) 0%, var(--ce-navy-deep) 100%);
color: var(--ce-white);
font-family: var(--ce-font-sans);
padding: var(--ce-pad-y) 0;
}
#ce-contact-form.ce-contact-form *,
#ce-contact-form.ce-contact-form *::before,
#ce-contact-form.ce-contact-form *::after {
box-sizing: border-box;
}
#ce-contact-form .ce-contact-form__container {
max-width: var(--ce-max);
margin: 0 auto;
padding: 0 var(--ce-pad-x);
position: relative;
z-index: 1;
}
#ce-contact-form .ce-contact-form__grid {
display: grid;
grid-template-columns: 1fr;
gap: 40px;
}
@media (min-width: 992px) {
#ce-contact-form .ce-contact-form__grid {
grid-template-columns: 7fr 5fr;
gap: 48px;
align-items: start;
}
}
#ce-contact-form .ce-contact-form__main {
background: var(--ce-card-bg);
border: 1px solid var(--ce-card-border);
border-radius: 16px;
padding: clamp(28px, 3.4vw, 48px);
box-shadow: 0 30px 70px -20px rgba(2, 16, 38, 0.55);
position: relative;
overflow: hidden;
}
#ce-contact-form .ce-contact-form__main::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, var(--ce-crimson) 0%, var(--ce-crimson-soft) 100%);
}
#ce-contact-form .ce-contact-form__header {
margin-bottom: 30px;
}
#ce-contact-form .ce-contact-form__eyebrow {
display: inline-flex;
align-items: center;
gap: 10px;
font-size: 12px;
font-weight: 700;
letter-spacing: 1.6px;
text-transform: uppercase;
color: var(--ce-crimson);
margin-bottom: 16px;
}
#ce-contact-form .ce-contact-form__eyebrow-mark {
display: inline-block;
width: 26px;
height: 2px;
background: var(--ce-crimson);
border-radius: 2px;
}
#ce-contact-form .ce-contact-form__heading {
font-family: var(--ce-font-serif);
font-size: clamp(1.7rem, 3vw, 2.35rem);
font-weight: 600;
line-height: 1.15;
letter-spacing: -0.015em;
color: var(--ce-navy);
margin: 0 0 14px 0;
}
#ce-contact-form .ce-contact-form__heading-accent {
color: var(--ce-crimson);
font-style: italic;
}
#ce-contact-form .ce-contact-form__intro {
font-size: 1rem;
line-height: 1.6;
color: var(--ce-text-muted);
margin: 0;
max-width: 46ch;
}
#ce-contact-form .ce-contact-form__legal {
font-size: 0.8rem;
line-height: 1.55;
color: var(--ce-text-muted);
margin: 24px 0 0 0;
padding-top: 22px;
border-top: 1px solid var(--ce-field-border);
}
#ce-contact-form .ce-contact-form__legal a {
color: var(--ce-navy);
text-decoration: underline;
text-underline-offset: 2px;
}
#ce-contact-form .ce-contact-form__legal a:hover {
color: var(--ce-crimson);
}
#ce-contact-form .forminator-ui.forminator-custom-form-930,
#ce-contact-form .forminator-ui.forminator-custom-form-930 *,
#ce-contact-form .forminator-ui.forminator-custom-form-930 *::before,
#ce-contact-form .forminator-ui.forminator-custom-form-930 *::after {
box-sizing: border-box;
font-family: var(--ce-font-sans) !important;
}
#ce-contact-form .forminator-ui.forminator-custom-form-930 {
background: transparent !important;
padding: 0 !important;
margin: 0 !important;
width: 100% !important;
max-width: none !important;
}
#ce-contact-form .forminator-ui.forminator-custom-form-930 .forminator-row {
display: grid !important;
grid-template-columns: 1fr 1fr !important;
gap: 18px 20px !important;
margin: 0 0 20px 0 !important;
}
#ce-contact-form .forminator-ui.forminator-custom-form-930 .forminator-col {
width: 100% !important;
max-width: 100% !important;
min-width: 0 !important;
flex: none !important;
padding: 0 !important;
margin: 0 !important;
}
#ce-contact-form .forminator-ui.forminator-custom-form-930 .forminator-col-12 {
grid-column: 1 / -1 !important;
}
#ce-contact-form .forminator-ui.forminator-custom-form-930 .forminator-row-last {
grid-template-columns: 1fr !important;
margin-bottom: 0 !important;
}
#ce-contact-form .forminator-ui.forminator-custom-form-930 .forminator-input,
#ce-contact-form .forminator-ui.forminator-custom-form-930 .forminator-textarea {
width: 100% !important;
box-sizing: border-box !important;
}
@media (max-width: 768px) {
#ce-contact-form .forminator-ui.forminator-custom-form-930 .forminator-row {
grid-template-columns: 1fr !important;
gap: 16px !important;
}
}
#ce-contact-form .forminator-ui.forminator-custom-form-930 .forminator-field label,
#ce-contact-form .forminator-ui.forminator-custom-form-930 .forminator-label {
display: block !important;
font-size: 12px !important;
font-weight: 700 !important;
letter-spacing: 1px !important;
text-transform: uppercase !important;
color: var(--ce-navy) !important;
margin-bottom: 8px !important;
}
#ce-contact-form .forminator-ui.forminator-custom-form-930 input[type="text"],
#ce-contact-form .forminator-ui.forminator-custom-form-930 input[type="email"],
#ce-contact-form .forminator-ui.forminator-custom-form-930 input[type="tel"],
#ce-contact-form .forminator-ui.forminator-custom-form-930 input[type="url"],
#ce-contact-form .forminator-ui.forminator-custom-form-930 input[type="number"],
#ce-contact-form .forminator-ui.forminator-custom-form-930 input[type="date"],
#ce-contact-form .forminator-ui.forminator-custom-form-930 select,
#ce-contact-form .forminator-ui.forminator-custom-form-930 textarea {
width: 100% !important;
padding: 14px 16px !important;
font-size: 15px !important;
color: var(--ce-text-dark) !important;
background: var(--ce-field-bg) !important;
border: 1.5px solid var(--ce-field-border) !important;
border-radius: 8px !important;
transition: border-color 0.2s var(--ce-ease), background 0.2s var(--ce-ease), box-shadow 0.2s var(--ce-ease) !important;
box-shadow: none !important;
height: auto !important;
line-height: 1.5 !important;
}
#ce-contact-form .forminator-ui.forminator-custom-form-930 textarea {
min-height: 140px !important;
resize: vertical !important;
}
#ce-contact-form .forminator-ui.forminator-custom-form-930 input:focus,
#ce-contact-form .forminator-ui.forminator-custom-form-930 select:focus,
#ce-contact-form .forminator-ui.forminator-custom-form-930 textarea:focus {
border-color: var(--ce-crimson) !important;
background: #ffffff !important;
outline: none !important;
box-shadow: 0 0 0 3px rgba(199, 39, 42, 0.12) !important;
}
#ce-contact-form .forminator-ui.forminator-custom-form-930 input::placeholder,
#ce-contact-form .forminator-ui.forminator-custom-form-930 textarea::placeholder {
color: #9aa3b4 !important;
opacity: 1 !important;
}
#ce-contact-form .forminator-ui.forminator-custom-form-930 .forminator-required {
color: var(--ce-crimson) !important;
}
#ce-contact-form .forminator-ui.forminator-custom-form-930 .forminator-description {
font-size: 12px !important;
color: var(--ce-text-muted) !important;
margin-top: 6px !important;
}
#ce-contact-form .forminator-ui.forminator-custom-form-930 .select2,
#ce-contact-form .forminator-ui.forminator-custom-form-930 .select2-container {
width: 100% !important;
}
#ce-contact-form .select2-container .select2-selection--single {
height: 50px !important;
padding: 0 !important;
background: var(--ce-field-bg) !important;
border: 1.5px solid var(--ce-field-border) !important;
border-radius: 8px !important;
box-shadow: none !important;
transition: border-color 0.2s var(--ce-ease), background 0.2s var(--ce-ease), box-shadow 0.2s var(--ce-ease) !important;
cursor: pointer !important;
display: flex !important;
align-items: center !important;
position: relative !important;
outline: none !important;
}
#ce-contact-form .select2-container .select2-selection--single:hover {
border-color: var(--ce-crimson) !important;
background: #fffafa !important;
}
#ce-contact-form .select2-container--open .select2-selection--single,
#ce-contact-form .select2-container--focus .select2-selection--single {
border-color: var(--ce-crimson) !important;
background: #ffffff !important;
box-shadow: 0 0 0 3px rgba(199, 39, 42, 0.12) !important;
}
#ce-contact-form .select2-selection:focus,
#ce-contact-form .select2-selection:focus-visible,
#ce-contact-form .select2-selection__rendered:focus,
#ce-contact-form .select2-selection__rendered:focus-visible {
outline: none !important;
}
#ce-contact-form .select2-selection__rendered {
line-height: 48px !important;
color: var(--ce-text-dark) !important;
font-size: 15px !important;
font-weight: 500 !important;
padding: 0 46px 0 16px !important;
width: 100% !important;
box-sizing: border-box !important;
}
#ce-contact-form .select2-selection__placeholder {
color: #9aa3b4 !important;
font-weight: 400 !important;
}
#ce-contact-form .select2-selection__arrow .forminator-icon-chevron-down,
#ce-contact-form .select2-selection__arrow b {
display: none !important;
}
#ce-contact-form .select2-selection__arrow {
position: absolute !important;
right: 0 !important;
top: 0 !important;
height: 100% !important;
width: 46px !important;
pointer-events: none !important;
background: transparent !important;
}
#ce-contact-form .select2-selection__arrow::after {
content: "" !important;
position: absolute !important;
top: 50% !important;
left: 50% !important;
width: 12px !important;
height: 12px !important;
background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%2303295f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='2,4 6,8 10,4'/%3E%3C/svg%3E") no-repeat center / 12px 12px !important;
transform: translate(-50%, -50%) !important;
transition: transform 0.25s var(--ce-ease) !important;
}
#ce-contact-form .select2-selection--single:hover .select2-selection__arrow::after,
#ce-contact-form .select2-container--open .select2-selection__arrow::after {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23c7272a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='2,4 6,8 10,4'/%3E%3C/svg%3E") !important;
}
#ce-contact-form .select2-container--open .select2-selection__arrow::after {
transform: translate(-50%, -50%) rotate(180deg) !important;
}
#ce-contact-form .select2-selection__arrow::before {
content: "" !important;
position: absolute !important;
left: 0 !important;
top: 28% !important;
height: 44% !important;
width: 1px !important;
background: var(--ce-field-border) !important;
transition: background 0.2s ease !important;
}
#ce-contact-form .select2-selection--single:hover .select2-selection__arrow::before,
#ce-contact-form .select2-container--open .select2-selection__arrow::before {
background: rgba(199, 39, 42, 0.3) !important;
}
.forminator-select-dropdown.forminator-custom-form-930 {
border: 1.5px solid var(--ce-crimson, #c7272a) !important;
background: #ffffff !important;
padding: 6px !important;
overflow: hidden !important;
}
.forminator-select-dropdown.forminator-custom-form-930.forminator-select-dropdown--below {
border-radius: 0 0 10px 10px !important;
border-top: 1.5px solid #e5d5c5 !important;
margin-top: -2px !important;
box-shadow: 0 14px 30px -8px rgba(199, 39, 42, 0.20),
0 4px 10px -2px rgba(2, 16, 38, 0.10) !important;
animation: ce-slide-down 0.2s ease-out !important;
transform-origin: top center !important;
}
.forminator-select-dropdown.forminator-custom-form-930.forminator-select-dropdown--above {
border-radius: 10px 10px 0 0 !important;
border-bottom: 1.5px solid #e5d5c5 !important;
margin-bottom: -2px !important;
box-shadow: 0 -14px 30px -8px rgba(199, 39, 42, 0.20),
0 -4px 10px -2px rgba(2, 16, 38, 0.10) !important;
animation: ce-slide-up 0.2s ease-out !important;
transform-origin: bottom center !important;
}
@keyframes ce-slide-down {
from { opacity: 0; transform: translateY(-8px) scaleY(0.96); }
to   { opacity: 1; transform: translateY(0)    scaleY(1);    }
}
@keyframes ce-slide-up {
from { opacity: 0; transform: translateY(8px)  scaleY(0.96); }
to   { opacity: 1; transform: translateY(0)    scaleY(1);    }
}
.forminator-select-dropdown.forminator-custom-form-930 .select2-results__options {
padding: 2px !important;
max-height: 280px !important;
scrollbar-width: thin !important;
scrollbar-color: #c7272a #f5f1ec !important;
}
.forminator-select-dropdown.forminator-custom-form-930 .select2-results__options::-webkit-scrollbar {
width: 6px !important;
}
.forminator-select-dropdown.forminator-custom-form-930 .select2-results__options::-webkit-scrollbar-track {
background: #f5f1ec !important;
border-radius: 3px !important;
}
.forminator-select-dropdown.forminator-custom-form-930 .select2-results__options::-webkit-scrollbar-thumb {
background: #c7272a !important;
border-radius: 3px !important;
}
.forminator-select-dropdown.forminator-custom-form-930 .select2-results__option {
padding: 11px 16px !important;
font-size: 14px !important;
font-weight: 500 !important;
line-height: 1.4 !important;
color: #16223c !important;
border-radius: 6px !important;
margin: 2px 0 !important;
cursor: pointer !important;
transition: all 0.18s ease !important;
position: relative !important;
}
.forminator-select-dropdown.forminator-custom-form-930 .select2-results__option--highlighted {
background: linear-gradient(135deg, #c7272a 0%, #a81f22 100%) !important;
color: #ffffff !important;
font-weight: 600 !important;
padding-left: 20px !important;
box-shadow: 0 2px 6px rgba(199, 39, 42, 0.25) !important;
}
.forminator-select-dropdown.forminator-custom-form-930 .select2-results__option--selected {
background: #f9f0f0 !important;
color: #c7272a !important;
font-weight: 700 !important;
}
.forminator-select-dropdown.forminator-custom-form-930 .select2-results__option--selected.select2-results__option--highlighted {
background: linear-gradient(135deg, #c7272a 0%, #a81f22 100%) !important;
color: #ffffff !important;
}
.forminator-select-dropdown.forminator-custom-form-930 .select2-results__option--selected::after {
content: "\2713" !important;
position: absolute !important;
right: 14px !important;
top: 50% !important;
transform: translateY(-50%) !important;
color: #c7272a !important;
font-weight: 700 !important;
font-size: 14px !important;
}
.forminator-select-dropdown.forminator-custom-form-930 .select2-results__option--selected.select2-results__option--highlighted::after {
color: #ffffff !important;
}
.forminator-select-dropdown.forminator-custom-form-930,
.forminator-select-dropdown.forminator-custom-form-930 *,
.forminator-select-dropdown.forminator-custom-form-930 *:focus,
.forminator-select-dropdown.forminator-custom-form-930 *:focus-visible,
.forminator-select-dropdown.forminator-custom-form-930 *:focus-within,
.forminator-select-dropdown.forminator-custom-form-930 *:active {
outline: none !important;
-webkit-tap-highlight-color: transparent !important;
}
.forminator-select-dropdown.forminator-custom-form-930 .select2-results,
.forminator-select-dropdown.forminator-custom-form-930 .select2-search__field {
border: none !important;
box-shadow: none !important;
}
#ce-contact-form .forminator-ui.forminator-custom-form-930 button[type="submit"],
#ce-contact-form .forminator-ui.forminator-custom-form-930 .forminator-button-submit,
#ce-contact-form .forminator-ui.forminator-custom-form-930 .forminator-button {
width: 100% !important;
padding: 18px 28px !important;
background: var(--ce-crimson) !important;
color: #ffffff !important;
font-size: 14px !important;
font-weight: 700 !important;
letter-spacing: 1.2px !important;
text-transform: uppercase !important;
border: 2px solid var(--ce-crimson) !important;
border-radius: 8px !important;
cursor: pointer !important;
transition: background 0.25s var(--ce-ease), border-color 0.25s var(--ce-ease), transform 0.25s var(--ce-ease), box-shadow 0.25s var(--ce-ease) !important;
box-shadow: 0 8px 22px -6px rgba(199, 39, 42, 0.45) !important;
height: auto !important;
line-height: 1.2 !important;
}
#ce-contact-form .forminator-ui.forminator-custom-form-930 button[type="submit"]:hover,
#ce-contact-form .forminator-ui.forminator-custom-form-930 .forminator-button-submit:hover,
#ce-contact-form .forminator-ui.forminator-custom-form-930 .forminator-button:hover {
background: var(--ce-crimson-deep) !important;
border-color: var(--ce-crimson-deep) !important;
transform: translateY(-2px) !important;
box-shadow: 0 12px 30px -6px rgba(199, 39, 42, 0.55) !important;
}
#ce-contact-form .forminator-ui.forminator-custom-form-930 .forminator-error-message,
#ce-contact-form .forminator-ui.forminator-custom-form-930 .forminator-response-message.forminator-error {
color: #a81f22 !important;
font-size: 13px !important;
margin-top: 6px !important;
background: rgba(199, 39, 42, 0.08) !important;
padding: 8px 12px !important;
border-radius: 6px !important;
border-left: 3px solid var(--ce-crimson) !important;
}
#ce-contact-form .forminator-ui.forminator-custom-form-930 .forminator-response-message.forminator-success {
color: var(--ce-navy) !important;
background: rgba(3, 41, 95, 0.08) !important;
padding: 14px 16px !important;
border-radius: 6px !important;
border-left: 3px solid var(--ce-navy) !important;
font-size: 14px !important;
}
#ce-contact-form .forminator-edit-module {
display: none !important;
}
#ce-contact-form .ce-contact-form__aside-card {
background: var(--ce-white-08);
border: 1px solid var(--ce-white-15);
border-radius: 18px;
padding: clamp(28px, 3vw, 40px);
backdrop-filter: blur(8px);
-webkit-backdrop-filter: blur(8px);
}
#ce-contact-form .ce-contact-form__aside-title {
font-family: var(--ce-font-serif);
font-size: clamp(1.4rem, 2.4vw, 1.8rem);
font-weight: 600;
color: var(--ce-white);
margin: 0 0 12px 0;
letter-spacing: -0.01em;
}
#ce-contact-form .ce-contact-form__aside-copy {
font-size: 0.95rem;
line-height: 1.6;
color: var(--ce-white-70);
margin: 0 0 28px 0;
}
#ce-contact-form .ce-contact-form__aside-phone {
display: flex;
align-items: center;
gap: 16px;
padding: 18px 20px;
background: rgba(199, 39, 42, 0.16);
border: 1px solid rgba(232, 68, 74, 0.35);
border-radius: 12px;
text-decoration: none;
margin-bottom: 28px;
transition: background 0.25s var(--ce-ease), border-color 0.25s var(--ce-ease), transform 0.25s var(--ce-ease);
}
#ce-contact-form .ce-contact-form__aside-phone:hover {
background: rgba(199, 39, 42, 0.26);
border-color: var(--ce-crimson-soft);
transform: translateY(-2px);
}
#ce-contact-form .ce-contact-form__aside-phone-icon {
width: 44px;
height: 44px;
min-width: 44px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 50%;
background: var(--ce-crimson);
color: #ffffff;
}
#ce-contact-form .ce-contact-form__aside-phone-icon svg {
width: 20px;
height: 20px;
}
#ce-contact-form .ce-contact-form__aside-phone-label {
display: flex;
flex-direction: column;
gap: 2px;
}
#ce-contact-form .ce-contact-form__aside-phone-meta {
font-size: 11px;
font-weight: 700;
letter-spacing: 1.4px;
text-transform: uppercase;
color: var(--ce-white-70);
}
#ce-contact-form .ce-contact-form__aside-phone-num {
font-size: 1.45rem;
font-weight: 700;
color: var(--ce-white);
letter-spacing: 0.01em;
}
#ce-contact-form .ce-contact-form__aside-meta-list {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
gap: 18px;
}
#ce-contact-form .ce-contact-form__aside-meta-list li {
display: flex;
align-items: flex-start;
gap: 14px;
}
#ce-contact-form .ce-contact-form__aside-meta-icon {
width: 38px;
height: 38px;
min-width: 38px;
display: flex;
align-items: center;
justify-content: center;
border-radius: 10px;
background: var(--ce-white-08);
border: 1px solid var(--ce-white-15);
color: var(--ce-crimson-soft);
}
#ce-contact-form .ce-contact-form__aside-meta-icon svg {
width: 18px;
height: 18px;
}
#ce-contact-form .ce-contact-form__aside-meta-list li > span:last-child {
display: flex;
flex-direction: column;
gap: 2px;
font-size: 0.9rem;
line-height: 1.5;
color: var(--ce-white-70);
}
#ce-contact-form .ce-contact-form__aside-meta-list li strong {
color: var(--ce-white);
font-weight: 600;
font-size: 0.92rem;
}
#ce-contact-form .ce-contact-form__aside-meta-list li a {
color: var(--ce-crimson-soft);
text-decoration: none;
word-break: break-word;
}
#ce-contact-form .ce-contact-form__aside-meta-list li a:hover {
text-decoration: underline;
}
#ce-contact-form [data-animate="fade-up"] {
opacity: 0;
transform: translateY(26px);
transition: opacity 0.7s var(--ce-ease), transform 0.7s var(--ce-ease);
}
#ce-contact-form [data-animate="fade-up"].is-visible {
opacity: 1;
transform: none;
}
#ce-contact-form [data-delay="120"] { transition-delay: 0.12s; }
#ce-contact-form [data-delay="240"] { transition-delay: 0.24s; }
@media (max-width: 991px) {
#ce-contact-form .ce-contact-form__grid {
gap: 36px;
}
}
@media (max-width: 560px) {
#ce-contact-form .ce-contact-form__main {
padding: 26px 20px;
border-radius: 14px;
}
#ce-contact-form .ce-contact-form__aside-card {
padding: 26px 20px;
}
#ce-contact-form .ce-contact-form__aside-phone-num {
font-size: 1.3rem;
}
#ce-contact-form .forminator-ui.forminator-custom-form-930 input[type="text"],
#ce-contact-form .forminator-ui.forminator-custom-form-930 input[type="email"],
#ce-contact-form .forminator-ui.forminator-custom-form-930 input[type="tel"],
#ce-contact-form .forminator-ui.forminator-custom-form-930 select,
#ce-contact-form .forminator-ui.forminator-custom-form-930 textarea {
padding: 12px 14px !important;
font-size: 14px !important;
}
}
@media (prefers-reduced-motion: reduce) {
#ce-contact-form [data-animate],
#ce-contact-form .ce-contact-form__aside-phone,
#ce-contact-form .forminator-ui.forminator-custom-form-930 button[type="submit"] {
opacity: 1 !important;
transform: none !important;
transition: none !important;
}
}
#ce-contact-form.ce-contact-form,
#ce-contact-form .ce-contact-form__container,
#ce-contact-form .ce-contact-form__grid,
#ce-contact-form .ce-contact-form__aside {
overflow: visible !important;
}
#ce-contact-form .ce-contact-form__grid {
display: grid !important;
grid-template-columns: minmax(0, 7fr) minmax(320px, 5fr) !important;
gap: 48px !important;
align-items: start !important;
}
#ce-contact-form .ce-contact-form__main,
#ce-contact-form .ce-contact-form__aside {
align-self: start !important;
min-width: 0 !important;
}
#ce-contact-form .ce-contact-form__aside {
position: sticky !important;
top:100px !important;
}
#ce-contact-form .ce-contact-form__aside-card {
position: relative !important;
top: auto !important;
}
@media (max-width: 991px) {
#ce-contact-form .ce-contact-form__grid {
grid-template-columns: 1fr !important;
gap: 36px !important;
}
#ce-contact-form .ce-contact-form__aside {
position: static !important;
top: auto !important;
}
}
.header-html-inner p { margin: 0 !important; }
.ce-hdr-call,
.ce-hdr-call * {
box-sizing: border-box !important;
float: none !important;
flex: 0 0 auto !important;
min-width: 0 !important;
max-width: none !important;
}
.ce-hdr-call,
.ce-hdr-call:link,
.ce-hdr-call:visited {
display: inline-flex !important;
align-items: center !important;
flex-wrap: nowrap !important;
width: auto !important;
max-width: 100% !important;
gap: 12px !important;
padding: 11px 22px 11px 18px !important;
background: #c7272a !important;
color: #ffffff !important;
text-decoration: none !important;
border: 1px solid rgba(255, 255, 255, 0.10) !important;
border-radius: 12px !important;
line-height: 1.1 !important;
white-space: nowrap !important;
vertical-align: middle !important;
box-shadow: 0 4px 14px -6px rgba(199, 39, 42, 0.45) !important;
transition: background 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease !important;
-webkit-tap-highlight-color: transparent !important;
}
.ce-hdr-call:hover,
.ce-hdr-call:focus-visible {
background: #a81f22 !important;
color: #ffffff !important;
transform: translateY(-1px) !important;
box-shadow: 0 8px 20px -6px rgba(199, 39, 42, 0.5) !important;
}
.ce-hdr-call:focus-visible {
outline: 2px solid rgba(255, 255, 255, 0.85) !important;
outline-offset: 2px !important;
}
.ce-hdr-call:active { transform: translateY(0) !important; }
.ce-hdr-call__icon {
display: inline-block !important;
width: 19px !important;
height: 19px !important;
min-width: 19px !important;
max-width: 19px !important;
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") !important;
background-repeat: no-repeat !important;
background-position: center !important;
background-size: 19px 19px !important;
opacity: 0.95 !important;
}
.ce-hdr-call__text {
display: flex !important;
flex-direction: column !important;
align-items: flex-start !important;
gap: 1px !important;
}
.ce-hdr-call__label {
font-size: 10px !important;
font-weight: 600 !important;
letter-spacing: 1.6px !important;
text-transform: uppercase !important;
color: rgba(255, 255, 255, 0.72) !important;
}
.ce-hdr-call__num {
font-size: 17px !important;
font-weight: 700 !important;
color: #ffffff !important;
letter-spacing: 0.01em !important;
}
@media (max-width: 1024px) {
.ce-hdr-call { padding: 10px 18px 10px 16px !important; gap: 10px !important; }
.ce-hdr-call__num { font-size: 16px !important; }
}
@media (max-width: 600px) {
.ce-hdr-call { padding: 9px 16px 9px 14px !important; gap: 10px !important; }
.ce-hdr-call__label { display: none !important; }
.ce-hdr-call__num { font-size: 15px !important; }
}
@media (max-width: 380px) {
.ce-hdr-call { padding: 10px !important; gap: 0 !important; }
.ce-hdr-call__text { display: none !important; }
}
@media (prefers-reduced-motion: reduce) {
.ce-hdr-call { transition: none !important; }
}
.ce-resources-essentials__card-img {
transition: transform .4s ease;
}
.ce-resources-essentials__card--no-crop .ce-resources-essentials__card-media {
display: flex;
align-items: center;
justify-content: center;
}
.ce-resources-essentials__card--no-crop .ce-resources-essentials__card-img {
width: 100%;
height: 100%;
object-fit: contain;
padding: 20px;
background: #fff;
transform: scale(1.1);
}
#masthead .site-container {
max-width: 1460px !important;
width: 100% !important;
padding-left: 18px !important;
padding-right: 18px !important;
}
#masthead .site-main-header-inner-wrap {
display: flex !important;
align-items: center !important;
justify-content: space-between !important;
flex-wrap: nowrap !important;
gap: 18px !important;
}
#masthead .site-header-main-section-left {
flex: 0 0 auto !important;
margin-right: 52px !important;
}
#masthead .site-branding .custom-logo {
max-width: 255px !important;
width: auto !important;
height: auto !important;
}
#masthead .site-header-main-section-center {
flex: 1 1 auto !important;
min-width: 0 !important;
}
#masthead #primary-menu {
display: flex !important;
align-items: center !important;
flex-wrap: nowrap !important;
gap: 4px !important;
}
#masthead #primary-menu > li > a {
font-size: 14px !important;
line-height: 1.2 !important;
padding: 10px 10px !important;
white-space: nowrap !important;
}
#masthead #primary-menu .dropdown-nav-toggle svg {
width: 10px !important;
height: 10px !important;
}
#masthead .site-header-main-section-right {
flex: 0 0 auto !important;
margin-left: 85px !important;
}
#masthead .header-button-wrap .header-button,
#masthead .header-button-wrap .button {
font-size: 13px !important;
padding: 12px 18px !important;
border-radius: 999px !important;
white-space: nowrap !important;
}
#masthead,
#masthead * {
box-sizing: border-box;
}
#masthead .site-header-row-container-inner {
flex-wrap: nowrap !important;
}
body.blog,
body.archive,
body.single-post,
.ce-blog-hero,
.ce-insights-wrapper,
#archive-container {
--ce-navy: #03295f;
--ce-navy-deep: #021c43;
--ce-navy-light: #0a3573;
--ce-crimson: #c7272a;
--ce-crimson-soft: #e8444a;
--ce-crimson-deep: #a81f22;
--ce-crimson-tint: rgba(199, 39, 42, 0.08);
--ce-white: #fefefe;
--ce-white-90: rgba(254, 254, 254, 0.92);
--ce-page-bg: #f4f6fb;
--ce-surface: #ffffff;
--ce-surface-alt: #f4f6fb;
--ce-border: rgba(3, 41, 95, 0.10);
--ce-border-strong: rgba(3, 41, 95, 0.18);
--ce-text-dark: #16223c;
--ce-text-muted: #5b6883;
--ce-text-soft: rgba(22, 34, 60, 0.58);
--ce-shadow-sm: 0 2px 8px rgba(3, 41, 95, 0.06);
--ce-shadow-md: 0 12px 32px rgba(3, 41, 95, 0.10);
--ce-shadow-lg: 0 24px 70px rgba(3, 41, 95, 0.14);
--ce-radius-sm: 8px;
--ce-radius: 16px;
--ce-radius-lg: 24px;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--ce-font-serif: 'Fraunces', 'Source Serif Pro', Georgia, serif;
}
html { scroll-behavior: smooth; }
body.blog,
body.archive,
body.single-post { overflow-x: hidden; }
body.blog .content-area,
body.archive .content-area,
body.home .content-area {
background: var(--ce-page-bg) !important;
}
body.blog #archive-container,
body.archive #archive-container,
body.home #archive-container {
scroll-margin-top: 1px !important;
margin-top: clamp(48px, 6vw, 96px) !important;
margin-bottom: clamp(48px, 5vw, 80px) !important;
}
body.blog .entry-hero,
body.blog .kadence-page-title-wrap,
body.blog #title {
display: none !important;
}
a[href$="/resources/"],
a[href$="/resources"] {
pointer-events: none !important;
cursor: default !important;
}
.ce-blog-hero {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
position: relative;
overflow: hidden;
background:
radial-gradient(ellipse 70% 60% at 100% 0%, rgba(199, 39, 42, 0.14) 0%, transparent 60%),
radial-gradient(ellipse 70% 60% at 0% 100%, rgba(10, 53, 115, 0.50) 0%, transparent 65%),
linear-gradient(135deg, var(--ce-navy) 0%, var(--ce-navy-deep) 100%);
color: var(--ce-white);
font-family: var(--ce-font-sans);
padding: clamp(3rem, 6vw, 5.5rem) clamp(1.25rem, 4vw, 3rem);
}
.ce-blog-hero__inner {
max-width: 1180px;
margin: 0 auto;
display: grid;
grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
gap: clamp(2rem, 5vw, 4rem);
align-items: center;
}
.ce-blog-hero__eyebrow,
.ce-insights-eyebrow {
display: inline-flex;
align-items: center;
gap: .7rem;
color: var(--ce-white-90);
font-size: .78rem;
font-weight: 800;
letter-spacing: .14em;
text-transform: uppercase;
}
.ce-blog-hero__dot,
.ce-insights-eyebrow-line {
width: 34px;
height: 2px;
background: var(--ce-crimson-soft);
border-radius: 999px;
}
.ce-blog-hero__title {
margin: 1.2rem 0 1rem;
max-width: 820px;
font-family: var(--ce-font-serif);
font-size: clamp(2.3rem, 5vw, 5rem);
line-height: .95;
letter-spacing: -.045em;
color: var(--ce-white);
}
.ce-blog-hero__title em { color: var(--ce-crimson-soft); font-style: italic; }
.ce-blog-hero__lede {
max-width: 760px;
color: rgba(254, 254, 254, .82);
font-size: clamp(1rem, 1.35vw, 1.18rem);
line-height: 1.75;
}
.ce-blog-hero__meta,
.ce-blog-hero__actions {
display: flex;
flex-wrap: wrap;
gap: .85rem;
align-items: center;
margin-top: 1.5rem;
}
.ce-blog-hero__meta-item {
display: inline-flex;
align-items: center;
gap: .5rem;
color: rgba(254, 254, 254, .78);
font-size: .92rem;
}
.ce-blog-hero__meta-item svg { width: 18px; height: 18px; color: var(--ce-crimson-soft); }
.ce-blog-hero__meta-divider { width: 1px; height: 18px; background: rgba(254, 254, 254, .22); }
.ce-blog-hero__btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: .55rem;
min-height: 48px;
padding: .9rem 1.25rem;
border-radius: 999px;
font-weight: 800;
text-decoration: none !important;
transition: transform .25s var(--ce-ease), background .25s var(--ce-ease), border-color .25s var(--ce-ease);
}
.ce-blog-hero__btn--primary { background: var(--ce-crimson); color: var(--ce-white) !important; }
.ce-blog-hero__btn--ghost {
border: 1px solid rgba(254, 254, 254, .25);
color: var(--ce-white) !important;
background: rgba(254, 254, 254, .08);
}
.ce-blog-hero__btn:hover { transform: translateY(-2px); }
.ce-blog-hero__btn--primary:hover { background: var(--ce-crimson-deep); }
.ce-blog-hero__card {
position: relative;
padding: clamp(1.4rem, 3vw, 2rem);
border: 1px solid rgba(254, 254, 254, .16);
border-radius: 28px;
background: rgba(254, 254, 254, .09);
box-shadow: 0 28px 80px rgba(0, 0, 0, .22);
backdrop-filter: blur(16px);
-webkit-backdrop-filter: blur(16px);
}
.ce-blog-hero__card-num {
position: absolute;
top: 1rem;
right: 1.25rem;
color: rgba(254, 254, 254, .18);
font-family: var(--ce-font-serif);
font-size: 3.5rem;
font-weight: 600;
line-height: 1;
}
.ce-blog-hero__card-title {
margin: 0 0 1rem;
color: var(--ce-white);
font-family: var(--ce-font-serif);
font-size: clamp(1.45rem, 2vw, 2rem);
}
.ce-blog-hero__list { list-style: none; padding: 0; margin: 0; display: grid; gap: .85rem; }
.ce-blog-hero__list li { display: flex; gap: .75rem; color: rgba(254, 254, 254, .84); line-height: 1.55; }
.ce-blog-hero__check {
flex: 0 0 24px;
width: 24px;
height: 24px;
display: inline-flex;
align-items: center;
justify-content: center;
border-radius: 999px;
background: var(--ce-crimson);
color: var(--ce-white);
}
.ce-blog-hero__check svg { width: 14px; height: 14px; }
.ce-insights-wrapper {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
background: var(--ce-page-bg);
padding: clamp(3rem, 6vw, 5rem) clamp(1.25rem, 4vw, 3rem);
font-family: var(--ce-font-sans);
overflow: hidden;
}
.ce-insights-container { max-width: 1180px; margin: 0 auto; }
.ce-insights-header { display: flex; justify-content: space-between; gap: 2rem; align-items: end; margin-bottom: 2rem; }
.ce-insights-eyebrow { color: var(--ce-crimson); }
.ce-insights-title {
margin: .8rem 0 0;
font-family: var(--ce-font-serif);
font-size: clamp(2rem, 4vw, 3.8rem);
line-height: 1;
letter-spacing: -.04em;
color: var(--ce-navy-deep);
}
.ce-insights-title-accent { color: var(--ce-crimson); font-style: italic; }
.ce-insights-header-link,
.ce-insights-mobile-link,
.ce-insights-more-link {
display: inline-flex;
align-items: center;
gap: .5rem;
color: var(--ce-navy) !important;
font-weight: 800;
text-decoration: none !important;
}
.ce-insights-carousel { position: relative; }
.ce-insights-track { overflow: hidden; }
.ce-insights-list {
display: flex;
gap: 28px;
list-style: none;
padding: 0;
margin: 0;
transition: transform .55s var(--ce-ease);
will-change: transform;
}
.ce-insights-slide { flex: 0 0 calc((100% - 56px) / 3); min-width: 0; }
.ce-insights-entry {
height: 100%;
overflow: hidden;
border-radius: var(--ce-radius-lg);
background: var(--ce-surface);
border: 1px solid var(--ce-border);
box-shadow: var(--ce-shadow-sm);
transition: transform .25s var(--ce-ease), box-shadow .25s var(--ce-ease), border-color .25s var(--ce-ease);
}
.ce-insights-entry:hover { transform: translateY(-4px); box-shadow: var(--ce-shadow-md); border-color: var(--ce-border-strong); }
.ce-insights-thumb { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--ce-surface-alt); }
.ce-insights-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .45s var(--ce-ease); }
.ce-insights-entry:hover .ce-insights-thumb img { transform: scale(1.04); }
.ce-insights-entry-wrap { padding: 1.25rem; }
.ce-insights-entry-cat {
display: inline-block;
margin-bottom: .75rem;
padding: .35rem .7rem;
border-radius: 999px;
background: var(--ce-crimson-tint);
color: var(--ce-crimson) !important;
font-size: .7rem;
font-weight: 900;
letter-spacing: .08em;
text-transform: uppercase;
text-decoration: none !important;
pointer-events: none;
}
.ce-insights-entry-title { margin: 0 0 .75rem; font-family: var(--ce-font-serif); font-size: 1.35rem; line-height: 1.2; }
.ce-insights-entry-title a { color: var(--ce-navy-deep) !important; text-decoration: none !important; }
.ce-insights-entry-meta { display: flex; flex-wrap: wrap; gap: .45rem; color: var(--ce-text-muted); font-size: .82rem; }
.ce-insights-entry-summary p { color: var(--ce-text-muted); line-height: 1.65; margin: .9rem 0 1rem; }
.ce-insights-arrow {
width: 42px;
height: 42px;
border-radius: 999px;
border: 1px solid var(--ce-border);
background: var(--ce-white);
color: var(--ce-navy);
display: inline-flex;
align-items: center;
justify-content: center;
cursor: pointer;
transition: background .25s var(--ce-ease), color .25s var(--ce-ease), border-color .25s var(--ce-ease);
}
.ce-insights-arrow:hover { background: var(--ce-navy); color: #fff; border-color: var(--ce-navy); }
.ce-insights-arrow-prev svg { transform: rotate(180deg); }
.ce-insights-arrows { position: absolute; right: 0; top: -72px; display: flex; gap: .6rem; }
.ce-insights-pagination { display: flex; justify-content: center; gap: .5rem; list-style: none; padding: 1.5rem 0 0; margin: 0; }
.ce-insights-pagination button { width: 9px; height: 9px; padding: 0; border: 0; border-radius: 999px; background: rgba(3, 41, 95, .25); cursor: pointer; transition: width .25s var(--ce-ease), background .25s var(--ce-ease); }
.ce-insights-pagination button.is-ce-active { width: 28px; background: var(--ce-crimson); }
.ce-insights-mobile-link { display: none; margin-top: 1.25rem; }
.ce-insights-empty { text-align: center; border: 1px dashed var(--ce-border-strong); border-radius: var(--ce-radius-lg); padding: 2rem; background: var(--ce-white); }
#archive-container {
list-style: none !important;
display: grid !important;
grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
gap: 1.6rem !important;
max-width: 1320px !important;
margin-left: auto !important;
margin-right: auto !important;
padding: 0 clamp(20px, 4vw, 48px) !important;
}
#archive-container .entry-list-item {
list-style: none !important;
margin: 0 !important;
display: flex !important;
}
#archive-container .entry.loop-entry {
position: relative;
display: flex;
flex-direction: column;
width: 100%;
height: 100%;
background: var(--ce-surface);
border: 1px solid var(--ce-border);
border-radius: 12px;
overflow: hidden;
box-shadow: var(--ce-shadow-sm);
transition: transform 0.5s var(--ce-ease),
box-shadow 0.5s var(--ce-ease),
border-color 0.5s var(--ce-ease);
}
#archive-container .entry.loop-entry::before {
content: "";
position: absolute;
top: 0; left: 0; right: 0;
height: 4px;
background: linear-gradient(90deg, var(--ce-navy), var(--ce-crimson), var(--ce-navy));
opacity: 0;
transition: opacity 0.5s var(--ce-ease);
z-index: 3;
}
#archive-container .entry.loop-entry:hover {
transform: translateY(-6px);
border-color: var(--ce-border-strong);
box-shadow: 0 18px 40px -16px rgba(3, 41, 95, 0.28);
}
#archive-container .entry.loop-entry:hover::before { opacity: 1; }
#archive-container .post-thumbnail {
display: block;
position: relative;
margin: 0;
aspect-ratio: 3 / 2;
overflow: hidden;
background: #eef2f7;
flex-shrink: 0;
}
#archive-container .post-thumbnail-inner,
#archive-container .post-thumbnail-inner img {
width: 100%;
height: 100%;
display: block;
}
#archive-container .post-thumbnail-inner img {
object-fit: cover;
transform: scale(1.001);
transition: transform 0.7s var(--ce-ease);
}
#archive-container .entry.loop-entry:hover .post-thumbnail-inner img { transform: scale(1.06); }
#archive-container .post-thumbnail::after {
content: "";
position: absolute;
inset: auto 0 0 0;
height: 38%;
background: linear-gradient(to top, rgba(3, 41, 95, 0.12), transparent);
pointer-events: none;
}
#archive-container .entry-content-wrap {
display: flex;
flex-direction: column;
flex: 1;
padding: 1.5rem 1.5rem 1.3rem !important;
gap: 0.75rem;
}
#archive-container .entry.loop-entry:not(:has(.post-thumbnail)) .entry-content-wrap {
border-top: 4px solid var(--ce-crimson);
}
#archive-container .entry-header { margin: 0; }
#archive-container .entry-taxonomies { margin: 0 0 0.15rem; }
#archive-container .category-links a,
#archive-container .category-links a:hover,
#archive-container .category-links a:focus {
display: inline-block;
font-size: 0.66rem;
font-weight: 700;
letter-spacing: 0.09em;
text-transform: uppercase;
color: var(--ce-crimson) !important;
background: var(--ce-crimson-tint) !important;
padding: 0.35rem 0.7rem;
border-radius: 999px;
text-decoration: none !important;
line-height: 1;
border: none !important;
pointer-events: none;
cursor: default;
box-shadow: none !important;
}
#archive-container .entry-title {
margin: 0;
font-family: var(--ce-font-serif);
font-size: clamp(1.08rem, 1.25vw, 1.2rem);
line-height: 1.3;
font-weight: 600;
letter-spacing: -0.01em;
}
#archive-container .entry-title a {
color: var(--ce-navy);
text-decoration: none;
display: -webkit-box;
-webkit-line-clamp: 3;
-webkit-box-orient: vertical;
overflow: hidden;
transition: color 0.35s var(--ce-ease);
}
#archive-container .entry-title a:hover { color: var(--ce-crimson); }
#archive-container .entry-meta {
display: flex;
align-items: center;
flex-wrap: wrap;
font-size: 0.74rem;
letter-spacing: 0.04em;
text-transform: uppercase;
color: rgba(3, 41, 95, 0.55);
}
#archive-container .entry-meta .posted-by { display: none !important; }
#archive-container .entry-meta-divider-dot .posted-on::before { content: none !important; }
#archive-container .entry-meta .posted-on time {
color: rgba(3, 41, 95, 0.55);
letter-spacing: 0.04em;
}
#archive-container .entry-summary { display: none !important; }
#archive-container .entry-footer {
margin-top: auto;
padding-top: 1rem;
border-top: 1px solid var(--ce-border);
}
#archive-container .more-link-wrap { margin: 0; }
#archive-container .post-more-link {
display: inline-flex;
align-items: center;
gap: 0.5rem;
font-size: 0.75rem;
font-weight: 700;
letter-spacing: 0.08em;
text-transform: uppercase;
color: var(--ce-navy);
text-decoration: none;
position: relative;
padding: 4px 0;
transition: color 0.35s var(--ce-ease), gap 0.35s var(--ce-ease);
}
#archive-container .post-more-link:hover { color: var(--ce-crimson); gap: 0.75rem; }
#archive-container .post-more-link::after {
content: "";
position: absolute;
bottom: 0; left: 0;
width: 0; height: 2px;
background: var(--ce-crimson);
transition: width 0.35s var(--ce-ease);
}
#archive-container .entry.loop-entry:hover .post-more-link::after { width: 100%; }
#archive-container .post-more-link svg,
#archive-container .post-more-link .kadence-svg-icon {
width: 16px;
height: 16px;
transition: transform 0.35s var(--ce-ease);
}
#archive-container .entry.loop-entry:hover .post-more-link svg,
#archive-container .entry.loop-entry:hover .post-more-link .kadence-svg-icon {
transform: translateX(4px);
}
#archive-container a:focus-visible {
outline: 2px solid var(--ce-crimson);
outline-offset: 3px;
border-radius: 4px;
}
@media (prefers-reduced-motion: no-preference) {
#archive-container .entry.loop-entry {
opacity: 0;
transform: translateY(16px);
animation: ceCardIn 0.7s var(--ce-ease) forwards;
}
#archive-container .entry-list-item:nth-child(1) .entry.loop-entry { animation-delay: 0.04s; }
#archive-container .entry-list-item:nth-child(2) .entry.loop-entry { animation-delay: 0.10s; }
#archive-container .entry-list-item:nth-child(3) .entry.loop-entry { animation-delay: 0.16s; }
#archive-container .entry-list-item:nth-child(4) .entry.loop-entry { animation-delay: 0.22s; }
#archive-container .entry-list-item:nth-child(n+5) .entry.loop-entry { animation-delay: 0.26s; }
}
@keyframes ceCardIn { to { opacity: 1; transform: translateY(0); } }
.content-area .navigation.pagination {
padding: 44px 0 0;
display: flex;
justify-content: center;
}
.content-area .navigation.pagination .nav-links { display: flex; gap: 8px; flex-wrap: wrap; }
.content-area .navigation.pagination .page-numbers {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 44px;
height: 44px;
padding: 0 14px;
font-size: 13px;
font-weight: 600;
color: var(--ce-text-dark);
text-decoration: none;
border-radius: 8px;
background: var(--ce-surface);
box-shadow: var(--ce-shadow-sm);
transition: color .25s var(--ce-ease), box-shadow .25s var(--ce-ease), transform .25s var(--ce-ease);
}
.content-area .navigation.pagination .page-numbers:hover {
color: var(--ce-crimson);
box-shadow: var(--ce-shadow-md);
transform: translateY(-2px);
}
.content-area .navigation.pagination .page-numbers.current {
background: var(--ce-crimson);
color: #fff;
box-shadow: 0 6px 16px rgba(199, 39, 42, 0.30);
}
body.single-post {
background: var(--ce-page-bg) !important;
color: var(--ce-text-dark) !important;
font-family: var(--ce-font-sans) !important;
-webkit-font-smoothing: antialiased !important;
-moz-osx-font-smoothing: grayscale !important;
}
body.single-post .post-thumbnail.article-post-thumbnail,
body.single-post .article-post-thumbnail .post-thumbnail-inner,
body.single-post .entry-content .wp-block-image figcaption,
body.single-post .entry-content > h1 {
display: none !important;
visibility: hidden !important;
height: 0 !important;
margin: 0 !important;
padding: 0 !important;
}
body.single-post #inner-wrap,
body.single-post #primary,
body.single-post #main { background: transparent !important; }
body.single-post .content-container.site-container {
max-width: 860px !important;
margin: 0 auto !important;
padding: 0 24px !important;
}
body.single-post .content-wrap { padding-top: 40px !important; }
body.single-post article.single-entry {
background: var(--ce-surface) !important;
border-radius: var(--ce-radius-lg) !important;
box-shadow: var(--ce-shadow-md) !important;
border: 1px solid var(--ce-border) !important;
padding: 56px 56px 48px !important;
margin-bottom: 48px !important;
overflow: hidden !important;
position: relative !important;
}
body.single-post article.single-entry::before {
content: '' !important;
position: absolute !important;
top: 0 !important; left: 0 !important; right: 0 !important;
height: 4px !important;
background: linear-gradient(90deg, var(--ce-navy), var(--ce-crimson), var(--ce-navy)) !important;
}
body.single-post .entry-content-wrap { background: transparent !important; padding: 0 !important; }
body.single-post .entry-header {
padding: 0 0 28px !important;
margin: 0 0 40px !important;
border-bottom: 1px solid var(--ce-border) !important;
}
body.single-post .entry-taxonomies { margin-bottom: 20px !important; }
body.single-post .entry-taxonomies .category-links a {
display: inline-block !important;
background: var(--ce-crimson-tint) !important;
color: var(--ce-navy) !important;
padding: 6px 16px !important;
border-radius: 100px !important;
font-family: var(--ce-font-sans) !important;
font-size: 12px !important;
font-weight: 600 !important;
letter-spacing: 0.08em !important;
text-transform: uppercase !important;
text-decoration: none !important;
border: 1px solid var(--ce-border-strong) !important;
transition: all 0.25s ease !important;
}
body.single-post .entry-taxonomies .category-links a:hover {
background: var(--ce-crimson) !important;
color: #fff !important;
border-color: var(--ce-crimson) !important;
transform: translateY(-1px) !important;
}
body.single-post .entry-title {
font-family: var(--ce-font-serif) !important;
font-size: clamp(1.75rem, 3.5vw, 2.75rem) !important;
line-height: 1.2 !important;
font-weight: 600 !important;
color: var(--ce-navy-deep) !important;
margin: 0 0 24px !important;
letter-spacing: -0.01em !important;
}
body.single-post .entry-meta {
display: flex !important;
flex-wrap: wrap !important;
align-items: center !important;
gap: 14px !important;
font-size: 13px !important;
color: var(--ce-text-muted) !important;
font-family: var(--ce-font-sans) !important;
}
body.single-post .entry-meta .meta-label {
color: var(--ce-text-soft) !important;
text-transform: uppercase !important;
letter-spacing: 0.08em !important;
font-size: 11px !important;
margin-right: 6px !important;
}
body.single-post .entry-meta .author a,
body.single-post .entry-meta .posted-on time {
color: var(--ce-text-muted) !important;
font-weight: 500 !important;
text-decoration: none !important;
border-bottom: none !important;
}
body.single-post .entry-meta .author a:hover { color: var(--ce-navy) !important; }
body.single-post .entry-meta-divider-dot > span + span::before {
content: '•' !important;
color: var(--ce-border-strong) !important;
margin-right: 14px !important;
}
body.single-post .entry-content {
font-family: var(--ce-font-sans) !important;
font-size: 17px !important;
line-height: 1.75 !important;
color: var(--ce-text-dark) !important;
}
body.single-post .entry-content p { margin: 0 0 1.4em !important; color: var(--ce-text-dark) !important; }
body.single-post .entry-content > p:first-of-type {
font-size: 19px !important;
line-height: 1.7 !important;
color: var(--ce-navy) !important;
font-weight: 450 !important;
}
body.single-post .entry-content strong { color: var(--ce-navy-deep) !important; font-weight: 700 !important; }
body.single-post .entry-content em { color: var(--ce-navy) !important; font-style: italic !important; }
body.single-post .entry-content a {
color: var(--ce-crimson) !important;
text-decoration: none !important;
border-bottom: 1px solid var(--ce-crimson-soft) !important;
transition: all 0.2s ease !important;
}
body.single-post .entry-content a:hover { color: var(--ce-navy) !important; border-bottom-color: var(--ce-navy) !important; }
body.single-post .entry-content h2 {
font-family: var(--ce-font-serif) !important;
font-size: clamp(1.5rem, 2.5vw, 1.95rem) !important;
line-height: 1.25 !important;
font-weight: 600 !important;
color: var(--ce-navy-deep) !important;
margin: 2.2em 0 0.8em !important;
padding-top: 0.6em !important;
position: relative !important;
letter-spacing: -0.005em !important;
}
body.single-post .entry-content h2::before {
content: '' !important;
position: absolute !important;
top: 0 !important; left: 0 !important;
width: 48px !important;
height: 3px !important;
background: var(--ce-crimson) !important;
border-radius: 2px !important;
}
body.single-post .entry-content h3 {
font-family: var(--ce-font-serif) !important;
font-size: 1.35rem !important;
line-height: 1.3 !important;
font-weight: 600 !important;
color: var(--ce-navy) !important;
margin: 1.8em 0 0.6em !important;
}
body.single-post .entry-content ul,
body.single-post .entry-content ol {
margin: 0 0 1.6em !important;
padding: 0 0 0 4px !important;
list-style: none !important;
}
body.single-post .entry-content ul li,
body.single-post .entry-content ol li {
position: relative !important;
padding: 0 0 0 28px !important;
margin: 0 0 12px !important;
line-height: 1.7 !important;
}
body.single-post .entry-content ul li::before {
content: '' !important;
position: absolute !important;
left: 0 !important;
top: 0.7em !important;
width: 10px !important;
height: 10px !important;
background: var(--ce-crimson) !important;
border-radius: 2px !important;
transform: rotate(45deg) !important;
}
body.single-post .entry-content ol { counter-reset: ce-list !important; }
body.single-post .entry-content ol li { counter-increment: ce-list !important; }
body.single-post .entry-content ol li::before {
content: counter(ce-list) !important;
position: absolute !important;
left: 0 !important;
top: 0.2em !important;
width: 22px !important;
height: 22px !important;
background: var(--ce-navy) !important;
color: #fff !important;
border-radius: 50% !important;
font-size: 11px !important;
font-weight: 700 !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
}
body.single-post .entry-content .wp-block-image {
margin: 2em 0 !important;
border-radius: var(--ce-radius) !important;
overflow: hidden !important;
box-shadow: var(--ce-shadow-md) !important;
}
body.single-post .entry-content .wp-block-image img {
display: block !important;
width: 100% !important;
height: auto !important;
border-radius: 0 !important;
}
body.single-post .entry-content .disclaimer {
background: var(--ce-surface-alt) !important;
border-left: 4px solid var(--ce-crimson) !important;
border-radius: var(--ce-radius-sm) !important;
padding: 20px 24px !important;
margin: 2.5em 0 0 !important;
position: relative !important;
}
body.single-post .entry-content .disclaimer p {
margin: 0 !important;
font-size: 14px !important;
line-height: 1.6 !important;
color: var(--ce-text-muted) !important;
font-style: italic !important;
}
body.single-post .entry-content blockquote {
background: var(--ce-surface-alt) !important;
border-left: 4px solid var(--ce-navy) !important;
padding: 24px 28px !important;
margin: 2em 0 !important;
border-radius: 0 var(--ce-radius) var(--ce-radius) 0 !important;
font-family: var(--ce-font-serif) !important;
font-size: 19px !important;
font-style: italic !important;
color: var(--ce-navy-deep) !important;
}
body.single-post .post-navigation { margin: 0 0 48px !important; padding: 0 !important; border: none !important; }
body.single-post .post-navigation .nav-links {
display: grid !important;
grid-template-columns: 1fr 1fr !important;
gap: 20px !important;
}
body.single-post .post-navigation .nav-previous,
body.single-post .post-navigation .nav-next {
background: var(--ce-surface) !important;
border: 1px solid var(--ce-border) !important;
border-radius: var(--ce-radius) !important;
transition: all 0.3s ease !important;
overflow: hidden !important;
}
body.single-post .post-navigation .nav-next { grid-column: 2 / -1 !important; }
body.single-post .post-navigation .nav-links > div:only-child { grid-column: 1 / -1 !important; }
body.single-post .post-navigation .nav-previous:hover,
body.single-post .post-navigation .nav-next:hover {
border-color: var(--ce-crimson) !important;
box-shadow: var(--ce-shadow-md) !important;
transform: translateY(-2px) !important;
}
body.single-post .post-navigation a {
display: block !important;
padding: 22px 26px !important;
text-decoration: none !important;
color: var(--ce-navy-deep) !important;
font-family: var(--ce-font-serif) !important;
font-weight: 600 !important;
font-size: 17px !important;
line-height: 1.35 !important;
border-bottom: none !important;
}
body.single-post .post-navigation-sub {
font-family: var(--ce-font-sans) !important;
font-size: 11px !important;
text-transform: uppercase !important;
letter-spacing: 0.1em !important;
color: var(--ce-crimson) !important;
margin-bottom: 10px !important;
display: flex !important;
align-items: center !important;
gap: 8px !important;
font-weight: 700 !important;
}
body.single-post .post-navigation-sub small { font-size: inherit !important; display: inline-flex !important; align-items: center !important; gap: 8px !important; }
body.single-post .post-navigation-sub svg { width: 14px !important; height: 14px !important; transition: transform 0.3s ease !important; }
body.single-post .post-navigation .nav-next:hover svg { transform: translateX(4px) !important; }
body.single-post .post-navigation .nav-previous:hover svg { transform: translateX(-4px) !important; }
html body.single-post .entry-related.alignfull {
background: var(--ce-page-bg) !important;
margin: 40px calc(50% - 50vw) 0 !important;
padding: 64px 0 72px !important;
border-top: 1px solid var(--ce-border) !important;
border-bottom: none !important;
width: 100vw !important;
position: relative !important;
overflow: hidden !important;
}
html body.single-post .entry-related .entry-related-inner {
max-width: 1240px !important;
margin: 0 auto !important;
padding: 0 40px !important;
}
html body.single-post .entry-related .entry-related-inner-content {
max-width: 100% !important;
padding: 0 !important;
margin: 0 !important;
}
html body.single-post .entry-related .entry-related-title {
font-family: var(--ce-font-serif) !important;
font-size: clamp(1.8rem, 3vw, 2.4rem) !important;
font-weight: 600 !important;
color: var(--ce-navy-deep) !important;
text-align: center !important;
margin: 0 0 44px !important;
letter-spacing: -0.01em !important;
line-height: 1.2 !important;
padding: 0 !important;
border: none !important;
position: relative !important;
}
html body.single-post .entry-related .entry-related-title::after {
content: '' !important;
display: block !important;
width: 60px !important;
height: 3px !important;
background: var(--ce-crimson) !important;
margin: 14px auto 0 !important;
border-radius: 2px !important;
}
html body.single-post .entry-related .customize-partial-edit-shortcut { display: none !important; }
html body.single-post .entry-related .entry-related-carousel { position: relative !important; padding: 0 56px !important; }
html body.single-post .entry-related .loop-entry {
background: #fff !important;
border: 1px solid var(--ce-border) !important;
border-radius: 16px !important;
overflow: hidden !important;
display: flex !important;
flex-direction: column !important;
height: 100% !important;
box-shadow: 0 2px 10px rgba(20, 40, 48, 0.05) !important;
transition: transform 0.4s var(--ce-ease), box-shadow 0.4s ease, border-color 0.3s ease !important;
}
html body.single-post .entry-related .loop-entry:hover {
transform: translateY(-6px) !important;
box-shadow: 0 20px 40px rgba(20, 40, 48, 0.13) !important;
border-color: var(--ce-crimson-soft) !important;
}
html body.single-post .entry-related .loop-entry .post-thumbnail {
display: block !important;
aspect-ratio: 16 / 10 !important;
overflow: hidden !important;
margin: 0 !important;
background: var(--ce-surface-alt) !important;
flex-shrink: 0 !important;
}
html body.single-post .entry-related .loop-entry .post-thumbnail-inner,
html body.single-post .entry-related .loop-entry .post-thumbnail-inner img {
width: 100% !important;
height: 100% !important;
display: block !important;
}
html body.single-post .entry-related .loop-entry .post-thumbnail img {
object-fit: cover !important;
object-position: center !important;
transition: transform 0.7s var(--ce-ease) !important;
}
html body.single-post .entry-related .loop-entry:hover .post-thumbnail img { transform: scale(1.06) !important; }
html body.single-post .entry-related .loop-entry .entry-content-wrap {
display: flex !important;
flex-direction: column !important;
flex: 1 1 auto !important;
padding: 24px !important;
background: #fff !important;
}
html body.single-post .entry-related .loop-entry .entry-header { margin: 0 !important; padding: 0 !important; border: none !important; }
html body.single-post .entry-related .loop-entry .entry-taxonomies { margin: 0 0 12px !important; }
html body.single-post .entry-related .loop-entry .entry-taxonomies .category-links a {
display: inline-block !important;
background: var(--ce-crimson-tint) !important;
color: var(--ce-crimson) !important;
padding: 5px 13px !important;
border-radius: 100px !important;
font-family: var(--ce-font-sans) !important;
font-size: 10.5px !important;
font-weight: 700 !important;
letter-spacing: 0.09em !important;
text-transform: uppercase !important;
text-decoration: none !important;
border: none !important;
line-height: 1.3 !important;
pointer-events: none !important;
}
html body.single-post .entry-related .loop-entry h3.entry-title,
html body.single-post .entry-related .loop-entry .entry-title {
font-family: var(--ce-font-serif) !important;
font-size: 1.2rem !important;
line-height: 1.32 !important;
font-weight: 600 !important;
color: var(--ce-navy-deep) !important;
margin: 0 0 12px !important;
padding: 0 !important;
letter-spacing: -0.005em !important;
text-align: left !important;
}
html body.single-post .entry-related .loop-entry .entry-title a {
color: var(--ce-navy-deep) !important;
text-decoration: none !important;
border-bottom: none !important;
display: -webkit-box !important;
-webkit-line-clamp: 3 !important;
-webkit-box-orient: vertical !important;
overflow: hidden !important;
}
html body.single-post .entry-related .loop-entry .entry-summary { display: none !important; }
html body.single-post .entry-related .loop-entry .entry-meta .posted-by { display: none !important; }
html body.single-post .entry-related .loop-entry .entry-meta-divider-dot .posted-on::before { content: none !important; }
html body.single-post .entry-related .loop-entry .entry-meta {
font-size: 0.72rem !important;
letter-spacing: 0.04em !important;
text-transform: uppercase !important;
color: rgba(3, 41, 95, 0.55) !important;
}
html body.single-post .entry-related .loop-entry .entry-footer {
margin-top: auto !important;
padding-top: 14px !important;
border-top: 1px solid var(--ce-border) !important;
}
html body.single-post .entry-related .loop-entry .post-more-link {
display: inline-flex !important;
align-items: center !important;
gap: 0.5rem !important;
font-size: 0.72rem !important;
font-weight: 700 !important;
letter-spacing: 0.08em !important;
text-transform: uppercase !important;
color: var(--ce-navy) !important;
text-decoration: none !important;
border-bottom: none !important;
}
html body.single-post .entry-related .loop-entry .post-more-link:hover { color: var(--ce-crimson) !important; }
html body.single-post .entry-related .splide__arrow {
background: #fff !important;
border: 1px solid var(--ce-border) !important;
width: 42px !important;
height: 42px !important;
opacity: 1 !important;
}
html body.single-post .entry-related .splide__arrow svg { fill: var(--ce-navy) !important; }
html body.single-post .entry-related .splide__arrow:hover { background: var(--ce-navy) !important; }
html body.single-post .entry-related .splide__arrow:hover svg { fill: #fff !important; }
html body.single-post .entry-related .splide__pagination__page.is-active { background: var(--ce-crimson) !important; }
body.single-post #comments,
body.single-post .comments-area,
body.single-post #respond,
body.single-post .comment-respond {
display: none !important;
}
@media (max-width: 1200px) {
#archive-container { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 1100px) {
.ce-insights-slide { flex-basis: calc((100% - 28px) / 2); }
.ce-blog-hero__inner { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
#archive-container { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
body.single-post article.single-entry { padding: 40px 28px 36px !important; }
body.single-post .content-container.site-container { padding: 0 18px !important; }
body.single-post .post-navigation .nav-links { grid-template-columns: 1fr !important; }
body.single-post .post-navigation .nav-next { grid-column: 1 / -1 !important; }
html body.single-post .entry-related .entry-related-carousel { padding: 0 20px !important; }
html body.single-post .entry-related .entry-related-inner { padding: 0 20px !important; }
}
@media (max-width: 700px) {
.ce-blog-hero { padding-top: 2.5rem; padding-bottom: 2.75rem; }
.ce-blog-hero__meta-divider { display: none; }
.ce-blog-hero__actions { align-items: stretch; }
.ce-blog-hero__btn { width: 100%; }
.ce-insights-header { display: block; }
.ce-insights-header-right,
.ce-insights-arrows { display: none; }
.ce-insights-mobile-link { display: inline-flex; }
.ce-insights-slide { flex-basis: 100%; }
}
@media (max-width: 560px) {
#archive-container {
grid-template-columns: 1fr !important;
gap: 1.1rem !important;
}
#archive-container .entry-content-wrap { padding: 1.4rem 1.4rem 1.2rem !important; }
#archive-container .entry-title { font-size: 1.1rem; }
body.single-post .entry-content { font-size: 16px !important; }
body.single-post .entry-content > p:first-of-type { font-size: 17px !important; }
}
@media (prefers-reduced-motion: reduce) {
html { scroll-behavior: auto; }
#archive-container .entry.loop-entry,
#archive-container .entry.loop-entry::before,
#archive-container .post-thumbnail-inner img,
#archive-container .post-more-link::after,
.ce-blog-hero__btn,
.ce-insights-entry,
.ce-insights-thumb img,
html body.single-post .entry-related .loop-entry,
html body.single-post .entry-related .loop-entry .post-thumbnail img,
.content-area .navigation.pagination .page-numbers {
transition: none !important;
transform: none !important;
animation: none !important;
opacity: 1 !important;
}
}
#archive-container .entry-title {
font-size: clamp(0.98rem, 1.1vw, 1.08rem) !important;
line-height: 1.34 !important;
}
#archive-container .entry-title a {
display: block !important;
-webkit-line-clamp: unset !important;
-webkit-box-orient: unset !important;
overflow: visible !important;
}
#archive-container .category-links a,
#archive-container .category-links a:hover,
#archive-container .category-links a:focus {
background: transparent !important;
color: var(--ce-text-soft) !important;
padding: 0 !important;
border: none !important;
border-radius: 0 !important;
font-size: 0.62rem !important;
font-weight: 700 !important;
letter-spacing: 0.14em !important;
text-transform: uppercase !important;
}
.ce-work {
--ce-navy: #03295f;
--ce-navy-deep: #021c43;
--ce-navy-70: rgba(3, 41, 95, 0.70);
--ce-navy-60: rgba(3, 41, 95, 0.60);
--ce-navy-15: rgba(3, 41, 95, 0.15);
--ce-navy-08: rgba(3, 41, 95, 0.08);
--ce-navy-04: rgba(3, 41, 95, 0.04);
--ce-crimson: #c7272a;
--ce-crimson-deep: #b21f22;
--ce-crimson-90: rgba(199, 39, 42, 0.92);
--ce-crimson-15: rgba(199, 39, 42, 0.15);
--ce-crimson-tint: rgba(199, 39, 42, 0.07);
--ce-white: #fefefe;
--ce-page-bg: #f4f6fb;
--ce-surface: #ffffff;
--ce-border: rgba(3, 41, 95, 0.10);
--ce-border-strong: rgba(3, 41, 95, 0.18);
--ce-text-dark: #16223c;
--ce-text-muted: #51607a;
--ce-text-soft: rgba(22, 34, 60, 0.62);
--ce-shadow-sm: 0 2px 8px rgba(3, 41, 95, 0.06);
--ce-shadow-lg: 0 28px 70px rgba(3, 41, 95, 0.14);
--ce-radius-sm: 8px;
--ce-radius: 14px;
--ce-radius-lg: 22px;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
font-family: var(--ce-font-sans);
color: var(--ce-text-dark);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.ce-work *,
.ce-work *::before,
.ce-work *::after { box-sizing: border-box; }
.ce-work__hero {
position: relative;
isolation: isolate;
overflow: hidden;
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
background:
radial-gradient(ellipse 70% 60% at 6% 95%, var(--ce-navy-08) 0%, transparent 65%),
radial-gradient(ellipse 55% 75% at 94% 30%, var(--ce-crimson-tint) 0%, transparent 62%),
var(--ce-white);
color: var(--ce-navy);
padding: clamp(2rem, 4vw, 3.25rem) clamp(1.25rem, 4vw, 3rem);
}
.ce-work__hero::before {
content: "";
position: absolute;
top: 0; left: 0; right: 0;
height: 4px;
background: linear-gradient(90deg, var(--ce-crimson) 0%, var(--ce-crimson) 58%, var(--ce-navy) 58%, var(--ce-navy) 100%);
}
.ce-work__hero-inner {
position: relative;
max-width: 1240px;
margin: 0 auto;
display: grid;
grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
gap: clamp(1.75rem, 4vw, 3.5rem);
align-items: center;
}
.ce-work__content { max-width: 36rem; }
.ce-work__eyebrow {
display: inline-flex;
align-items: center;
gap: .6rem;
color: var(--ce-navy-70);
font-size: .72rem;
font-weight: 800;
letter-spacing: .16em;
text-transform: uppercase;
}
.ce-work__eyebrow::before {
content: "";
width: 26px;
height: 2px;
background: var(--ce-crimson);
border-radius: 999px;
}
.ce-work__title {
margin: .9rem 0 .75rem;
font-family: var(--ce-font-sans);
font-weight: 600;
font-size: clamp(1.7rem, 3.4vw, 2.85rem);
line-height: 1.08;
letter-spacing: -.03em;
color: var(--ce-navy);
}
.ce-work__title .ce-work__title-accent {
display: block;
margin-top: .12em;
font-family: var(--ce-font-serif);
font-weight: 400;
font-style: italic;
font-size: .76em;
letter-spacing: -.02em;
color: var(--ce-crimson);
}
.ce-work__lede {
max-width: 34rem;
margin: 0 0 1.35rem;
font-size: clamp(.94rem, 1.15vw, 1.06rem);
line-height: 1.6;
color: var(--ce-navy-70);
}
.ce-work__points {
list-style: none;
margin: 0;
padding: 1.15rem 0 0;
border-top: 1px solid var(--ce-navy-15);
display: flex;
flex-wrap: wrap;
gap: .5rem .65rem;
}
.ce-work__points li {
display: inline-flex;
align-items: center;
gap: .45rem;
font-size: .8rem;
font-weight: 600;
color: var(--ce-navy);
}
.ce-work__points li::before {
content: "";
width: 6px;
height: 6px;
border-radius: 50%;
background: var(--ce-crimson);
flex-shrink: 0;
}
.ce-work__points li + li { padding-left: .65rem; border-left: 1px solid var(--ce-navy-15); }
.ce-work__panel {
background: var(--ce-surface);
border: 1px solid var(--ce-border);
border-radius: var(--ce-radius-lg);
box-shadow: var(--ce-shadow-lg);
overflow: hidden;
}
.ce-work__panel-head {
padding: 1rem 1.5rem;
background: var(--ce-navy);
color: var(--ce-white);
font-family: var(--ce-font-serif);
font-style: italic;
font-size: 1.05rem;
font-weight: 500;
}
.ce-work__panel-list { list-style: none; margin: 0; padding: .5rem 1.5rem 1rem; }
.ce-work__panel-list li {
display: flex;
gap: .9rem;
padding: 1rem 0;
border-bottom: 1px solid var(--ce-border);
}
.ce-work__panel-list li:last-child { border-bottom: none; }
.ce-work__panel-ic {
flex-shrink: 0;
width: 38px;
height: 38px;
border-radius: 10px;
background: var(--ce-crimson-tint);
color: var(--ce-crimson);
display: inline-flex;
align-items: center;
justify-content: center;
}
.ce-work__panel-ic svg { width: 19px; height: 19px; }
.ce-work__panel-txt h3 {
margin: 0 0 .2rem;
font-family: var(--ce-font-serif);
font-size: 1.04rem;
font-weight: 600;
color: var(--ce-navy-deep);
letter-spacing: -.01em;
}
.ce-work__panel-txt p {
margin: 0;
font-size: .87rem;
line-height: 1.5;
color: var(--ce-text-muted);
}
.ce-work__form-section {
width: 100vw;
max-width: 100vw;
margin-left: calc(50% - 50vw);
margin-right: calc(50% - 50vw);
background: var(--ce-page-bg);
padding: clamp(2.5rem, 5vw, 4.5rem) clamp(1.25rem, 4vw, 3rem);
}
.ce-work__form-wrap {
max-width: 720px;
margin: 0 auto;
background: var(--ce-surface);
border: 1px solid var(--ce-border);
border-radius: var(--ce-radius-lg);
box-shadow: var(--ce-shadow-lg);
overflow: hidden;
}
.ce-work__form-banner {
background: linear-gradient(135deg, var(--ce-navy) 0%, var(--ce-navy-deep) 100%);
color: var(--ce-white);
padding: clamp(1.4rem, 3vw, 2rem) clamp(1.5rem, 4vw, 2.75rem);
position: relative;
}
.ce-work__form-banner::before {
content: "";
position: absolute;
top: 0; left: 0; right: 0;
height: 4px;
background: linear-gradient(90deg, var(--ce-crimson) 0%, var(--ce-crimson) 55%, rgba(255,255,255,.25) 55%, rgba(255,255,255,.25) 100%);
}
.ce-work__form-banner h2 {
margin: 0 0 .4rem;
font-family: var(--ce-font-serif);
font-size: clamp(1.35rem, 2.6vw, 1.75rem);
font-weight: 500;
letter-spacing: -.02em;
color: var(--ce-white);
}
.ce-work__form-banner h2 em { font-style: italic; font-weight: 400; color: #ff8f78; }
.ce-work__form-banner p {
margin: 0;
color: rgba(255, 255, 255, .86);
font-size: .94rem;
line-height: 1.6;
}
.ce-work__form-body { padding: clamp(1.6rem, 4vw, 2.4rem) clamp(1.5rem, 4vw, 2.75rem); }
.ce-work__form-slot {
border: 1px dashed var(--ce-border-strong);
border-radius: var(--ce-radius);
padding: 2rem 1.5rem;
text-align: center;
color: var(--ce-text-soft);
font-size: .9rem;
line-height: 1.6;
}
.ce-work__form-slot:has(.forminator-ui),
.ce-work__form-slot:has(form) { border: none; padding: 0; text-align: left; }
.ce-work__form-foot {
margin: 1.25rem 0 0;
display: flex;
align-items: flex-start;
gap: .55rem;
color: var(--ce-text-soft);
font-size: .8rem;
line-height: 1.55;
}
.ce-work__form-foot svg { width: 15px; height: 15px; color: var(--ce-crimson); flex-shrink: 0; margin-top: 1px; }
.ce-work .forminator-ui.forminator-custom-form,
.ce-work .forminator-custom-form { font-family: var(--ce-font-sans) !important; }
.ce-work .forminator-row { margin-bottom: 1.05rem !important; }
.ce-work .forminator-label,
.ce-work .forminator-field label {
font-size: .78rem !important;
font-weight: 700 !important;
letter-spacing: .04em !important;
text-transform: uppercase !important;
color: var(--ce-navy) !important;
margin-bottom: .45rem !important;
}
.ce-work .forminator-required { color: var(--ce-crimson) !important; }
.ce-work .forminator-input,
.ce-work .forminator-textarea,
.ce-work select.forminator-select,
.ce-work input[type="text"],
.ce-work input[type="email"],
.ce-work input[type="tel"],
.ce-work input[type="url"],
.ce-work input[type="number"],
.ce-work textarea,
.ce-work select {
width: 100% !important;
background: #fff !important;
border: 1px solid var(--ce-border-strong) !important;
border-radius: var(--ce-radius-sm) !important;
padding: .8rem 1rem !important;
font-family: var(--ce-font-sans) !important;
font-size: .96rem !important;
color: var(--ce-text-dark) !important;
line-height: 1.5 !important;
transition: border-color .25s var(--ce-ease), box-shadow .25s var(--ce-ease) !important;
}
.ce-work .forminator-textarea,
.ce-work textarea { min-height: 120px !important; resize: vertical !important; }
.ce-work .forminator-input:focus,
.ce-work .forminator-textarea:focus,
.ce-work input:focus,
.ce-work textarea:focus,
.ce-work select:focus {
outline: none !important;
border-color: var(--ce-crimson) !important;
box-shadow: 0 0 0 3px var(--ce-crimson-tint) !important;
}
.ce-work .forminator-input::placeholder,
.ce-work .forminator-textarea::placeholder { color: var(--ce-text-soft) !important; }
.ce-work .forminator-checkbox,
.ce-work .forminator-radio {
display: flex !important;
align-items: flex-start !important;
gap: .5rem !important;
font-size: .9rem !important;
color: var(--ce-text-muted) !important;
line-height: 1.5 !important;
}
.ce-work .forminator-checkbox input,
.ce-work .forminator-radio input { accent-color: var(--ce-crimson) !important; margin-top: 2px !important; }
.ce-work .forminator-description {
font-size: .78rem !important;
color: var(--ce-text-soft) !important;
margin-top: .3rem !important;
}
.ce-work .forminator-button,
.ce-work .forminator-button-submit,
.ce-work button[type="submit"],
.ce-work input[type="submit"] {
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
gap: .5rem !important;
background: var(--ce-crimson) !important;
color: #fff !important;
border: none !important;
border-radius: var(--ce-radius-sm) !important;
padding: .9rem 1.9rem !important;
font-family: var(--ce-font-sans) !important;
font-size: .9rem !important;
font-weight: 700 !important;
letter-spacing: .01em !important;
cursor: pointer !important;
box-shadow: 0 8px 20px -8px var(--ce-crimson-90) !important;
transition: transform .25s var(--ce-ease), background .25s var(--ce-ease), box-shadow .25s var(--ce-ease) !important;
}
.ce-work .forminator-button:hover,
.ce-work .forminator-button-submit:hover,
.ce-work button[type="submit"]:hover,
.ce-work input[type="submit"]:hover {
background: var(--ce-crimson-deep) !important;
transform: translateY(-2px) !important;
box-shadow: 0 14px 28px -10px var(--ce-crimson-90) !important;
}
.ce-work .forminator-response-message.forminator-success,
.ce-work .forminator-success {
background: var(--ce-navy-04) !important;
border: 1px solid var(--ce-border-strong) !important;
border-left: 4px solid var(--ce-navy) !important;
border-radius: var(--ce-radius-sm) !important;
padding: 1rem 1.15rem !important;
color: var(--ce-navy-deep) !important;
}
.ce-work .forminator-response-message.forminator-error,
.ce-work .forminator-error { border-left: 4px solid var(--ce-crimson) !important; }
@media (max-width: 1024px) {
.ce-work__hero-inner { grid-template-columns: 1fr; gap: 1.75rem; }
.ce-work__content { max-width: 100%; }
.ce-work__panel { max-width: 560px; }
}
@media (max-width: 540px) {
.ce-work__points { flex-direction: column; gap: .5rem; }
.ce-work__points li + li { padding-left: 0; border-left: none; }
}
@media (prefers-reduced-motion: reduce) {
.ce-work .forminator-button { transition: none !important; transform: none !important; }
}
#masthead .site-header-main-section-center,
#masthead .site-header-main-section-center-contents,
#masthead .header-navigation,
#masthead #primary-menu {
min-width: 0 !important;
}
#masthead #primary-menu {
flex-wrap: nowrap !important;
}
@media (min-width: 1025px) and (max-width: 1480px) {
#masthead .site-branding .custom-logo {
height: clamp(60px, 6vw, 98px) !important;
max-height: clamp(60px, 6vw, 98px) !important;
min-height: 60px !important;
max-width: clamp(150px, 17vw, 280px) !important;
}
#masthead #primary-menu {
gap: 0 !important;
}
#masthead #primary-menu > li > a {
padding: 9px clamp(5px, 0.75vw, 11px) !important;
font-size: clamp(12px, 1.02vw, 14px) !important;
gap: 2px;
}
#masthead #primary-menu > li > a::after {
left: clamp(5px, 0.75vw, 11px);
right: clamp(5px, 0.75vw, 11px);
}
#masthead .dropdown-nav-toggle svg {
width: 10px !important;
height: 10px !important;
}
#masthead .header-button {
padding: 10px clamp(11px, 1.3vw, 20px) !important;
font-size: clamp(11.5px, 1vw, 13.5px) !important;
}
#masthead .site-branding {
margin-right: clamp(0.4rem, 1vw, 1.5rem);
}
#masthead .header-button-wrap {
margin-left: clamp(0.4rem, 1vw, 1.25rem);
}
}
@media (min-width: 1025px) and (max-width: 1150px) {
#masthead .header-button {
padding: 9px 12px !important;
letter-spacing: -0.01em;
}
}
.ce-work__form-slot {
--cef-navy: #03295f;
--cef-navy-dark: #021c43;
--cef-navy-mute: rgba(3, 41, 95, 0.55);
--cef-navy-line: rgba(3, 41, 95, 0.16);
--cef-navy-soft: rgba(3, 41, 95, 0.04);
--cef-crimson: #c7272a;
--cef-crimson-dark: #b21f22;
--cef-crimson-soft: rgba(199, 39, 42, 0.07);
--cef-paper: #fefefe;
--cef-text: #1a1a1a;
--cef-ease: cubic-bezier(0.22, 1, 0.36, 1);
--cef-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
--cef-radius: 10px;
font-family: var(--cef-font-sans);
width: 100%;
}
.ce-work__form-slot .forminator-custom-form {
display: block;
width: 100%;
}
.ce-work__form-slot .forminator-row {
display: flex !important;
flex-wrap: wrap;
gap: 18px 22px;
margin: 0 0 18px !important;
}
.ce-work__form-slot .forminator-row:last-of-type {
margin-bottom: 0 !important;
}
.ce-work__form-slot .forminator-col {
flex: 1 1 100%;
min-width: 0;
padding: 0 !important;
margin: 0 !important;
}
.ce-work__form-slot .forminator-col-6 {
flex: 1 1 calc(50% - 11px);
}
@media (max-width: 680px) {
.ce-work__form-slot .forminator-col-6 {
flex: 1 1 100%;
}
.ce-work__form-slot .forminator-row {
gap: 16px 0;
margin-bottom: 16px !important;
}
}
.ce-work__form-slot .forminator-field {
display: flex;
flex-direction: column;
gap: 7px;
}
.ce-work__form-slot .forminator-label {
font-size: 12px !important;
font-weight: 600 !important;
letter-spacing: 0.06em;
text-transform: uppercase;
color: var(--cef-navy) !important;
margin: 0 !important;
line-height: 1.3;
}
.ce-work__form-slot .forminator-required {
color: var(--cef-crimson) !important;
margin-left: 2px;
}
.ce-work__form-slot .forminator-input,
.ce-work__form-slot input.forminator-input-file + label,
.ce-work__form-slot .forminator-input--field {
width: 100% !important;
box-sizing: border-box;
height: auto !important;
min-height: 52px;
padding: 14px 16px !important;
font-family: var(--cef-font-sans) !important;
font-size: 15px !important;
color: var(--cef-text) !important;
background: var(--cef-paper) !important;
border: 1px solid var(--cef-navy-line) !important;
border-radius: var(--cef-radius) !important;
box-shadow: 0 1px 2px rgba(3, 41, 95, 0.03) !important;
transition:
border-color 0.25s var(--cef-ease),
box-shadow 0.25s var(--cef-ease),
background 0.25s var(--cef-ease) !important;
-webkit-appearance: none;
appearance: none;
}
.ce-work__form-slot .forminator-input::placeholder {
color: var(--cef-navy-mute) !important;
}
.ce-work__form-slot .forminator-input:hover {
border-color: rgba(3, 41, 95, 0.32) !important;
}
.ce-work__form-slot .forminator-input:focus,
.ce-work__form-slot .forminator-input:focus-visible {
outline: none !important;
border-color: var(--cef-crimson) !important;
background: var(--cef-paper) !important;
box-shadow:
0 0 0 3px var(--cef-crimson-soft),
0 1px 2px rgba(3, 41, 95, 0.04) !important;
}
.ce-work__form-slot .forminator-input:-webkit-autofill {
-webkit-text-fill-color: var(--cef-text);
box-shadow: 0 0 0 1000px var(--cef-paper) inset !important;
}
.ce-work__form-slot .forminator-has_error .forminator-input {
border-color: var(--cef-crimson) !important;
background: var(--cef-crimson-soft) !important;
}
.ce-work__form-slot .forminator-error-message {
display: block;
font-size: 12.5px !important;
font-weight: 500;
color: var(--cef-crimson) !important;
background: transparent !important;
padding: 0 !important;
margin: 2px 0 0 !important;
line-height: 1.4;
}
.ce-work__form-slot .forminator-response-message {
border-radius: var(--cef-radius) !important;
padding: 14px 16px !important;
font-size: 14px !important;
margin-bottom: 20px !important;
border: 1px solid transparent !important;
}
.ce-work__form-slot .forminator-response-message.forminator-error {
background: var(--cef-crimson-soft) !important;
border-color: rgba(199, 39, 42, 0.25) !important;
color: var(--cef-crimson-dark) !important;
}
.ce-work__form-slot .forminator-response-message[aria-hidden="true"] {
display: none !important;
}
.ce-work__form-slot .forminator-file-upload {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 12px;
padding: 14px 16px;
border: 1px dashed var(--cef-navy-line);
border-radius: var(--cef-radius);
background: var(--cef-navy-soft);
transition: border-color 0.25s var(--cef-ease);
}
.ce-work__form-slot .forminator-file-upload:hover {
border-color: rgba(3, 41, 95, 0.34);
}
.ce-work__form-slot .forminator-button-upload {
flex: 0 0 auto;
display: inline-flex !important;
align-items: center;
justify-content: center;
padding: 11px 20px !important;
font-family: var(--cef-font-sans) !important;
font-size: 13.5px !important;
font-weight: 600 !important;
letter-spacing: 0.01em;
color: var(--cef-navy) !important;
background: var(--cef-paper) !important;
border: 1px solid var(--cef-navy-line) !important;
border-radius: 8px !important;
cursor: pointer;
box-shadow: 0 1px 2px rgba(3, 41, 95, 0.04) !important;
transition:
background 0.25s var(--cef-ease),
border-color 0.25s var(--cef-ease),
transform 0.2s var(--cef-ease) !important;
}
.ce-work__form-slot .forminator-button-upload:hover {
background: #fff !important;
border-color: var(--cef-navy) !important;
transform: translateY(-1px);
}
.ce-work__form-slot .forminator-file-upload [data-empty-text],
.ce-work__form-slot .forminator-file-upload span {
font-size: 13.5px;
color: var(--cef-navy-mute);
}
.ce-work__form-slot .forminator-button-delete {
background: transparent !important;
border: none !important;
color: var(--cef-crimson) !important;
cursor: pointer;
padding: 4px !important;
}
.ce-work__form-slot .forminator-row-last {
margin-top: 26px !important;
}
.ce-work__form-slot .forminator-button-submit {
display: inline-flex !important;
align-items: center;
justify-content: center;
gap: 8px;
padding: 16px 38px !important;
font-family: var(--cef-font-sans) !important;
font-size: 15px !important;
font-weight: 600 !important;
letter-spacing: 0.01em;
line-height: 1 !important;
color: var(--cef-paper) !important;
background: var(--cef-crimson) !important;
border: 1px solid transparent !important;
border-radius: var(--cef-radius) !important;
cursor: pointer;
box-shadow:
0 1px 0 rgba(255, 255, 255, 0.15) inset,
0 8px 20px -10px rgba(199, 39, 42, 0.7),
0 2px 4px rgba(3, 41, 95, 0.06) !important;
transition:
transform 0.3s var(--cef-ease),
background 0.25s var(--cef-ease),
box-shadow 0.3s var(--cef-ease) !important;
}
.ce-work__form-slot .forminator-button-submit:hover,
.ce-work__form-slot .forminator-button-submit:focus-visible {
background: var(--cef-crimson-dark) !important;
transform: translateY(-2px);
box-shadow:
0 1px 0 rgba(255, 255, 255, 0.18) inset,
0 14px 28px -10px rgba(199, 39, 42, 0.72),
0 4px 8px rgba(3, 41, 95, 0.08) !important;
}
.ce-work__form-slot .forminator-button-submit:focus-visible {
outline: 2px solid var(--cef-navy) !important;
outline-offset: 3px;
}
.ce-work__form-slot .forminator-button-submit:active {
transform: translateY(0);
}
@media (max-width: 680px) {
.ce-work__form-slot .forminator-button-submit {
width: 100%;
}
.ce-work__form-slot .forminator-row-last {
margin-top: 22px !important;
}
.ce-work__form-slot .forminator-file-upload {
flex-direction: column;
align-items: stretch;
text-align: center;
}
.ce-work__form-slot .forminator-button-upload {
width: 100%;
}
}
.ce-work__form-slot .forminator-edit-module {
margin-top: 14px;
opacity: 0.4;
}
.ce-work__form-slot .forminator-edit-module a {
color: var(--cef-navy-mute) !important;
font-size: 11px;
}
.ce-city-page {
--ce-navy: #03295f;
--ce-navy-deep: #021d44;
--ce-crimson: #c7272a;
--ce-crimson-deep: #a81f22;
--ce-off-white: #fefefe;
--ce-ink: #0f1a2e;
--ce-muted: #5b6376;
--ce-line: #e5e8ef;
--ce-soft: #f5f6f9;
--ce-ease: cubic-bezier(0.22, 1, 0.36, 1);
--ce-max: 1240px;
--ce-pad: clamp(20px, 4vw, 56px);
font-family: "Inter Tight", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
color: var(--ce-ink);
background: var(--ce-off-white);
-webkit-font-smoothing: antialiased;
}
.ce-city-page em {
font-family: "Fraunces", Georgia, serif;
font-style: italic;
font-weight: 400;
color: var(--ce-crimson);
}
.ce-city-page .ce-btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 8px;
padding: 12px 22px;
font-size: 14.5px;
font-weight: 500;
letter-spacing: 0.005em;
text-decoration: none;
border-radius: 4px;
transition: all 0.4s var(--ce-ease);
border: 1px solid transparent;
white-space: nowrap;
}
.ce-city-page .ce-btn__arrow {
transition: transform 0.4s var(--ce-ease);
display: inline-block;
}
.ce-city-page .ce-btn:hover .ce-btn__arrow {
transform: translateX(4px);
}
.ce-city-page .ce-btn__icon {
display: inline-flex;
align-items: center;
justify-content: center;
}
.ce-city-page .ce-btn__icon svg {
width: 16px;
height: 16px;
}
.ce-city-page .ce-btn--primary {
background: var(--ce-crimson);
color: var(--ce-off-white);
}
.ce-city-page .ce-btn--primary:hover {
background: var(--ce-crimson-deep);
transform: translateY(-1px);
}
.ce-city-page .ce-btn--phone {
background: transparent;
color: var(--ce-navy);
border-color: var(--ce-line);
}
.ce-city-page .ce-btn--phone:hover {
background: var(--ce-soft);
border-color: var(--ce-navy);
}
.ce-city-page .ce-btn--ghost {
background: transparent;
color: var(--ce-off-white);
border-color: rgba(254, 254, 254, 0.4);
}
.ce-city-page .ce-btn--ghost:hover {
background: var(--ce-off-white);
color: var(--ce-navy);
border-color: var(--ce-off-white);
}
.ce-city-hero {
position: relative;
width: 100vw;
margin-left: calc(50% - 50vw);
background: var(--ce-off-white);
overflow: hidden;
}
.ce-city-hero::before {
content: "";
position: absolute;
top: 0;
right: 0;
width: 55%;
height: 100%;
background: linear-gradient(135deg, transparent 0%, rgba(3, 41, 95, 0.04) 100%);
pointer-events: none;
z-index: 0;
}
.ce-city-hero__inner {
position: relative;
z-index: 1;
max-width: var(--ce-max);
margin: 0 auto;
padding: clamp(56px, 7vw, 96px) var(--ce-pad);
display: grid;
grid-template-columns: 1fr;
gap: 48px;
align-items: center;
}
.ce-city-hero__content {
min-width: 0;
}
.ce-city-hero__breadcrumb {
display: flex;
align-items: center;
gap: 8px;
font-size: 13.5px;
color: var(--ce-navy);
margin-bottom: 28px;
}
.ce-city-hero__breadcrumb a {
color: var(--ce-navy);
text-decoration: none;
transition: color 0.3s var(--ce-ease);
}
.ce-city-hero__breadcrumb a:hover {
color: var(--ce-crimson);
}
.ce-city-hero__breadcrumb-sep {
color: var(--ce-muted);
font-size: 14px;
}
.ce-city-hero__breadcrumb-current {
color: var(--ce-muted);
}
.ce-city-hero__title {
font-size: clamp(36px, 5vw, 60px);
line-height: 1.05;
font-weight: 600;
letter-spacing: -0.02em;
color: var(--ce-navy);
margin: 0 0 24px;
}
.ce-city-hero__accent {
font-family: "Fraunces", Georgia, serif;
font-style: italic;
font-weight: 400;
color: var(--ce-crimson);
display: inline-block;
}
.ce-city-hero__lead {
font-size: 16px;
line-height: 1.65;
color: var(--ce-muted);
max-width: 540px;
margin: 0 0 32px;
}
.ce-city-hero__cta {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin: 0 0 32px;
}
.ce-city-hero__tags {
list-style: none;
margin: 0;
padding: 0;
display: flex;
flex-wrap: wrap;
gap: 8px;
}
.ce-city-hero__tag {
font-size: 12.5px;
font-weight: 500;
letter-spacing: 0.02em;
text-transform: uppercase;
color: var(--ce-navy);
background: var(--ce-soft);
padding: 7px 14px;
border-radius: 999px;
border: 1px solid var(--ce-line);
}
.ce-city-hero__media {
position: relative;
border-radius: 4px;
overflow: hidden;
aspect-ratio: 4 / 5;
max-width: 540px;
justify-self: center;
width: 100%;
}
.ce-city-hero__image {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
}
@media (min-width: 960px) {
.ce-city-hero__inner {
grid-template-columns: 1.05fr 1fr;
gap: 64px;
padding: clamp(72px, 8vw, 112px) var(--ce-pad);
}
}
.ce-city-availability {
width: 100vw;
margin-left: calc(50% - 50vw);
background: var(--ce-off-white);
border-top: 1px solid var(--ce-line);
}
.ce-city-availability__inner {
max-width: var(--ce-max);
margin: 0 auto;
padding: clamp(64px, 7vw, 96px) var(--ce-pad);
}
.ce-city-availability__header {
max-width: 780px;
margin: 0 0 48px;
}
.ce-city-availability__eyebrow,
.ce-city-specialisms__eyebrow,
.ce-city-courts__eyebrow,
.ce-city-cta__eyebrow {
font-size: 12.5px;
letter-spacing: 0.18em;
text-transform: uppercase;
color: var(--ce-crimson);
margin: 0 0 16px;
font-weight: 600;
}
.ce-city-availability__title {
font-size: clamp(28px, 3vw, 38px);
line-height: 1.2;
font-weight: 600;
letter-spacing: -0.015em;
color: var(--ce-navy);
margin: 0 0 20px;
}
.ce-city-availability__body {
font-size: 16px;
line-height: 1.7;
color: var(--ce-muted);
margin: 0;
}
.ce-city-availability__stats {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 1px;
background: var(--ce-line);
border: 1px solid var(--ce-line);
}
.ce-city-availability__stat {
background: var(--ce-off-white);
padding: 28px 26px;
display: flex;
flex-direction: column;
gap: 10px;
}
.ce-city-availability__stat-number {
font-family: "Fraunces", Georgia, serif;
font-size: clamp(32px, 3.4vw, 44px);
font-weight: 400;
color: var(--ce-crimson);
line-height: 1;
letter-spacing: -0.02em;
}
.ce-city-availability__stat-number--word {
font-size: clamp(26px, 2.8vw, 36px);
}
.ce-city-availability__stat-unit {
font-size: 0.6em;
font-style: italic;
margin-left: 2px;
}
.ce-city-availability__stat-label {
font-size: 13.5px;
line-height: 1.5;
color: var(--ce-muted);
}
.ce-city-specialisms {
width: 100vw;
margin-left: calc(50% - 50vw);
background: var(--ce-soft);
}
.ce-city-specialisms__inner {
max-width: var(--ce-max);
margin: 0 auto;
padding: clamp(64px, 7vw, 96px) var(--ce-pad);
}
.ce-city-specialisms__header {
max-width: 780px;
margin: 0 0 48px;
}
.ce-city-specialisms__title {
font-size: clamp(28px, 3vw, 38px);
line-height: 1.2;
font-weight: 600;
letter-spacing: -0.015em;
color: var(--ce-navy);
margin: 0 0 20px;
}
.ce-city-specialisms__intro {
font-size: 16px;
line-height: 1.7;
color: var(--ce-muted);
margin: 0;
}
.ce-city-specialisms__grid {
list-style: none;
margin: 0;
padding: 0;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: 1px;
background: var(--ce-line);
border: 1px solid var(--ce-line);
}
.ce-city-specialisms__item {
background: var(--ce-off-white);
padding: 28px 26px;
transition: background 0.4s var(--ce-ease);
}
.ce-city-specialisms__item:hover {
background: #fafbfd;
}
.ce-city-specialisms__item-title {
font-size: 16.5px;
font-weight: 600;
color: var(--ce-navy);
margin: 0 0 10px;
letter-spacing: -0.005em;
}
.ce-city-specialisms__item-text {
font-size: 14.5px;
line-height: 1.6;
color: var(--ce-muted);
margin: 0;
}
.ce-city-courts {
width: 100vw;
margin-left: calc(50% - 50vw);
background: var(--ce-off-white);
}
.ce-city-courts__inner {
max-width: var(--ce-max);
margin: 0 auto;
padding: clamp(64px, 7vw, 96px) var(--ce-pad);
display: grid;
grid-template-columns: 1fr;
gap: 48px;
align-items: start;
}
.ce-city-courts__media {
position: relative;
overflow: hidden;
border-radius: 4px;
aspect-ratio: 4 / 5;
max-width: 520px;
width: 100%;
}
.ce-city-courts__image {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.8s var(--ce-ease);
}
.ce-city-courts__media:hover .ce-city-courts__image {
transform: scale(1.03);
}
.ce-city-courts__title {
font-size: clamp(28px, 3vw, 38px);
line-height: 1.2;
font-weight: 600;
letter-spacing: -0.015em;
color: var(--ce-navy);
margin: 0 0 20px;
}
.ce-city-courts__intro {
font-size: 16px;
line-height: 1.7;
color: var(--ce-muted);
margin: 0 0 24px;
}
.ce-city-courts__list {
list-style: none;
margin: 0 0 24px;
padding: 0;
display: grid;
gap: 10px;
}
.ce-city-courts__list li {
position: relative;
padding-left: 22px;
font-size: 14.5px;
line-height: 1.5;
color: var(--ce-ink);
}
.ce-city-courts__list li::before {
content: "";
position: absolute;
left: 0;
top: 9px;
width: 10px;
height: 2px;
background: var(--ce-crimson);
}
.ce-city-courts__note {
font-size: 13.5px;
line-height: 1.65;
color: var(--ce-muted);
padding-top: 18px;
border-top: 1px solid var(--ce-line);
margin: 0;
}
@media (min-width: 960px) {
.ce-city-courts__inner {
grid-template-columns: 0.9fr 1.1fr;
gap: 64px;
}
}
.ce-city-cta {
width: 100vw;
margin-left: calc(50% - 50vw);
background: var(--ce-navy);
color: var(--ce-off-white);
margin-bottom: 0;
}
.ce-city-cta__inner {
max-width: 880px;
margin: 0 auto;
padding: clamp(72px, 8vw, 110px) var(--ce-pad) clamp(80px, 9vw, 120px);
text-align: center;
}
.ce-city-cta__eyebrow {
color: var(--ce-crimson);
}
.ce-city-cta__title {
font-size: clamp(28px, 3.2vw, 42px);
line-height: 1.2;
font-weight: 600;
letter-spacing: -0.015em;
color: var(--ce-off-white);
margin: 0 0 20px;
}
.ce-city-cta__title em {
color: var(--ce-crimson);
}
.ce-city-cta__body {
font-size: 16px;
line-height: 1.7;
color: rgba(254, 254, 254, 0.78);
margin: 0 auto 32px;
max-width: 620px;
}
.ce-city-cta__actions {
display: flex;
flex-wrap: wrap;
gap: 12px;
justify-content: center;
}
@media (max-width: 600px) {
.ce-city-hero__media,
.ce-city-courts__media {
aspect-ratio: 4 / 4.2;
max-width: 100%;
}
.ce-city-availability__stat,
.ce-city-specialisms__item {
padding: 24px 20px;
}
.ce-city-hero__cta,
.ce-city-cta__actions {
flex-direction: column;
align-items: stretch;
}
.ce-city-hero__breadcrumb {
flex-wrap: wrap;
}
}
.ce-city-page .ce-city-link {
color: inherit;
text-decoration: underline;
text-decoration-color: var(--ce-crimson);
text-decoration-thickness: 1px;
text-underline-offset: 4px;
transition: color 0.3s var(--ce-ease), text-decoration-color 0.3s var(--ce-ease);
}
.ce-city-page .ce-city-link:hover {
color: var(--ce-crimson);
text-decoration-color: var(--ce-crimson);
}
.ce-city-specialisms__item-title a {
color: inherit;
text-decoration: none;
transition: color 0.3s var(--ce-ease);
}
.ce-city-specialisms__item-title a:hover {
color: var(--ce-crimson);
}
.ce-city-specialisms__item:hover .ce-city-specialisms__item-title a {
color: var(--ce-crimson);
}
.ce-city-availability__stats .ce-city-availability__stat:nth-child(4) {
display: none;
}
.ce-city-availability__stats {
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
max-width: none;
}
body.single-post .entry-meta .posted-by {
display: none !important;
}
body.single-post .entry-meta .posted-on {
display: inline-flex !important;
visibility: visible !important;
opacity: 1 !important;
}
.ce-hero__pulse-wrap,
.ce-authority__pulse,
.ce-cta__pulse {
display: none !important;
}
.ce-work__form-slot .forminator-ui .select2-container.forminator-select {
display: block !important;
width: 100% !important;
min-width: 0 !important;
max-width: 100% !important;
margin: 0 !important;
padding: 0 !important;
border: 0 !important;
background: none !important;
}
.ce-work__form-slot .forminator-ui .select2-container.forminator-select .select2-selection--single {
position: relative !important;
display: flex !important;
align-items: center !important;
width: 100% !important;
height: auto !important;
min-height: 52px !important;
margin: 0 !important;
padding: 14px 44px 14px 16px !important;
border: 1px solid var(--cef-navy-line) !important;
border-radius: var(--cef-radius) !important;
background: var(--cef-paper) !important;
box-shadow: 0 1px 2px rgba(3, 41, 95, 0.03) !important;
outline: none !important;
cursor: pointer !important;
transition:
border-color 0.25s var(--cef-ease),
box-shadow 0.25s var(--cef-ease),
background 0.25s var(--cef-ease) !important;
}
.ce-work__form-slot .forminator-ui .select2-container.forminator-select .select2-selection--single .select2-selection__rendered {
display: block !important;
flex: 1 1 auto !important;
min-width: 0 !important;
margin: 0 !important;
padding: 0 !important;
overflow: hidden !important;
color: var(--cef-text) !important;
font-family: var(--cef-font-sans) !important;
font-size: 15px !important;
font-weight: 400 !important;
line-height: 1.4 !important;
text-overflow: ellipsis !important;
white-space: nowrap !important;
}
.ce-work__form-slot .forminator-ui .select2-container.forminator-select .select2-selection--single .select2-selection__placeholder {
color: var(--cef-navy-mute) !important;
}
.ce-work__form-slot .forminator-ui .select2-container.forminator-select .select2-selection__arrow .forminator-icon-chevron-down,
.ce-work__form-slot .forminator-ui .select2-container.forminator-select .select2-selection__arrow b {
display: none !important;
}
.ce-work__form-slot .forminator-ui .select2-container.forminator-select .select2-selection__arrow {
position: absolute !important;
top: 0 !important;
right: 0 !important;
width: 44px !important;
height: 100% !important;
margin: 0 !important;
padding: 0 !important;
border: 0 !important;
background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%2303295f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='2,4 6,8 10,4'/%3E%3C/svg%3E") no-repeat center / 12px 12px !important;
pointer-events: none !important;
transition: transform 0.25s var(--cef-ease) !important;
}
.ce-work__form-slot .forminator-ui .select2-container.forminator-select .select2-selection--single:hover .select2-selection__arrow,
.ce-work__form-slot .forminator-ui .select2-container.forminator-select.select2-container--open .select2-selection__arrow {
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23c7272a' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='2,4 6,8 10,4'/%3E%3C/svg%3E") !important;
}
.ce-work__form-slot .forminator-ui .select2-container.forminator-select.select2-container--open .select2-selection__arrow {
transform: rotate(180deg) !important;
}
.ce-work__form-slot .forminator-ui .select2-container.forminator-select .select2-selection--single:hover {
border-color: rgba(3, 41, 95, 0.32) !important;
}
.ce-work__form-slot .forminator-ui .select2-container.forminator-select.select2-container--open .select2-selection--single,
.ce-work__form-slot .forminator-ui .select2-container.forminator-select .select2-selection--single:focus {
border-color: var(--cef-crimson) !important;
background: var(--cef-paper) !important;
box-shadow:
0 0 0 3px var(--cef-crimson-soft),
0 1px 2px rgba(3, 41, 95, 0.04) !important;
}
.ce-work__form-slot .forminator-ui .forminator-has_error .select2-container.forminator-select .select2-selection--single {
border-color: var(--cef-crimson) !important;
background: var(--cef-crimson-soft) !important;
}
.forminator-select-dropdown-container--open .forminator-select-dropdown.forminator-custom-form-1168 {
--cef-navy: #03295f;
--cef-navy-mute: rgba(3, 41, 95, 0.55);
--cef-navy-line: rgba(3, 41, 95, 0.16);
--cef-crimson: #c7272a;
--cef-crimson-dark: #b21f22;
--cef-crimson-tint: #f9f0f0;
--cef-paper: #fefefe;
--cef-text: #1a1a1a;
--cef-font-sans: 'Inter Tight', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
box-sizing: border-box !important;
padding: 6px !important;
border: 1px solid var(--cef-navy-line) !important;
border-radius: 10px !important;
background: #ffffff !important;
box-shadow:
0 14px 30px -8px rgba(3, 41, 95, 0.18),
0 4px 10px -2px rgba(2, 16, 38, 0.08) !important;
overflow: hidden !important;
font-family: var(--cef-font-sans) !important;
}
.forminator-select-dropdown-container--open .forminator-select-dropdown.forminator-custom-form-1168.forminator-select-dropdown--below {
margin-top: 6px !important;
}
.forminator-select-dropdown-container--open .forminator-select-dropdown.forminator-custom-form-1168.forminator-select-dropdown--above {
margin-top: -6px !important;
}
.forminator-select-dropdown-container--open .forminator-select-dropdown.forminator-custom-form-1168 .select2-search {
margin: 0 !important;
padding: 0 0 6px !important;
border: 0 !important;
background: transparent !important;
}
.forminator-select-dropdown-container--open .forminator-select-dropdown.forminator-custom-form-1168 .select2-search input,
.forminator-select-dropdown-container--open .forminator-select-dropdown.forminator-custom-form-1168 .select2-search__field {
width: 100% !important;
min-height: 44px !important;
padding: 0 14px !important;
border: 1px solid var(--cef-navy-line) !important;
border-radius: 8px !important;
background: var(--cef-paper) !important;
color: var(--cef-text) !important;
font-family: var(--cef-font-sans) !important;
font-size: 16px !important;
box-shadow: none !important;
outline: none !important;
}
.forminator-select-dropdown-container--open .forminator-select-dropdown.forminator-custom-form-1168 .select2-search input:focus,
.forminator-select-dropdown-container--open .forminator-select-dropdown.forminator-custom-form-1168 .select2-search__field:focus {
border-color: var(--cef-crimson) !important;
box-shadow: 0 0 0 3px rgba(199, 39, 42, 0.07) !important;
}
.forminator-select-dropdown-container--open .forminator-select-dropdown.forminator-custom-form-1168 .select2-results {
margin: 0 !important;
padding: 0 !important;
border: 0 !important;
background: transparent !important;
}
.forminator-select-dropdown-container--open .forminator-select-dropdown.forminator-custom-form-1168 .select2-results .select2-results__options {
max-height: 280px !important;
margin: 0 !important;
padding: 0 !important;
overflow-y: auto !important;
overscroll-behavior: contain;
list-style: none !important;
scrollbar-width: thin;
scrollbar-color: rgba(3, 41, 95, 0.35) transparent;
}
.forminator-select-dropdown-container--open .forminator-select-dropdown.forminator-custom-form-1168 .select2-results__options::-webkit-scrollbar {
width: 6px;
}
.forminator-select-dropdown-container--open .forminator-select-dropdown.forminator-custom-form-1168 .select2-results__options::-webkit-scrollbar-thumb {
border-radius: 3px;
background: rgba(3, 41, 95, 0.35);
}
.forminator-select-dropdown-container--open .forminator-select-dropdown.forminator-custom-form-1168 .select2-results .select2-results__options .select2-results__option {
position: relative !important;
display: block !important;
margin: 0 !important;
padding: 11px 40px 11px 12px !important;
border: 0 !important;
border-radius: 6px !important;
background: transparent !important;
color: var(--cef-text) !important;
font-family: var(--cef-font-sans) !important;
font-size: 15px !important;
font-weight: 500 !important;
line-height: 1.4 !important;
outline: none !important;
box-shadow: none !important;
cursor: pointer !important;
transition: background-color 0.15s ease, color 0.15s ease !important;
}
.forminator-select-dropdown-container--open .forminator-select-dropdown.forminator-custom-form-1168 .select2-results .select2-results__options .select2-results__option + .select2-results__option {
margin-top: 2px !important;
}
.forminator-select-dropdown-container--open .forminator-select-dropdown.forminator-custom-form-1168 .select2-results .select2-results__options .select2-results__option.select2-results__option--highlighted,
.forminator-select-dropdown-container--open .forminator-select-dropdown.forminator-custom-form-1168 .select2-results .select2-results__options .select2-results__option:hover {
background: var(--cef-crimson) !important;
color: #ffffff !important;
}
.forminator-select-dropdown-container--open .forminator-select-dropdown.forminator-custom-form-1168 .select2-results .select2-results__options .select2-results__option.select2-results__option--selected {
background: var(--cef-crimson-tint) !important;
color: var(--cef-crimson-dark) !important;
font-weight: 600 !important;
}
.forminator-select-dropdown-container--open .forminator-select-dropdown.forminator-custom-form-1168 .select2-results .select2-results__options .select2-results__option.select2-results__option--selected.select2-results__option--highlighted,
.forminator-select-dropdown-container--open .forminator-select-dropdown.forminator-custom-form-1168 .select2-results .select2-results__options .select2-results__option.select2-results__option--selected:hover {
background: var(--cef-crimson) !important;
color: #ffffff !important;
}
.forminator-select-dropdown-container--open .forminator-select-dropdown.forminator-custom-form-1168 .select2-results .select2-results__options .select2-results__option.select2-results__option--selected::after {
content: "";
position: absolute;
top: 50%;
right: 16px;
width: 5px;
height: 10px;
margin-top: -7px;
border: solid var(--cef-crimson);
border-width: 0 2px 2px 0;
transform: rotate(45deg);
}
.forminator-select-dropdown-container--open .forminator-select-dropdown.forminator-custom-form-1168 .select2-results .select2-results__options .select2-results__option.select2-results__option--selected.select2-results__option--highlighted::after,
.forminator-select-dropdown-container--open .forminator-select-dropdown.forminator-custom-form-1168 .select2-results .select2-results__options .select2-results__option.select2-results__option--selected:hover::after {
border-color: #ffffff;
}
.forminator-select-dropdown-container--open .forminator-select-dropdown.forminator-custom-form-1168 .select2-results .select2-results__options .select2-results__option.select2-results__message,
.forminator-select-dropdown-container--open .forminator-select-dropdown.forminator-custom-form-1168 .select2-results .select2-results__options .select2-results__option[aria-disabled="true"] {
background: transparent !important;
color: var(--cef-navy-mute) !important;
font-weight: 400 !important;
cursor: default !important;
}
@media (prefers-reduced-motion: reduce) {
.ce-work__form-slot .forminator-ui .select2-container.forminator-select .select2-selection--single,
.ce-work__form-slot .forminator-ui .select2-container.forminator-select .select2-selection__arrow,
.forminator-select-dropdown-container--open .forminator-select-dropdown.forminator-custom-form-1168 .select2-results .select2-results__options .select2-results__option {
transition: none !important;
}
}
@media (max-width: 1024px) {
#masthead .site-header-main-section-left { margin-right: 0 !important; }
#masthead .site-header-main-section-right { margin-left: auto !important; }
}
.ce-cta__trust-item, .ce-cta__solicitors, .ce-cta__btn-meta, .ce-condition-cta__trust-item { color: #fff3f3 !important; opacity: 1 !important; }
.ce-speed__unit, .ce-speed__num--small, .ce-city-cta__eyebrow, .ce-city-cta h2 em { color: #ff7b80 !important; }