@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Lora:wght@500;600;700&display=swap");
:root {
--lf-navy: #143153;
--lf-blue: #00658c;
--lf-teal: #1b92a2;
--lf-magenta: #b83b83;
--lf-cream: #f5f1eb;
--lf-mist: #e9f2f4;
--lf-ink: #182b42;
--lf-white: #ffffff;
}
/* ---------- GLOBAL TYPOGRAPHY ---------- */
body,
.sqs-block-content,
.header-nav,
.header-menu-nav,
button,
input,
textarea,
select {
font-family: "DM Sans", Arial, sans-serif !important;
}
body {
color: var(--lf-ink);
}
h1,
h2,
h3,
.heading-font {
font-family: "Lora", Georgia, serif !important;
color: var(--lf-navy);
letter-spacing: -0.035em;
}
h1 {
font-size: clamp(3rem, 6vw, 6rem) !important;
line-height: 1.02 !important;
}
h2 {
font-size: clamp(2.1rem, 4vw, 4rem) !important;
line-height: 1.12 !important;
}
h3 {
font-size: clamp(1.35rem, 2.2vw, 2rem) !important;
line-height: 1.25 !important;
}
p,
li {
line-height: 1.7;
}
.sqs-block-content p {
margin-bottom: 1.25em;
}
strong {
font-weight: 700;
}
/* ---------- HEADER AND NAVIGATION ---------- */
.header {
background: rgba(255, 255, 255, 0.97) !important;
border-bottom: 1px solid rgba(20, 49, 83, 0.12);
backdrop-filter: blur(10px);
-webkit-backdrop-filter: blur(10px);
}
.header-title-text a,
.header-nav-item a,
.header-menu-nav-item a {
color: var(--lf-navy) !important;
}
.header-nav-item a,
.header-menu-nav-item a {
font-size: 0.78rem !important;
font-weight: 700 !important;
letter-spacing: 0.1em !important;
text-transform: uppercase !important;
}
.header-nav-item a:hover,
.header-nav-item--active a {
color: var(--lf-magenta) !important;
}
/* ---------- BUTTONS ---------- */
.sqs-button-element--primary,
.sqs-block-button-element--medium,
.sqs-block-button-element--large,
.header-actions-action--cta .sqs-button-element--primary {
background: var(--lf-magenta) !important;
border: 1px solid var(--lf-magenta) !important;
border-radius: 0 !important;
color: var(--lf-white) !important;
font-family: "DM Sans", Arial, sans-serif !important;
font-size: 0.75rem !important;
font-weight: 700 !important;
letter-spacing: 0.1em !important;
padding: 1.1rem 1.6rem !important;
text-transform: uppercase !important;
transition: background 0.2s ease, border-color 0.2s ease,
transform 0.2s ease !important;
}
.sqs-button-element--primary:hover,
.sqs-block-button-element--medium:hover,
.sqs-block-button-element--large:hover,
.header-actions-action--cta .sqs-button-element--primary:hover {
background: #9d2d6d !important;
border-color: #9d2d6d !important;
color: var(--lf-white) !important;
opacity: 1 !important;
transform: translateY(-2px);
}
.sqs-button-element--secondary {
background: transparent !important;
border: 1px solid var(--lf-blue) !important;
border-radius: 0 !important;
color: var(--lf-blue) !important;
font-size: 0.75rem !important;
font-weight: 700 !important;
letter-spacing: 0.1em !important;
padding: 1.1rem 1.6rem !important;
text-transform: uppercase !important;
}
.sqs-button-element--secondary:hover {
background: var(--lf-blue) !important;
color: var(--lf-white) !important;
opacity: 1 !important;
}
/* ---------- TEXT LINKS ---------- */
.sqs-block-content p a:not(.sqs-button-element),
.sqs-block-content li a {
color: var(--lf-blue);
font-weight: 600;
text-decoration-color: rgba(0, 101, 140, 0.35);
text-decoration-thickness: 1px;
text-underline-offset: 4px;
}
.sqs-block-content p a:hover,
.sqs-block-content li a:hover {
color: var(--lf-magenta);
text-decoration-color: var(--lf-magenta);
}
/* ---------- SECTIONS ---------- */
.page-section {
position: relative;
}
.page-section.section-height--small > .content-wrapper {
padding-top: clamp(3.5rem, 7vw, 6rem) !important;
padding-bottom: clamp(3.5rem, 7vw, 6rem) !important;
}
.page-section.section-height--medium > .content-wrapper,
.page-section.section-height--large > .content-wrapper {
padding-top: clamp(5rem, 9vw, 8rem) !important;
padding-bottom: clamp(5rem, 9vw, 8rem) !important;
}
/* Choose LIGHT 2 for cream sections in the Squarespace editor */
.section-background:not(.has-background) {
background-color: inherit;
}
/* ---------- IMAGE BLOCKS ---------- */
.image-block-outer-wrapper img,
.sqs-image-shape-container-element img {
filter: saturate(0.92);
}
.image-block-wrapper,
.sqs-image-shape-container-element {
border-radius: 0 !important;
}
/* ---------- CARDS AND SUMMARY BLOCKS ---------- */
.summary-item,
.user-items-list-item-container,
.list-item-content {
border-radius: 0 !important;
}
.summary-item {
border-top: 1px solid rgba(20, 49, 83, 0.2);
padding-top: 1.5rem !important;
}
.summary-title,
.list-item-content__title {
color: var(--lf-navy) !important;
font-family: "Lora", Georgia, serif !important;
font-weight: 600 !important;
}
.summary-read-more-link {
color: var(--lf-blue) !important;
font-size: 0.72rem !important;
font-weight: 700 !important;
letter-spacing: 0.09em !important;
text-transform: uppercase !important;
}
/* ---------- QUOTES ---------- */
blockquote {
border: 0 !important;
color: var(--lf-navy);
font-family: "Lora", Georgia, serif !important;
font-size: clamp(1.5rem, 2.5vw, 2.4rem) !important;
line-height: 1.45 !important;
margin: 0 auto !important;
max-width: 950px;
padding: 1rem 0 !important;
}
/* ---------- FORMS ---------- */
.form-wrapper .field-list .field .field-element,
.form-wrapper input,
.form-wrapper textarea,
.form-wrapper select {
background: var(--lf-white) !important;
border: 1px solid rgba(20, 49, 83, 0.28) !important;
border-radius: 0 !important;
color: var(--lf-ink) !important;
padding: 1rem !important;
}
.form-wrapper .field-list .field .field-element:focus,
.form-wrapper input:focus,
.form-wrapper textarea:focus,
.form-wrapper select:focus {
border-color: var(--lf-blue) !important;
box-shadow: 0 0 0 2px rgba(0, 101, 140, 0.12) !important;
outline: none !important;
}
.form-wrapper .field-list .title,
.form-wrapper label {
color: var(--lf-navy) !important;
font-size: 0.75rem !important;
font-weight: 700 !important;
letter-spacing: 0.06em;
text-transform: uppercase;
}
.form-wrapper input[type="submit"],
.form-wrapper button[type="submit"] {
background: var(--lf-magenta) !important;
border: 1px solid var(--lf-magenta) !important;
border-radius: 0 !important;
color: var(--lf-white) !important;
font-size: 0.75rem !important;
font-weight: 700 !important;
letter-spacing: 0.1em !important;
padding: 1.1rem 1.7rem !important;
text-transform: uppercase !important;
}
/* ---------- FOOTER ---------- */
footer.sections {
background: #0d2540 !important;
color: var(--lf-white);
}
footer.sections h1,
footer.sections h2,
footer.sections h3,
footer.sections p,
footer.sections a {
color: var(--lf-white) !important;
}
/* ---------- MOBILE ---------- */
@media screen and (max-width: 767px) {
h1 {
font-size: clamp(2.7rem, 13vw, 4.2rem) !important;
}
h2 {
font-size: clamp(2rem, 9vw, 3rem) !important;
}
.page-section.section-height--small > .content-wrapper,
.page-section.section-height--medium > .content-wrapper,
.page-section.section-height--large > .content-wrapper {
padding-top: 4rem !important;
padding-bottom: 4rem !important;
}
.sqs-block-button-container,
.sqs-block-button-element {
width: 100% !important;
}
.sqs-block-button-element {
text-align: center !important;
}