/* Styles reused across pages. */

.company-bar {
  background:var(--ink);
  color:var(--line);
  font-size:13px;
}

.company-bar-inner {
  max-width:1280px;
  margin:0 auto;
  padding:10px 24px;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:6px 24px;
}

.text-white {
  color:var(--white);
}

.site-header {
  background:var(--white);
  position:relative;
}

.header-accent {
  position:absolute;
  left:-12px;
  top:0;
  width:132px;
  height:12px;
  background:var(--blue);
  transform:skewX(-9deg);
  border-bottom-right-radius:10px;
}

.header-inner {
  max-width:1280px;
  margin:0 auto;
  padding:30px 24px 22px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:16px 32px;
}

.brand-group {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:16px 24px;
}

.brand-link {
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:var(--ink);
}

.brand-wordmark {
  display:flex;
  flex-direction:column;
  line-height:1;
}

.brand-name {
  font-weight:700;
  font-size:16px;
}

.brand-subtitle {
  font-size:10px;
  letter-spacing:4px;
  margin-top:5px;
  color:var(--mute);
}

.brand-partner {
  border-left:1px solid var(--line);
  padding-left:16px;
  display:flex;
  align-items:center;
  gap:10px;
}

.partner-logo {
  height:36px;
  width:auto;
  display:block;
}

.partner-caption {
  font-size:12px;
  line-height:1.35;
  color:var(--mute);
  font-weight:700;
}

.main-nav {
  display:flex;
  flex-wrap:wrap;
  gap:4px 26px;
  font-size:15px;
}

.service-button {
  font-size:15px;
  padding:14px 24px;
  border-radius:0 14px 0 0;
}

.bg-white {
  background:var(--white);
}

.mt-40 {
  margin-top:40px;
}

.text-blue {
  color:var(--blue);
}

.bg-muted {
  background:var(--bg2);
}

.columns-wide {
  display:flex;
  flex-wrap:wrap;
  gap:64px;
}

.column-main-520 {
  flex:999 1 520px;
  min-width:0;
}

.leading-relaxed {
  line-height:1.7;
}

.facts-list {
  flex:1 1 360px;
  min-width:0;
  margin:0;
  border-top:2px solid var(--blue);
}

.grid-280 {
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:24px;
}

.mt-48 {
  margin-top:48px;
}

.grid-240 {
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:24px;
}

.cta-section {
  background:var(--blue);
  color:var(--white);
  position:relative;
  overflow:hidden;
}

.cta-outline {
  position:absolute;
  right:8%;
  top:-40px;
  width:200px;
  height:420px;
  border:1.5px solid rgba(255,255,255,.3);
  transform:skewX(-9deg);
  border-radius:0 48px 48px 0;
}

.cta-inner {
  display:flex;
  flex-wrap:wrap;
  gap:32px;
  align-items:center;
  justify-content:space-between;
  position:relative;
}

.column-520 {
  flex:1 1 520px;
  min-width:0;
}

.margin-none {
  margin:0;
}

.cta-description {
  margin:16px 0 0;
  font-size:17px;
  line-height:1.6;
  max-width:620px;
}

.action-row {
  display:flex;
  flex-wrap:wrap;
  gap:14px;
}

.site-footer {
  background:var(--ink);
  color:var(--line);
}

.footer-inner {
  max-width:1280px;
  margin:0 auto;
  padding:64px 24px 32px;
}

.footer-top {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:32px;
}

.footer-brand-link {
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--white);
  text-decoration:none;
}

.footer-brand-subtitle {
  font-size:10px;
  letter-spacing:4px;
  margin-top:5px;
}

.footer-company {
  border-left:1px solid #3A3633;
  padding-left:20px;
  font-size:13px;
  line-height:1.4;
}

.footer-partner {
  border-left:1px solid #3A3633;
  padding-left:16px;
  display:flex;
  align-items:center;
  gap:10px;
}

.footer-partner-caption {
  font-size:12px;
  line-height:1.35;
}

