.tl-header { background:#fff8ee; color:#40455f; }
.tl-header-inner {
  width:min(1280px,calc(100% - 100px));
  min-height:106px;
  margin-inline:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  border-bottom:1px solid #49527f38;
}
.tl-header-brand { flex:none; padding-block:10px; }
.tl-header-brand img { display:block; width:104px; height:auto; }
.tl-menu-toggle { display:none; min-height:44px; border:0; border-radius:0 23px 23px 0; background:#e2def8; color:inherit; padding:7px 16px; font-weight:700; }
.tl-header-nav { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:clamp(12px,2.8vw,40px); }
.tl-header-nav a { display:inline-flex; min-height:44px; align-items:center; color:inherit; font-size:1rem; font-weight:550; text-decoration:none; line-height:1.25; }
.tl-header-nav a:hover,.tl-header-nav a[aria-current="page"] { text-decoration:underline; }
.tl-header-nav .tl-header-cta { gap:.65em; min-height:51px; padding:.66em 1.15em; border-radius:0 26px 26px 0; background:#ff6b70; color:#282d4b; font-weight:700; }
.tl-header-cta svg { width:1.05em; height:1.05em; flex:none; }
@media (max-width:1000px) {
  .tl-header-inner { width:calc(100% - 64px); }
  .tl-header-nav { gap:8px 18px; }
}
@media (max-width:740px) {
  .tl-header-inner { width:calc(100% - 36px); min-height:76px; flex-wrap:wrap; gap:4px 12px; }
  .tl-header-brand img { width:76px; }
  .tl-menu-toggle:not([hidden]) { display:inline-flex; align-items:center; }
  .tl-header-nav { width:100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px 12px; padding:0 0 12px; }
  .tl-header[data-menu-ready] .tl-menu-toggle[aria-expanded="false"] + .tl-header-nav { display:none; }
  .tl-header-nav a { font-size:.91rem; }
  .tl-header-nav .tl-header-cta { min-height:44px; }
}
.tl-footer {
  border-top: 1px solid #49527f38;
  background: #fff8ee;
  color: #40455f;
  font-size: 1rem;
}
.tl-footer-inner {
  width: min(1140px, calc(100% - 40px));
  margin: 0 auto;
  padding: 35px 0;
  display: grid;
  grid-template-columns: 1.35fr repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.tl-footer-brand img { display: block; width: 80px; height: auto; }
.tl-footer-brand p { margin: 10px 0 0; font-size: .9rem; }
.tl-footer nav p { font-weight: 750; margin: 0 0 7px; }
.tl-footer nav ul { margin: 0; padding: 0; list-style: none; }
.tl-footer nav a { color: inherit; display: inline-block; padding-block: 3px; text-decoration: underline; text-underline-offset: .2em; }
.tl-footer nav a:hover { color: #2867a5; }
@media (max-width: 680px) {
  .tl-footer-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 21px; }
}
@media (max-width: 350px) {
  .tl-footer-inner { grid-template-columns: 1fr; }
}
