/* Styles for the generated Printing & Branding location pages */
.pb-hero { padding-top: 13rem; padding-bottom: 3rem; background: #ffffff; }
.pb-hero .btn-primary { color: #111111 !important; }
.pb-hero .pb-eyebrow { color: #c79a5c; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; font-size: .85rem; margin-bottom: .75rem; }
.pb-hero h1 { font-weight: 700; font-size: 2.4rem; line-height: 1.2; color: #111111; margin-bottom: 1.25rem; }
.pb-hero .pb-lead { font-size: 1.05rem; line-height: 1.7; color: #444444; }
.pb-hero .pb-areas { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.25rem 0 1.75rem; padding: 0; list-style: none; }
.pb-hero .pb-areas li { background: #fbf1e2; color: #7a5520; border-radius: 999px; padding: .35rem .9rem; font-size: .9rem; font-weight: 500; }
.pb-card { background: #111111; color: #ffffff; border-radius: 6px; padding: 2rem; height: 100%; }
.pb-card h2 { color: #f0c48a; font-size: 1.15rem; font-weight: 700; margin-bottom: 1rem; }
.pb-card ul { padding-left: 1.1rem; margin: 0; }
.pb-card li { margin-bottom: .6rem; line-height: 1.55; }
.pb-section { padding: 3rem 0; scroll-margin-top: 10rem; }
.pb-section.pb-alt { background: #f7f4ef; }
.pb-section h2 { font-weight: 700; font-size: 1.6rem; color: #111111; margin-bottom: 1.25rem; }
.pb-section p { color: #444444; line-height: 1.7; }
.pb-steps { counter-reset: step; list-style: none; padding: 0; margin: 0; }
.pb-steps li { counter-increment: step; position: relative; padding-left: 3rem; margin-bottom: 1.1rem; line-height: 1.6; color: #444444; }
.pb-steps li::before { content: counter(step); position: absolute; left: 0; top: 0; width: 2rem; height: 2rem; border-radius: 50%; background: #f0c48a; color: #111111; font-weight: 700; display: flex; align-items: center; justify-content: center; }
.pb-faq details { border-bottom: 1px solid #e3ddd3; padding: 1rem 0; }
.pb-faq summary { cursor: pointer; font-weight: 600; color: #111111; }
.pb-faq details p { margin: .75rem 0 0; }
.pb-links { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: .6rem 1.5rem; padding: 0; list-style: none; }
.pb-links a { color: #111111; text-decoration: none; }
.pb-links a:hover { color: #c79a5c; }
.pb-hero-img { display: block; width: 100%; height: auto; border-radius: 6px; margin-bottom: 1.25rem; }
.pb-hub-group { display: flex; gap: 1.5rem; align-items: flex-start; margin-bottom: 2.25rem; }
.pb-hub-group img { flex: 0 0 160px; width: 160px; height: auto; border-radius: 6px; }
.pb-hub-group > div { flex: 1; min-width: 0; }
.pb-hub-group h3 { font-size: 1.2rem; font-weight: 700; margin-bottom: .75rem; }

/* Footer */
.pb-trust { background: #ffffff; padding: 4.5rem 0 3.5rem; }
.pb-trust .pb-trust-eyebrow { color: #c79a5c; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; font-size: .85rem; margin-bottom: .5rem; }
.pb-trust h2 { font-weight: 700; font-size: 1.8rem; color: #111111; margin-bottom: 2.5rem; max-width: 34rem; }
.pb-trust-item { margin-bottom: 2rem; }
.pb-trust-icon { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; border-radius: 50%; background: #fbf1e2; margin-bottom: 1rem; }
.pb-trust-icon svg { width: 24px; height: 24px; fill: #a06e2c; }
.pb-trust h3 { font-size: 1.05rem; font-weight: 700; color: #111111; margin-bottom: .5rem; }
.pb-trust p { color: #555555; line-height: 1.6; margin: 0; }
.pb-footer { background: #111111; color: #b9b4ab; padding: 4rem 0 0; font-size: .95rem; }
.pb-footer a { color: #e8e4dd; text-decoration: none; }
.pb-footer a:hover { color: #f0c48a; }
.pb-footer h3 { color: #ffffff; font-size: .8rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 1.25rem; }
.pb-footer ul { list-style: none; padding: 0; margin: 0; }
.pb-footer li { margin-bottom: .7rem; line-height: 1.5; }
.pb-footer-main > div { margin-bottom: 2.5rem; }
.pb-footer-logo { display: inline-flex; align-items: center; gap: .75rem; margin-bottom: 1rem; }
.pb-footer-logo img { width: 56px; height: auto; background: #ffffff; border-radius: 6px; padding: 4px; }
.pb-footer-logo span { color: #ffffff; font-weight: 700; letter-spacing: .04em; }
.pb-footer-brand p { line-height: 1.7; max-width: 22rem; }
.pb-footer .pb-footer-cta { display: inline-block; margin-top: .5rem; background: #f0c48a; color: #111111; font-weight: 700; padding: .7rem 1.4rem; border-radius: 4px; letter-spacing: .04em; }
.pb-footer .pb-footer-cta:hover { background: #ffffff; color: #111111; }
.pb-footer-contact span { display: block; color: #7d786f; font-size: .75rem; letter-spacing: .1em; text-transform: uppercase; margin-bottom: .1rem; }
.pb-footer-bottom { border-top: 1px solid #2a2a2a; padding: 1.5rem 0; display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem; font-size: .85rem; }
.pb-footer-bottom p { margin: 0; }
.pb-footer-bottom a { color: #b9b4ab; }
.pb-breadcrumb { font-size: .85rem; color: #777777; margin-bottom: 1rem; }
.pb-breadcrumb a { color: #777777; }
@media (max-width: 767px) {
  .pb-hero > .container,
  .pb-section > .container,
  .pb-trust > .container,
  .pb-footer > .container { padding-left: 24px; padding-right: 24px; }
  .pb-hero { padding-top: 7rem; }
  .pb-hero h1 { font-size: 1.8rem; }
  .pb-card { margin-top: 0; }
  .pb-hero-img { margin-top: 2rem; }
  .pb-hub-group { flex-direction: column; gap: .75rem; }
  .pb-hub-group img { width: 100%; max-width: 320px; flex-basis: auto; }
}
