:root {
--ce-navy: #12314f;
--ce-navy-deep: #0d2740;
--ce-navy-soft: #1c4468; --ce-orange: #ac5120;
--ce-orange-dark: #8e421b;
--ce-gold: #c9964a;
--ce-olive: #5c6b4d;
--ce-olive-dark: #4a5740;
--ce-cream: #faf6f0;
--ce-peach: #fdf1e6;
--ce-mist: #eef2f6;
--ce-white: #fff;
--ce-ink: #14212e;
--ce-body: #55616d;
--ce-body-light: #b9c6d3;
--ce-line: #e6ddd2;
--ce-line-dark: rgba(255, 255, 255, .14);
--ce-serif: "Playfair Display", Georgia, "Times New Roman", serif;
--ce-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
--ce-gutter: clamp(1.25rem, 4vw, 3rem);
--ce-section-y: clamp(3.5rem, 7vw, 6.5rem);
--ce-radius: 4px;
--ce-shadow: 0 18px 40px -24px rgba(18, 49, 79, .35);
--ce-header-h: 104px;
} .ce-container {
width: 100%;
max-width: 1240px;
margin-inline: auto;
padding-inline: var(--ce-gutter);
}
.ce-container--narrow { max-width: 860px; }
.ce-icon { flex: none; }
.ce-eyebrow {
font-family: var(--ce-sans);
font-size: .75rem;
font-weight: 600;
letter-spacing: .18em;
text-transform: uppercase;
color: var(--ce-orange);
margin-bottom: 1rem;
}
.ce-eyebrow--light { color: var(--ce-gold); }
.ce-eyebrow--center { text-align: center; }
.ce-skip-link {
position: absolute;
left: -9999px;
z-index: 999;
padding: .75rem 1.25rem;
background: var(--ce-navy);
color: var(--ce-white);
font-family: var(--ce-sans);
font-size: .875rem;
text-decoration: none;
}
.ce-skip-link:focus {
left: 1rem;
top: 1rem;
color: var(--ce-white);
}
.screen-reader-text {
position: absolute;
width: 1px;
height: 1px;
overflow: hidden;
clip-path: inset(50%);
white-space: nowrap;
} .ce-btn {
display: inline-flex;
align-items: center;
gap: .6rem;
padding: .95rem 1.6rem;
font-family: var(--ce-sans);
font-size: .8125rem;
font-weight: 600;
letter-spacing: .12em;
text-transform: uppercase;
text-decoration: none;
border: 1px solid transparent;
border-radius: var(--ce-radius);
cursor: pointer;
white-space: nowrap;
transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.ce-btn:hover { transform: translateY(-1px); }
.ce-btn svg { transition: transform .2s ease; }
.ce-btn:hover svg { transform: translateX(3px); }
.ce-btn--primary { background: var(--ce-orange); color: var(--ce-white); }
.ce-btn--primary:hover { background: var(--ce-orange-dark); color: var(--ce-white); }
.ce-btn--navy { background: var(--ce-navy); color: var(--ce-white); }
.ce-btn--navy:hover { background: var(--ce-navy-deep); color: var(--ce-white); }
.ce-btn--olive { background: var(--ce-olive); color: var(--ce-white); }
.ce-btn--olive:hover { background: var(--ce-olive-dark); color: var(--ce-white); }
.ce-btn--outline { background: transparent; color: var(--ce-navy); border-color: var(--ce-navy); }
.ce-btn--outline:hover { background: var(--ce-navy); color: var(--ce-white); }
.ce-btn--ghost { background: transparent; color: var(--ce-white); border-color: rgba(255, 255, 255, .35); }
.ce-btn--ghost:hover { background: var(--ce-white); color: var(--ce-navy); border-color: var(--ce-white); } #header {
font-family: var(--ce-sans);
position: relative;
z-index: 100;
}
#header *,
#footer *,
#header *::before,
#footer *::before { box-sizing: border-box; } :where(#header, #footer) ul,
:where(#header, #footer) ol { margin: 0; padding: 0; list-style: none; } .ce-topbar {
background: var(--ce-cream);
border-bottom: 1px solid var(--ce-line);
font-size: .8125rem;
}
.ce-topbar__inner {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1.5rem;
min-height: 44px;
padding-block: .4rem;
}
.ce-topbar__contact,
.ce-topbar__meta {
display: flex;
align-items: center;
gap: 1.75rem;
}
.ce-topbar__contact li,
.ce-topbar__location {
display: flex;
align-items: center;
gap: .5rem;
margin: 0;
color: var(--ce-body);
}
.ce-topbar svg { color: var(--ce-orange); }
.ce-topbar a {
color: var(--ce-body);
text-decoration: none;
}
.ce-topbar a:hover { color: var(--ce-orange); }
.ce-socials { display: flex; align-items: center; gap: .875rem; }
.ce-socials a {
display: grid;
place-items: center;
color: var(--ce-navy);
transition: color .2s ease;
}
.ce-socials a:hover { color: var(--ce-orange); } .ce-navbar {
position: sticky;
top: 0;
z-index: 100;
background: var(--ce-white);
border-bottom: 1px solid var(--ce-line);
transition: box-shadow .25s ease;
}
.ce-navbar.is-stuck { box-shadow: 0 8px 24px -18px rgba(18, 49, 79, .5); }
.ce-navbar__inner {
display: flex;
align-items: center;
justify-content: space-between;
gap: 1.5rem;
min-height: var(--ce-header-h);
} .ce-logo {
display: flex;
align-items: center;
gap: .75rem;
text-decoration: none;
flex: none;
}
.ce-logo__mark { color: var(--ce-gold); display: grid; place-items: center; }
.ce-logo__text { display: grid; gap: .18rem; }
.ce-logo__name {
display: flex;
align-items: baseline;
gap: .45rem;
font-family: var(--ce-serif);
font-size: 1.32rem;
font-weight: 600;
line-height: 1;
letter-spacing: .04em;
text-transform: uppercase;
color: var(--ce-navy);
}
.ce-logo__name em {
font-family: var(--ce-sans);
font-size: .5rem;
font-style: normal;
font-weight: 600;
letter-spacing: .22em;
color: var(--ce-gold);
}
.ce-logo__tag {
font-size: .5625rem;
font-weight: 600;
letter-spacing: .17em;
text-transform: uppercase;
color: var(--ce-body);
} .ce-nav { display: flex; align-items: center; gap: 1.5rem; }
.ce-nav__list { display: flex; align-items: center; gap: 1.35rem; }
.ce-nav__list a {
font-size: .72rem;
font-weight: 600;
letter-spacing: .085em;
text-transform: uppercase;
color: var(--ce-navy);
text-decoration: none;
padding-block: .35rem;
position: relative;
white-space: nowrap;
}
.ce-nav__list a::after {
content: "";
position: absolute;
left: 0;
bottom: 0;
width: 0;
height: 2px;
background: var(--ce-orange);
transition: width .22s ease;
}
.ce-nav__list a:hover { color: var(--ce-orange); }
.ce-nav__list a:hover::after { width: 100%; } .ce-nav__list a.is-active,
.ce-nav__list .current_page_item > a { color: var(--ce-orange); }
.ce-nav__list a.is-active::after,
.ce-nav__list .current_page_item > a::after { width: 100%; } .ce-nav__list.is-spied .current_page_item > a { color: var(--ce-navy); }
.ce-nav__list.is-spied .current_page_item > a::after { width: 0; }
.ce-nav__list.is-spied a.is-active { color: var(--ce-orange); }
.ce-nav__list.is-spied a.is-active::after { width: 100%; } .ce-nav__list li { position: relative; }
.ce-nav__list .sub-menu {
position: absolute;
top: 100%;
left: 0;
min-width: 13rem;
padding: .5rem 0;
margin: 0;
list-style: none;
background: var(--ce-white);
border: 1px solid var(--ce-line);
border-radius: var(--ce-radius);
box-shadow: var(--ce-shadow);
opacity: 0;
visibility: hidden;
transform: translateY(6px);
transition: opacity .18s ease, transform .18s ease, visibility .18s;
}
.ce-nav__list li:hover > .sub-menu,
.ce-nav__list li:focus-within > .sub-menu {
opacity: 1;
visibility: visible;
transform: none;
}
.ce-nav__list .sub-menu a { display: block; padding: .55rem 1.1rem; }
.ce-nav__list .sub-menu a::after { display: none; }
.ce-nav__list .sub-menu a:hover { background: var(--ce-cream); }
.ce-nav__cta { padding: .75rem 1.15rem; font-size: .72rem; letter-spacing: .09em; } .ce-burger {
display: none;
flex-direction: column;
justify-content: center;
gap: 5px;
width: 44px;
height: 44px;
padding: 0 10px;
background: transparent;
border: 1px solid var(--ce-line);
border-radius: var(--ce-radius);
cursor: pointer;
}
.ce-burger span {
display: block;
height: 2px;
background: var(--ce-navy);
transition: transform .22s ease, opacity .22s ease;
}
.ce-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.ce-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.ce-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); } #footer {
font-family: var(--ce-sans);
background: var(--ce-navy);
color: var(--ce-body-light);
font-size: .9375rem;
line-height: 1.7;
}
.ce-footer__grid {
display: grid;
grid-template-columns: 1.6fr 1fr 1fr 1.25fr;
gap: clamp(2rem, 4vw, 3.5rem);
padding-block: clamp(3rem, 5vw, 4.5rem);
}
#footer .ce-logo__name { color: var(--ce-white); }
#footer .ce-logo__tag { color: var(--ce-body-light); }
#footer .ce-logo__mark { color: var(--ce-gold); }
.ce-footer__blurb { margin: 1.25rem 0 1.5rem; max-width: 30ch; }
.ce-footer__contact { display: grid; gap: .7rem; }
.ce-footer__contact li {
display: flex;
align-items: center;
gap: .65rem;
}
.ce-footer__contact svg { color: var(--ce-gold); }
.ce-footer__heading {
font-family: var(--ce-sans);
font-size: .6875rem;
font-weight: 600;
letter-spacing: .17em;
text-transform: uppercase;
color: var(--ce-white);
margin: 0 0 1.25rem;
} .ce-footer__col ul:not(.ce-socials) { display: grid; gap: .6rem; } #footer a:not(.ce-btn) {
color: var(--ce-body-light);
text-decoration: none;
transition: color .2s ease;
}
#footer a:not(.ce-btn):hover { color: var(--ce-gold); }
.ce-footer__cta p { margin: 0 0 1.25rem; }
.ce-socials--footer { margin-top: 1.75rem; }
.ce-socials--footer a { color: var(--ce-white); }
.ce-socials--footer a:hover { color: var(--ce-gold); }
.ce-footer__bar {
background: var(--ce-navy-deep);
border-top: 1px solid var(--ce-line-dark);
font-size: .8125rem;
}
.ce-footer__bar-inner {
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
gap: 1rem;
padding-block: 1.25rem;
}
.ce-footer__bar p { margin: 0; }
.ce-footer__legal { display: flex; flex-wrap: wrap; gap: 1.5rem; }  @media (max-width: 1100px) {
.ce-footer__grid { grid-template-columns: 1fr 1fr; }
} @media (max-width: 1240px) {
.ce-burger { display: flex; }
.ce-nav {
position: absolute;
top: 100%;
left: 0;
right: 0;
flex-direction: column;
align-items: stretch;
gap: 0;
padding: .5rem var(--ce-gutter) 1.5rem;
background: var(--ce-white);
border-bottom: 1px solid var(--ce-line);
box-shadow: var(--ce-shadow);
display: none;
}
.ce-nav.is-open { display: flex; }
.ce-nav__list { flex-direction: column; align-items: stretch; gap: 0; }
.ce-nav__list > li { border-bottom: 1px solid var(--ce-line); }
.ce-nav__list a { display: block; padding: .9rem 0; font-size: .8125rem; }
.ce-nav__list a::after { display: none; }
.ce-nav__list .sub-menu {
position: static;
opacity: 1;
visibility: visible;
transform: none;
box-shadow: none;
border: 0;
padding: 0 0 .5rem 1rem;
}
.ce-nav__cta { margin-top: 1.25rem; justify-content: center; }
}
@media (max-width: 900px) {
.ce-topbar__contact { gap: 1rem; }
.ce-topbar__location { display: none; }
}
@media (max-width: 640px) {
.ce-topbar__inner { justify-content: center; }
.ce-topbar__contact li:nth-child(2) { display: none; }
.ce-footer__grid { grid-template-columns: 1fr; }
.ce-footer__bar-inner { flex-direction: column; text-align: center; }
.ce-logo__tag { display: none; }
}
@media (prefers-reduced-motion: reduce) {
#header *, #footer * {
transition-duration: .01ms !important;
animation-duration: .01ms !important;
}
}   .ce-footer__contact li.ce-footer__mobiles { align-items: flex-start; }
.ce-footer__mobiles > span {
display: flex;
flex-wrap: wrap;
gap: .15rem .9rem;
}
.ce-footer__mobiles svg { margin-top: .2rem; } .ce-footer__statutory {
padding-block: 1.5rem 0;
font-size: .8125rem;
line-height: 1.6;
color: var(--ce-body-light);
opacity: .8;
}
.ce-footer__statutory p { margin: 0; }
@media (max-width: 640px) {
.ce-footer__mobiles > span { gap: .15rem .75rem; }
} .ce-form {
padding: clamp(1.75rem, 3.5vw, 2.75rem);
background: var(--ce-white);
border: 1px solid var(--ce-line);
border-radius: var(--ce-radius);
box-shadow: var(--ce-shadow);
}
.ce-form__trap {
position: absolute;
width: 1px;
height: 1px;
overflow: hidden;
clip-path: inset(50%);
white-space: nowrap;
}
.ce-form__grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 1.25rem;
}
.ce-field { margin: 0; display: flex; flex-direction: column; gap: .45rem; }
.ce-field--full { grid-column: 1 / -1; }
.ce-field label {
font-size: .6875rem;
font-weight: 600;
letter-spacing: .14em;
text-transform: uppercase;
color: var(--ce-navy);
}
.ce-field label span { color: var(--ce-orange); }
.ce-field input,
.ce-field select,
.ce-field textarea {
width: 100%;
padding: .8rem .95rem;
font-family: var(--ce-sans);
font-size: .9375rem;
color: var(--ce-ink);
background: var(--ce-cream);
border: 1px solid var(--ce-line);
border-radius: var(--ce-radius);
transition: border-color .2s ease, background-color .2s ease;
}
.ce-field textarea { resize: vertical; min-height: 7rem; }
.ce-field input::placeholder,
.ce-field textarea::placeholder { color: #9aa5b0; }
.ce-field input:focus,
.ce-field select:focus,
.ce-field textarea:focus {
background: var(--ce-white);
border-color: var(--ce-orange);
outline: none;
box-shadow: 0 0 0 3px rgba(172, 81, 32, .12);
}
.ce-form__submit { margin: 1.75rem 0 0; }
.ce-notice {
padding: .95rem 1.25rem;
margin-bottom: 1.5rem;
border-radius: var(--ce-radius);
font-size: .9375rem;
border-inline-start: 3px solid;
}
.ce-notice--success { background: #edf6ee; border-color: #3f7d4a; color: #245c30; }
.ce-notice--error   { background: #fbeceb; border-color: #b4402f; color: #8a2c1e; } .ce-field__hint {
font-size: .8125rem;
color: var(--ce-body);
line-height: 1.5;
}
.ce-field input[type="file"] {
padding: .7rem .95rem;
font-size: .875rem;
cursor: pointer;
}
.ce-field input[type="file"]::file-selector-button {
margin-inline-end: .9rem;
padding: .45rem 1rem;
font-family: var(--ce-sans);
font-size: .75rem;
font-weight: 600;
letter-spacing: .08em;
text-transform: uppercase;
color: var(--ce-white);
background: var(--ce-navy);
border: 0;
border-radius: var(--ce-radius);
cursor: pointer;
transition: background-color .2s ease;
}
.ce-field input[type="file"]::file-selector-button:hover { background: var(--ce-navy-deep); } .ce-form .ce-field input,
.ce-form .ce-field select,
.ce-form .ce-field textarea {
height: auto;
min-height: 0;
line-height: 1.4;
padding: .8rem .95rem;
}
.ce-form .ce-field textarea { min-height: 7rem; }
@media (max-width: 640px) {
} .ce-logo__img {
display: block;
height: 84px;
width: auto;
max-height: none;
}
#footer .ce-logo__img { height: 132px; }
@media (max-width: 900px) {
.ce-logo__img { height: 68px; }
}
@media (max-width: 640px) {
.ce-logo__img { height: 58px; }
}