/* Signature Regrout theme: site chrome, blog and base styles. */
:root {
	--srt-navy: #0E2433;
	--srt-navy-2: #0A1C29;
	--srt-navy-3: #1B3A50;
	--srt-ink: #14202B;
	--srt-muted: #4A5763;
	--srt-soft: #F4F6F7;
	--srt-line: #E3E8EC;
	--srt-gold: #C9A45C;
	--srt-gold-ink: #7A5A1C;
	--srt-max: 1240px;
	--srt-font: 'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--srt-display: 'Sora', 'Manrope', system-ui, sans-serif;
}

/* ---------- base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 96px; }
body { margin: 0; background: #fff; color: var(--srt-ink); font-family: var(--srt-font); font-size: 17px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
img, video { max-width: 100%; height: auto; }
a { color: var(--srt-navy); }
a:hover { color: var(--srt-gold-ink); }
:focus-visible { outline: 3px solid var(--srt-gold); outline-offset: 2px; }
.srt-icon { flex: none; }

.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.skip-link:focus { clip: auto; clip-path: none; height: auto; width: auto; left: 12px; top: 12px; z-index: 1000; background: #fff; color: var(--srt-navy); padding: 12px 18px; border-radius: 8px; font-weight: 700; }

.srt-wrap { width: 100%; max-width: var(--srt-max); margin: 0 auto; padding: 0 16px; }
.srt-wrap--narrow { max-width: 832px; }
@media (min-width: 768px) { .srt-wrap { padding: 0 24px; } }

/* ---------- buttons ---------- */
.srt-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 20px; border-radius: 999px; border: 1.5px solid transparent; font-family: var(--srt-font); font-weight: 700; font-size: 15px; line-height: 1.2; text-decoration: none; white-space: nowrap; cursor: pointer; transition: background-color .15s, color .15s, border-color .15s; }
.srt-btn--gold { background: var(--srt-gold); color: var(--srt-navy); }
.srt-btn--gold:hover { background: #D8B672; color: var(--srt-navy); }
.srt-btn--line { border-color: var(--srt-navy); color: var(--srt-navy); background: #fff; }
.srt-btn--line:hover { background: var(--srt-soft); color: var(--srt-navy); }
.srt-btn--navy { background: var(--srt-navy); color: #fff; }
.srt-btn--navy:hover { background: var(--srt-navy-3); color: #fff; }
.srt-btn--ghost { border-color: #5D7486; color: #fff; }
.srt-btn--ghost:hover { border-color: #fff; color: #fff; }
.srt-actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* ---------- top bar ---------- */
.srt-topbar { background: var(--srt-navy); color: #DCE4EA; font-size: 14px; }
.srt-topbar__in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 24px; min-height: 40px; padding-top: 6px; padding-bottom: 6px; }
.srt-topbar a { color: #DCE4EA; text-decoration: none; }
.srt-topbar a:hover { color: #fff; text-decoration: underline; }
.srt-topbar .srt-strong { color: #fff; font-weight: 700; }
.srt-topbar__contact { display: flex; flex-wrap: wrap; gap: 4px 20px; }
@media (max-width: 767px) { .srt-topbar__area { display: none; } .srt-topbar__in { justify-content: center; } }

/* ---------- header ---------- */
.srt-header { position: sticky; top: 0; z-index: 90; background: #fff; border-bottom: 1px solid var(--srt-line); }
.admin-bar .srt-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .srt-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .srt-header { top: 0; } }
.srt-header__in { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 76px; }
.srt-brand { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--srt-navy); }
.srt-brand:hover { color: var(--srt-navy); }
.srt-brand__mark { width: 44px; height: 44px; border-radius: 10px; background: var(--srt-navy); color: var(--srt-gold); display: grid; place-items: center; font-family: var(--srt-display); font-weight: 700; font-size: 17px; flex: none; }
.srt-brand__text { display: flex; flex-direction: column; line-height: 1.15; }
.srt-brand__name { font-family: var(--srt-display); font-weight: 700; font-size: 17px; white-space: nowrap; }
.srt-brand__tag { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--srt-muted); margin-top: 3px; }
.custom-logo-link { display: block; }
.custom-logo { display: block; max-height: 56px; width: auto; }

.srt-nav { display: flex; align-items: center; gap: 20px; }
.srt-menu { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 2px; }
.srt-menu > li { position: relative; }
.srt-menu a { display: flex; align-items: center; min-height: 44px; padding: 0 11px; white-space: nowrap; border-radius: 8px; font-weight: 600; font-size: 15px; color: var(--srt-navy); text-decoration: none; }
.srt-menu a:hover { color: var(--srt-gold-ink); }
.srt-menu .current-menu-item > a, .srt-menu .current-menu-ancestor > a, .srt-menu .current_page_item > a { color: var(--srt-gold-ink); }
.srt-menu > .menu-item-has-children > a::after { content: ''; width: 7px; height: 7px; margin-left: 8px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); }
.srt-menu .sub-menu { list-style: none; margin: 0; padding: 8px; position: absolute; top: 100%; left: 0; min-width: 300px; background: #fff; border: 1px solid var(--srt-line); border-radius: 14px; box-shadow: 0 18px 40px rgba(14, 36, 51, .12); opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .15s, transform .15s, visibility .15s; z-index: 10; }
.srt-menu li:hover > .sub-menu, .srt-menu li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.srt-menu .sub-menu a { min-height: 40px; font-weight: 500; }
.srt-menu .sub-menu a:hover { background: var(--srt-soft); color: var(--srt-navy); }
.srt-nav__actions { display: flex; gap: 10px; }
@media (min-width: 1200px) and (max-width: 1399px) {
	.srt-brand__tag, .srt-nav__actions .srt-btn--line { display: none; }
	.srt-nav { gap: 12px; }
}

.srt-navtoggle { display: none; align-items: center; gap: 10px; min-height: 44px; padding: 0 14px; border: 1.5px solid var(--srt-line); border-radius: 999px; background: #fff; color: var(--srt-navy); font: 700 15px/1 var(--srt-font); cursor: pointer; }
.srt-burger { position: relative; width: 18px; height: 12px; display: inline-block; }
.srt-burger::before, .srt-burger::after, .srt-burger span { content: ''; position: absolute; left: 0; right: 0; height: 2px; background: currentColor; border-radius: 2px; transition: transform .2s, opacity .2s; }
.srt-burger::before { top: 0; }
.srt-burger span { top: 5px; }
.srt-burger::after { bottom: 0; }
.srt-navtoggle[aria-expanded="true"] .srt-burger::before { transform: translateY(5px) rotate(45deg); }
.srt-navtoggle[aria-expanded="true"] .srt-burger span { opacity: 0; }
.srt-navtoggle[aria-expanded="true"] .srt-burger::after { transform: translateY(-5px) rotate(-45deg); }

@media (max-width: 1199px) {
	.srt-navtoggle { display: inline-flex; }
	.srt-nav { display: none; position: absolute; top: 100%; left: 0; right: 0; background: #fff; border-bottom: 1px solid var(--srt-line); box-shadow: 0 18px 30px rgba(14, 36, 51, .1); padding: 8px 16px 20px; max-height: calc(100vh - 120px); overflow-y: auto; flex-direction: column; align-items: stretch; }
	.srt-nav.is-open { display: flex; }
	.srt-menu { flex-direction: column; align-items: stretch; }
	.srt-menu > li { border-bottom: 1px solid var(--srt-line); }
	.srt-menu a { min-height: 48px; padding: 0 4px; font-size: 16px; }
	.srt-menu > .menu-item-has-children > a::after { display: none; }
	.srt-menu .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; padding: 0 0 8px 12px; min-width: 0; }
	.srt-menu .sub-menu a { min-height: 42px; font-size: 15px; color: var(--srt-muted); }
	.srt-nav__actions { flex-direction: column; padding-top: 16px; }
	.srt-nav__actions .srt-btn { width: 100%; min-height: 50px; }
	.srt-header { position: sticky; }
	.srt-header__in { position: relative; min-height: 68px; }
}
@media (max-width: 420px) { .srt-brand__tag { display: none; } .srt-navtoggle__label { display: none; } }

/* ---------- theme hero (blog, archives, plain pages) ---------- */
.srt-hero { background: var(--srt-navy); color: #fff; padding: 36px 0 56px; }
.srt-hero__title { font-family: var(--srt-display); font-weight: 700; font-size: clamp(32px, 4.4vw, 52px); line-height: 1.08; letter-spacing: -.02em; margin: 6px 0 14px; color: #fff; }
.srt-hero__lead { font-size: 19px; color: #C9D4DD; max-width: 680px; margin: 0; }
.srt-hero__lead p { margin: 0; }
.srt-hero__search { margin-top: 18px; max-width: 520px; }
.srt-eyebrow { font-size: 13px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--srt-gold); margin: 0 0 4px; }
.srt-eyebrow a { color: inherit; text-decoration: none; }
.srt-meta { color: #B7C5D0; font-size: 15px; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.srt-crumbs { font-size: 14px; color: #B7C5D0; margin-bottom: 20px; display: flex; flex-wrap: wrap; gap: 8px; }
.srt-crumbs a { color: #DCE4EA; }
.srt-crumbs a:hover { color: #fff; }

/* ---------- blog grid ---------- */
.srt-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 24px; padding: 56px 0 32px; }
.srt-card { border: 1px solid var(--srt-line); border-radius: 16px; overflow: hidden; background: #fff; transition: box-shadow .15s, transform .15s; }
.srt-card:hover { box-shadow: 0 14px 34px rgba(14, 36, 51, .1); transform: translateY(-2px); }
.srt-card__link { display: flex; flex-direction: column; height: 100%; color: var(--srt-ink); text-decoration: none; }
.srt-card__link:hover { color: var(--srt-ink); }
.srt-card__img { aspect-ratio: 3 / 2; background: #DCE3E8; overflow: hidden; }
.srt-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.srt-card__body { padding: 22px 24px 24px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.srt-card__date { margin: 0; font-size: 14px; color: var(--srt-muted); }
.srt-card__title { margin: 0; font-family: var(--srt-display); font-weight: 600; font-size: 20px; line-height: 1.3; color: var(--srt-navy); }
.srt-card__excerpt { margin: 0; color: var(--srt-muted); font-size: 16px; flex: 1; }
.srt-more { font-weight: 700; color: var(--srt-navy); font-size: 15px; }

.navigation.pagination { padding: 8px 0 72px; }
.nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 14px; border: 1px solid var(--srt-line); border-radius: 999px; text-decoration: none; font-weight: 600; color: var(--srt-navy); }
.page-numbers.current { background: var(--srt-navy); border-color: var(--srt-navy); color: #fff; }
.page-numbers.dots { border: 0; }
.srt-empty { padding: 56px 16px 80px; }

/* ---------- article ---------- */
.srt-article { padding-bottom: 72px; }
.srt-article__img { margin: 40px 0 8px; }
.srt-article__img img { width: 100%; border-radius: 16px; display: block; }
.srt-page { padding-top: 48px; padding-bottom: 72px; }

.srt-prose { font-size: 18px; line-height: 1.75; padding-top: 32px; }
.srt-prose > *:first-child { margin-top: 0; }
.srt-prose h2, .srt-prose h3, .srt-prose h4 { font-family: var(--srt-display); color: var(--srt-navy); line-height: 1.25; letter-spacing: -.01em; }
.srt-prose h2 { font-size: clamp(25px, 2.6vw, 32px); margin: 1.8em 0 .5em; }
.srt-prose h3 { font-size: 22px; margin: 1.6em 0 .4em; }
.srt-prose h4 { font-size: 19px; margin: 1.4em 0 .4em; }
.srt-prose p { margin: 0 0 1.15em; }
.srt-prose ul, .srt-prose ol { margin: 0 0 1.2em; padding-left: 1.3em; }
.srt-prose li { margin: .35em 0; }
.srt-prose li::marker { color: var(--srt-gold-ink); }
.srt-prose a { text-decoration-thickness: 1px; text-underline-offset: 3px; }
.srt-prose blockquote { margin: 1.6em 0; padding: 4px 0 4px 22px; border-left: 4px solid var(--srt-gold); color: var(--srt-ink); font-size: 19px; }
.srt-prose img { border-radius: 12px; }
.srt-prose figure { margin: 1.6em 0; }
.srt-prose figcaption, .srt-prose .wp-element-caption { font-size: 14px; color: var(--srt-muted); margin-top: 8px; }
.srt-prose table { width: 100%; border-collapse: collapse; margin: 1.6em 0; font-size: 16px; }
.srt-prose .wp-block-table { overflow-x: auto; }
.srt-prose .wp-block-table table { margin: 0; }
.srt-prose th, .srt-prose td { border: 1px solid var(--srt-line); padding: 10px 12px; text-align: left; vertical-align: top; }
.srt-prose th { background: var(--srt-soft); font-weight: 700; }
.srt-prose code { background: var(--srt-soft); padding: 2px 6px; border-radius: 6px; font-size: .9em; }
.srt-prose hr { border: 0; border-top: 1px solid var(--srt-line); margin: 2.4em 0; }
.srt-prose .alignwide { margin-left: calc(-1 * min(120px, 6vw)); margin-right: calc(-1 * min(120px, 6vw)); max-width: none; }
.srt-prose .alignleft { float: left; margin: 0 1.4em 1em 0; }
.srt-prose .alignright { float: right; margin: 0 0 1em 1.4em; }
.srt-prose .aligncenter { margin-left: auto; margin-right: auto; }
.srt-article__builder { padding-top: 24px; }

.srt-postcta { margin: 56px 0 32px; background: var(--srt-navy); color: #fff; border-radius: 20px; padding: 32px; }
.srt-postcta .srt-eyebrow { color: var(--srt-gold); }
.srt-postcta__title { font-family: var(--srt-display); font-weight: 700; font-size: clamp(22px, 2.6vw, 28px); line-height: 1.2; margin: 4px 0 10px; color: #fff; }
.srt-postcta p { color: #C9D4DD; margin: 0 0 20px; }
.srt-postcta .srt-postcta__title { color: #fff; margin: 4px 0 10px; }
.srt-postcta .srt-eyebrow { color: var(--srt-gold); margin: 0 0 4px; }

.post-navigation .nav-links { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; margin: 16px 0 40px; }
.post-navigation a { display: flex; flex-direction: column; gap: 4px; padding: 18px 20px; border: 1px solid var(--srt-line); border-radius: 14px; text-decoration: none; height: 100%; }
.post-navigation a:hover { background: var(--srt-soft); color: var(--srt-navy); }
.post-navigation .nav-next { text-align: right; }
.srt-postnav__label { font-size: 13px; letter-spacing: .1em; text-transform: uppercase; color: var(--srt-muted); }
.srt-postnav__title { font-family: var(--srt-display); font-weight: 600; color: var(--srt-navy); line-height: 1.3; }

/* ---------- comments ---------- */
.srt-comments { border-top: 1px solid var(--srt-line); padding-top: 32px; }
.srt-comments__title, .comment-reply-title { font-family: var(--srt-display); color: var(--srt-navy); font-size: 24px; }
.srt-comments__list { list-style: none; padding: 0; }
.srt-comments__list .comment-body { padding: 18px 0; border-bottom: 1px solid var(--srt-line); }
.comment-form label { display: block; font-weight: 600; margin-bottom: 6px; }
.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea, .search-form .search-field { width: 100%; min-height: 46px; border: 1px solid #CBD4DB; border-radius: 10px; padding: 10px 14px; font: inherit; background: #fff; color: var(--srt-ink); }
.comment-form p { margin: 0 0 16px; }
.comment-form .comment-form-cookies-consent { display: flex; align-items: flex-start; gap: 10px; }
.comment-form .comment-form-cookies-consent input { margin-top: 6px; }
.comment-form .comment-form-cookies-consent label { display: inline; font-weight: 400; margin: 0; }

/* ---------- search form ---------- */
.search-form { display: flex; gap: 8px; }
.search-form label { flex: 1; }
.search-form .search-submit { min-height: 46px; padding: 0 20px; border: 0; border-radius: 999px; background: var(--srt-gold); color: var(--srt-navy); font: 700 15px var(--srt-font); cursor: pointer; }
.srt-404-search { margin-top: 32px; }
.srt-actions--stack { margin-top: 8px; }

/* ---------- footer ---------- */
.srt-footer { background: var(--srt-navy-2); color: #B7C5D0; font-size: 15px; padding: 64px 0 24px; }
.srt-footer a { color: #B7C5D0; text-decoration: none; }
.srt-footer a:hover { color: #fff; text-decoration: underline; }
.srt-footer__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 36px; }
.srt-footer__brand { font-family: var(--srt-display); font-weight: 700; font-size: 19px; color: #fff; margin: 0 0 10px; }
.srt-footer__about p { margin: 0 0 12px; }
.srt-footer__small { font-size: 14px; }
.srt-footer__social { display: flex; gap: 16px; }
.srt-footer__social a { color: #fff; font-weight: 600; }
.srt-footer__h { color: #fff; font-weight: 700; margin: 0 0 12px; }
.srt-footer__menu { list-style: none; margin: 0; padding: 0; }
.srt-footer__menu li { margin: 0 0 8px; }
.srt-footer__contact li { display: flex; align-items: center; gap: 10px; }
.srt-footer__contact .srt-icon { color: var(--srt-gold); }
.srt-footer .srt-strong { color: #fff; font-weight: 700; }
.srt-footer__cta { margin-top: 12px; }
.srt-footer .srt-footer__cta { color: var(--srt-navy); }
.srt-footer .srt-footer__cta:hover { color: var(--srt-navy); text-decoration: none; }
.srt-footer__base { border-top: 1px solid #22394A; margin-top: 44px; padding-top: 20px; font-size: 14px; }

/* ---------- mobile call bar ---------- */
.srt-mobilebar { display: none; }
@media (max-width: 767px) {
	body { padding-bottom: 72px; }
	.srt-mobilebar { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 8px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 95; background: var(--srt-navy); padding: 8px 8px calc(8px + env(safe-area-inset-bottom)); box-shadow: 0 -8px 24px rgba(0, 0, 0, .18); }
	.srt-mobilebar a { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 48px; border-radius: 10px; background: var(--srt-navy-3); color: #fff; font-weight: 700; font-size: 15px; text-decoration: none; }
	.srt-mobilebar a.is-primary { background: var(--srt-gold); color: var(--srt-navy); }
}

/* ---------- Elementor pages ---------- */
.srt-elementor .srt-main { overflow-x: clip; }
.srt-elementor .entry-title, .srt-elementor .page-header { display: none; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; }
}
