* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; }
a { text-underline-offset: .2em; }
a:hover { text-decoration-thickness: .12em; }
:where(a,button,input,textarea,select,summary):focus-visible { outline: 3px solid var(--wp--preset--color--orange,#e87955); outline-offset: 4px; }
:where(h1,h2,h3,h4,h5,h6) { overflow-wrap: anywhere; text-wrap: balance; }
p,li { overflow-wrap: break-word; }
.wp-site-blocks { padding-top: 0; padding-bottom: 0; }
.wp-site-blocks > * { margin-block-start: 0; }
.ctb-header { background: var(--wp--preset--color--ink,#142e3c); color: #fff; padding: 1rem clamp(1.25rem,4vw,3rem); position: sticky; top: 0; z-index: 30; border-bottom: 1px solid #ffffff1f; }
.admin-bar .ctb-header { top: 32px; }
.ctb-header a { color: #fff; }
.ctb-header .wp-block-navigation { font-size: .95rem; }
.ctb-header .wp-block-site-logo img { max-height: 70px; width: auto; object-fit: contain; }
.ctb-header .wp-block-navigation__submenu-container { background: #fff; color: var(--wp--preset--color--ink,#142e3c); border-radius: 6px; box-shadow: 0 8px 30px #0002; }
.ctb-header .wp-block-navigation__submenu-container a { color: var(--wp--preset--color--ink,#142e3c); }
.ctb-section { padding: clamp(2.5rem,6vw,5rem) clamp(1.25rem,4vw,3rem); margin-block-start: 0; }
.ctb-section > .ctb-row { max-width: 1200px; margin-inline: auto; }
.ctb-row { gap: clamp(1.5rem,4vw,3rem); align-items: center !important; margin-block-start: 2.5rem; }
.ctb-row:first-child { margin-block-start: 0; }
.ctb-row .wp-block-column { min-width: 0; }
.ctb-section:not(.has-background):nth-child(even) { background: #f3f4f8; }
.ctb-hero { background: radial-gradient(ellipse at top right,#245a7355,transparent 60%),var(--wp--preset--color--ink,#142e3c); color: #fff; padding-block: clamp(3rem,8vw,7rem); }
.ctb-hero a:not(.wp-block-button__link),.ctb-dark a:not(.wp-block-button__link),.ctb-footer a { color: #c5b5ff; }
.ctb-hero h1 { max-width: 18ch; }
.ctb-hero .wp-block-image img { max-height: 500px; object-fit: contain; }
.ctb-card { padding: clamp(1.25rem,3vw,2.5rem); border: 1px solid #245a731a; border-radius: 12px; background: #fff; color: var(--wp--preset--color--charcoal,#35444e); height: auto; }
.ctb-card a:not(.wp-block-button__link) { color: var(--wp--preset--color--blue,#245a73); }
.ctb-card h1,.ctb-card h2,.ctb-card h3,.ctb-card h4 { color: var(--wp--preset--color--ink,#142e3c); }
.ctb-footer { padding: clamp(3rem,6vw,5rem) clamp(1.25rem,4vw,3rem) 2rem; background: var(--wp--preset--color--ink,#142e3c); color: #fff; margin-block-start: 0; }
.ctb-footer > * { max-width: 1200px; margin-inline: auto; }
.ctb-footer .wp-block-columns { align-items: start !important; }
.ctb-footer h3,.ctb-footer h4 { font-size: 1.2rem; }
.ctb-footer ul { padding-left: 1.25rem; }
.ctb-footer p,.ctb-footer li { font-size: .95rem; }
.ctb-footer .wp-block-image img { max-height: 110px; width: auto; }
.ctb-footer-bottom { border-top: 1px solid #ffffff26; margin-top: 2.5rem; padding-top: 1.5rem; }
.ctb-article,.ctb-archive { padding-block: clamp(2.5rem,6vw,5rem); min-height: 60vh; }
.ctb-article > .wp-block-post-title { margin-block-end: 1.5rem; }
.ctb-article .ctb-section { padding-inline: 0; background: transparent !important; color: inherit; }
.ctb-article .ctb-section .ctb-row { display: block; }
.ctb-archive .wp-block-post-template { gap: 2.5rem; }
.ctb-archive .wp-block-post-title { font-size: 1.5rem; }
.ctb-archive .wp-block-query-pagination { margin-top: 3rem; }
.ctb-post-navigation { margin-block: 3rem; padding-block: 1.5rem; border-block: 1px solid #ddd; }
.wp-block-details { border-bottom: 1px solid #c8c8d6; padding: 1.1rem 0; }
.wp-block-details summary { cursor: pointer; font-weight: 650; }
.wp-block-details > :not(summary) { margin-top: 1rem; }
.wp-block-button .wp-block-button__link { background: var(--wp--preset--color--ink,#142e3c); color: var(--wp--preset--color--paper,#fff); transition: background-color .15s ease; }
.wp-block-button .wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:focus-visible { background: var(--wp--preset--color--service-link,#087db5); color: var(--wp--preset--color--paper,#fff); }
.ctb-originally-disabled { display: none !important; }
.ctb-counter { font-size: 2rem; font-weight: 750; color: var(--wp--preset--color--violet,#6c23c4); }
.ctb-legacy-icon { display: inline-block; color: var(--wp--preset--color--violet,#6c23c4); font-weight: 800; font-size: 1.5rem; }
.ctb-team img { width: 180px; border-radius: 50%; }
.ctb-legal { max-width: 760px; margin-inline: auto; }
.ctb-calendly-fallback { border: 1px solid #c8c8d6; padding: 1.5rem; border-radius: 8px; }
.ctb-shortcode-page { max-width: 1000px; margin-inline: auto; padding: 3rem 1.25rem; }
:where(.tnp-subscription,.tnp-profile,.ctb-footer) input:not([type=submit]), .nf-form-cont input:not([type=button]):not([type=submit]), .nf-form-cont textarea, .nf-form-cont select { border: 1px solid #c8c8d6; border-radius: 5px; padding: .75rem; max-width: 100%; color: var(--wp--preset--color--charcoal,#35444e); background: #fff; }
.ctb-footer .tnp-subscription { margin: 0; }
.ctb-footer label { color: #fff; }
.ctb-footer .tnp-field { margin-bottom: .75rem; }
.ctb-footer .tnp-submit,.nf-form-cont input[type=button],.nf-form-cont input[type=submit] { padding: .85rem 1.4rem; border: 0; border-radius: 8px; background: var(--wp--preset--color--violet,#6c23c4); color: #fff; cursor: pointer; }
.ctb-shortcode-page table { display: block; overflow-x: auto; max-width: 100%; }
@media (max-width: 781px) {
 .ctb-row { gap: 1.75rem; }
 .ctb-footer .wp-block-columns { gap: 2rem; }
 .ctb-section .wp-block-column { flex-basis: 100% !important; }
 .ctb-archive .wp-block-post-template { grid-template-columns: 1fr !important; }
 .ctb-hero h1 { max-width: none; }
 .ctb-header { padding-block: .75rem; }
 .ctb-header .wp-block-site-logo img { max-width: 160px; }
 .ctb-header .wp-block-navigation__responsive-container.is-menu-open { color: var(--wp--preset--color--ink,#142e3c); background: #fff; padding: 1.5rem; }
 .ctb-header .is-menu-open a { color: var(--wp--preset--color--ink,#142e3c); }
}
@media (max-width: 600px) { .admin-bar .ctb-header { top: 0; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; animation: none !important; } }
.ctb-dark { background-blend-mode: soft-light; }
.ctb-footer { background-blend-mode: soft-light; }

/* Code Team Blue presentation and native block editor parity. */
.ctb-header { background: #fff; color: var(--wp--preset--color--ink,#142e3c); border-bottom-color: #dce4eb; }
.ctb-header a { color: var(--wp--preset--color--ink,#142e3c); }
.ctb-header .wp-block-site-logo img { width: 185px; max-height: 65px; }
.ctb-header .wp-block-navigation { font-weight: 650; }
.ctb-header .wp-block-navigation__submenu-container { min-width: 250px; padding: .5rem; }
.ctb-header .wp-block-navigation-item__content { padding: .5rem; }
.ctb-header .wp-block-navigation-item > .wp-block-navigation-item__content {
 border-radius: 4px;
 transition: color .16s ease, background-color .16s ease, box-shadow .16s ease;
}
.ctb-header .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.ctb-header .wp-block-navigation-item:focus-within > .wp-block-navigation-item__content {
 color: var(--wp--preset--color--service-link,#087db5);
 background-color: color-mix(in srgb,var(--wp--preset--color--service-blue,#109cde) 12%,transparent);
 box-shadow: inset 0 -2px 0 var(--wp--preset--color--service-blue,#109cde);
}
.ctb-header .wp-block-navigation-item:hover > .wp-block-navigation__submenu-icon,
.ctb-header .wp-block-navigation-item:focus-within > .wp-block-navigation__submenu-icon {
 color: var(--wp--preset--color--service-link,#087db5);
}
.ctb-hero { background: linear-gradient(125deg,#8128cf,#4435b5); color: #fff; }
.ctb-hero :where(h1,h2,h3,h4,h5,h6,p,li) { color: inherit; }
.ctb-hero a:not(.wp-block-button__link),.ctb-dark a:not(.wp-block-button__link) { color: #fff; }
.ctb-hero h1 { margin-block-start: .5rem; }
.ctb-hero-inner { max-width: 1000px; margin-inline: auto; }
.ctb-hero-inner p { max-width: 65ch; }
/* Shared navy image hero, with the artwork editable in each native Group. */
.ctb-about-hero,
.ctb-network-hero {
 position: relative;
 isolation: isolate;
 background-color: #071b30;
 background-size: cover;
 background-position: center;
 color: #fff;
}
.ctb-about-hero::before,
.ctb-network-hero::before {
 content: "";
 position: absolute;
 inset: 0;
 z-index: -1;
 pointer-events: none;
 background: linear-gradient(90deg, #071b30eb, #071b30b3 60%, #071b3066);
}
.ctb-about-hero .ctb-eyebrow,
.ctb-network-hero .ctb-eyebrow {
 color: #b4e2fa;
 font-size: 13px;
 font-weight: 700;
 letter-spacing: .1em;
 text-transform: uppercase;
}
.ctb-about-hero :where(h1, p),
.ctb-network-hero :where(h1, p) { color: inherit; }
.ctb-about-hero .wp-block-column > p:not(.ctb-eyebrow),
.ctb-network-hero .wp-block-column > p:not(.ctb-eyebrow) { max-width: 75ch; }
.ctb-row { align-items: stretch !important; }
.ctb-row > .wp-block-column > .ctb-card:only-child { height: 100%; }
.ctb-card { box-shadow: 0 8px 30px #245a730a; border-color: #dde4ed; }
.ctb-card img { max-height: 240px; object-fit: contain; }
.ctb-card .ctb-icon { width: 3rem; height: 3rem; display: grid; place-items: center; border-radius: 50%; background: #eee7f8; color: var(--wp--preset--color--violet,#6c23c4); font-size: 1.6rem; margin-bottom: 1rem; }
.ctb-team { padding: 1.5rem; border-radius: 12px; background: #fff; color: var(--wp--preset--color--charcoal,#35444e); }
.ctb-team img { aspect-ratio: 1; object-fit: cover; }
.ctb-contact-panel { background: var(--wp--preset--color--muted,#f4f5fb); }
.ctb-contact-panel .wp-block-column { background: #fff; border-radius: 12px; padding: clamp(1.25rem,3vw,2.5rem); }
.ctb-footer { background: var(--wp--preset--color--ink,#142e3c); }
.ctb-footer a { color: #e4d7fc; }
.ctb-footer .wp-block-site-logo { background: #fff; border-radius: 8px; padding: .75rem; display: inline-block; }
.ctb-footer .wp-block-site-logo img { max-height: 65px; }
.ctb-footer .wp-block-columns { align-items: start !important; }
.ctb-footer .wp-block-latest-posts li { margin-bottom: .6rem; }
.ctb-footer .wp-block-image { margin-left: 0; }
.ctb-footer .ctb-partner-logos { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; }
.ctb-footer .ctb-partner-logos img { max-width: 110px; max-height: 110px; }
.ctb-shortcode-page { max-width: 900px; min-height: 55vh; }
.ctb-article pre,.ctb-article code { overflow-wrap: anywhere; }
.ctb-article pre { overflow-x: auto; white-space: pre-wrap; padding: 1.25rem; background: var(--wp--preset--color--muted,#f4f5fb); border-radius: 8px; }
.ctb-article .wp-block-table { overflow-x: auto; }
.ctb-article table { min-width: 100%; border-collapse: collapse; }
.ctb-article th,.ctb-article td { padding: .7rem; border: 1px solid #dde4ed; }
.ctb-article figure img { height: auto; }
.ctb-map { padding: 2rem; border: 1px solid #dde4ed; border-radius: 12px; background: var(--wp--preset--color--muted,#f4f5fb); }
.ctb-blog-query .wp-block-post-template { gap: 2rem; }
.ctb-blog-query .wp-block-post-template > li { background: #fff; padding: 1.25rem; border: 1px solid #dde4ed; border-radius: 12px; }
.ctb-blog-query .wp-block-post-title { font-size: 1.45rem; }
.ctb-blog-query .wp-block-query-pagination { margin-top: 2rem; }
.nf-form-cont label { font-weight: 650; display: inline-block; margin-bottom: .4rem; }
.nf-form-cont textarea { min-height: 150px; width: 100%; }
.nf-form-cont .nf-field-description { font-size: .875rem; }
.nf-form-cont .nf-response-msg { padding: 1rem; background: #edf6ef; border-radius: 8px; }
.nf-form-cont .nf-form-fields-required { font-size: .875rem; }
.nf-form-cont .nf-error-msg { color: #a31b31; }
.nf-form-cont .nf-error input,.nf-form-cont .nf-error textarea { border-color: #a31b31; }
.ctb-originally-disabled { display: none !important; }
.ctb-legacy-icon { font-size: 1.5rem; }
@media(max-width:1020px) and (min-width:782px) { .ctb-header .wp-block-navigation { font-size: .8rem; } }
@media(max-width:781px) {
 .ctb-header .wp-block-navigation__responsive-container:not(.is-menu-open) { display:none; }
 .ctb-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display:flex; }
 .ctb-blog-query .wp-block-post-template { grid-template-columns:1fr !important; }
 .ctb-header .wp-block-navigation__responsive-container.is-menu-open { background:#fff; color:var(--wp--preset--color--ink,#142e3c); }
 .ctb-header .wp-block-navigation__responsive-container.is-menu-open a { color:var(--wp--preset--color--ink,#142e3c); }
 .ctb-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { padding-left: 1rem; }
 .ctb-contact-panel .wp-block-column { margin:0; }
}

@media(max-width:767px){.ctb-hide-phone{display:none!important}}
@media(min-width:768px) and (max-width:980px){.ctb-hide-tablet{display:none!important}}
@media(min-width:981px){.ctb-hide-desktop{display:none!important}}
.editor-styles-wrapper .ctb-originally-disabled { display:block!important; opacity:.65; outline:2px dashed #7d6e9e; }

.ctb-eyebrow { font-size:.875rem; font-weight:700; text-transform:uppercase; letter-spacing:.16em; }
