body:has(.trl-home) .wp-block-template-part,
body:has(.trl-form) .wp-block-template-part,
body:has(.trl-home) .wp-block-post-title,
body:has(.trl-form) .wp-block-post-title { display: none; }

.trl-site-shell { width: 100%; font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.trl-site-header,
.trl-site-footer { width: min(1120px, calc(100% - 3rem)); margin: auto; }
.trl-site-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 76px; color: #14213d; }
.trl-site-brand { color: #14213d !important; font-family: Georgia, "Times New Roman", serif; font-size: 1.28rem; font-weight: 700; text-decoration: none; }
.trl-site-brand span { display: block; font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: .62rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.trl-site-header nav { display: flex; align-items: center; gap: 1.1rem; }
.trl-site-header nav > a { color: #14213d !important; font-size: .9rem; font-weight: 800; text-decoration: none; }
.trl-site-header .trl-site-nav-cta { padding: .65rem .85rem; color: #fff !important; background: #1d4e89; border-radius: 4px; }

.trl-site-shell:has(.trl-site-footer) { background: #10294c; }
.trl-site-footer { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(140px, .75fr); align-items: center; column-gap: 2.25rem; min-height: 100px; padding: 1.5rem 0; color: #dce6f3; font-size: .86rem; }
.trl-site-footer > :last-child { justify-self: end; }
.trl-site-footer a { color: #fff !important; font-weight: 800; text-decoration: none; }
.trl-site-contact { display: flex; flex-direction: column; gap: .3rem; min-width: max-content; line-height: 1.25; }

@media (max-width: 760px) {
  .trl-site-header,
  .trl-site-footer { width: min(100% - 2rem, 1120px); }
  .trl-site-header { min-height: 90px; }
  .trl-site-header nav { gap: .65rem; }
  .trl-site-header nav > a { font-size: .78rem; }
  .trl-site-footer { grid-template-columns: 1fr; align-items: start; gap: .7rem; }
  .trl-site-footer > :last-child { justify-self: start; }
}