.footer-nav {
  display:flex;
  flex-wrap:wrap;
  gap:4px 28px;
  font-size:15px;
}

.footer-link {
  color:var(--white);
  text-decoration:none;
  padding:12px 0;
}

.footer-bottom {
  margin-top:44px;
  padding-top:24px;
  border-top:1px solid #3A3633;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:12px;
  font-size:13px;
}

.text-line {
  color:var(--line);
}

.mt-36 {
  margin-top:36px;
}

.column-440 {
  flex:1 1 440px;
  min-width:0;
}

.columns {
  display:flex;
  flex-wrap:wrap;
  gap:56px;
}

.column-360 {
  flex:1 1 360px;
  min-width:0;
}

.label-blue {
  font-size:13px;
  font-weight:700;
  color:var(--blue);
}

.mt-4 {
  margin-top:4px;
}

.form-muted {
  flex:999 1 560px;
  min-width:0;
  background:var(--bg2);
}

.textarea-vertical {
  resize:vertical;
}

.heading-compact {
  font-size:clamp(30px,3.4vw,44px);
}

.mt-56 {
  margin-top:56px;
}

.column-380 {
  flex:1 1 380px;
  min-width:0;
}

.column-ruled {
  flex:999 1 560px;
  min-width:0;
  border-top:2px solid var(--blue);
}

.column-main {
  flex:999 1 560px;
  min-width:0;
}

.category-hero {
  background:var(--white);
  overflow:hidden;
}

.category-hero-inner {
  max-width:1280px;
  margin:0 auto;
  padding:32px 24px 88px;
  display:flex;
  flex-wrap:wrap;
  gap:56px;
  align-items:center;
}

.column-460 {
  flex:1 1 460px;
  min-width:0;
}

.category-eyebrow {
  margin-top:28px;
  display:flex;
  align-items:center;
  gap:6px;
}

.category-logo {
  height:36px;
  width:auto;
  margin-left:-6px;
}

.category-description {
  margin:20px 0 0;
  font-size:18px;
  line-height:1.6;
  max-width:540px;
  color:var(--mute);
}

.hero-actions {
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:32px;
}

.category-media {
  flex:1 1 420px;
  min-width:0;
  position:relative;
  padding:24px 0 0 24px;
}

.category-media-accent {
  position:absolute;
  left:64px;
  right:-24px;
  top:0;
  bottom:-32px;
  background:var(--blue);
  transform:skewX(-9deg);
  border-top-right-radius:48px;
}

.position-relative {
  position:relative;
}

.category-photo {
  height:380px;
  border-radius:0 40px 0 0;
  box-shadow:0 20px 50px rgba(19,16,13,.15);
}

.category-brand-icon {
  width:150px;
  height:150px;
  position:relative;
  z-index:1;
}

.mt-28 {
  margin-top:28px;
}

.category-card {
  min-height:190px;
}

.mt-0 {
  margin-top:0;
}

.listing-heading {
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:flex-end;
  gap:16px;
}

.text-caption {
  font-size:13px;
  color:var(--mute);
}

.listing-filter {
  margin-top:28px;
  background:var(--bg2);
  padding:24px;
  border-radius:0 24px 0 0;
}

.align-end {
  display:flex;
  align-items:flex-end;
}

.width-full {
  width:100%;
}

.mt-24 {
  margin-top:24px;
}

.font-bold {
  font-weight:700;
}

.column-340 {
  flex:1 1 340px;
  min-width:0;
}

.file-input {
  padding:11px;
}

/* Parent company footer credit */
.footer-company { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:7px; color:#E5E2DD; font-size:12px; }
.footer-company-credit { display:inline-flex; align-items:center; gap:8px; white-space:nowrap; }
.footer-company-credit img { display:block; flex:0 0 112px; width:112px; max-width:112px; height:auto; }
.footer-company > span:last-child { display:block; font-size:11px; color:#BDB7B0; }