/* BUILDING PRINCIPLES BLOG START — charcoal, gold and blue site theme. */
.bp_blog {
  --bp-gold: #bca264;
  --bp-gold-light: #d8c28f;
  --bp-ink: #1a1a1a;
  --bp-panel: #222222;
  --bp-panel-raised: #292929;
  --bp-blue: #0c89ff;
  --bp-link: #72bbff;
  --bp-paper: #f8f7f4;
  --bp-line: #454139;
  --bp-muted: #bdbbb5;
  position: relative;
  width: 100%;
  background: var(--bp-ink);
  color: var(--bp-paper);
  font: 400 1rem/1.8 'Raleway', Arial, sans-serif;
  border-top: 1px solid rgba(188, 162, 100, .35);
}
.bp_blog *, .bp_blog *::before, .bp_blog *::after {box-sizing: border-box;}
.bp_blog :is(h2,h3,h4,p,figure,ul,ol) {margin: 0; padding: 0;}
.bp_blog :is(h2,h3,h4) {font-family: 'Oswald', Arial, sans-serif; font-style: normal; font-weight: 400; line-height: 1.3; letter-spacing: .015em; color: var(--bp-gold-light);}
.bp_blog a {color: var(--bp-link); text-underline-offset: .25em; text-decoration-thickness: 1px;}
.bp_blog a:hover {color: #a4d2ff;}
.bp_blog :is(a,button,input):focus-visible {outline: 3px solid var(--bp-blue); outline-offset: 5px;}
.bp_blog_layout {display: grid; grid-template-columns: minmax(0,1fr); align-items: start; gap: 32px; width: min(100%,1560px); margin: 0 auto; padding: 32px 20px 56px;}
.bp_blog_article {min-width: 0;}
.bp_blog_header {position: relative; padding: 0 0 30px; border-bottom: 1px solid var(--bp-line);}
.bp_blog_breadcrumb {display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 28px; color: var(--bp-muted); font-size: .8125rem; line-height: 1.5;}
.bp_blog_breadcrumb a {display: inline-flex; align-items: center; min-height: 44px; color: var(--bp-muted);}
.bp_blog_breadcrumb a:hover {color: var(--bp-gold-light);}
.bp_blog_meta {display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-bottom: 16px; color: var(--bp-muted); font-size: .8125rem; line-height: 1.6;}
.bp_blog_meta span + span {border-left: 1px solid #625c4f; padding-left: 14px;}
.bp_blog .bp_blog_title {max-width: 24ch; font-family: 'Raleway', Arial, sans-serif; font-size: clamp(1.875rem, 3.1vw, 3rem); font-weight: 500; line-height: 1.2; letter-spacing: -.025em; color: #fff; overflow-wrap: anywhere; text-wrap: balance;}
.bp_blog_title::after {content: ''; display: block; width: 76px; height: 3px; margin-top: 24px; background: var(--bp-gold);}
.bp_blog_subtitle {max-width: 70ch; margin-top: 20px !important; font-size: 1.0625rem; line-height: 1.8; color: #d4d1c9;}
.bp_blog_tags {display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px;}
.bp_blog_tags a {display: inline-flex; align-items: center; min-height: 44px; padding: 7px 12px; border: 1px solid #5b5038; background: #28251f; color: var(--bp-gold-light); font-size: .75rem; font-weight: 500; line-height: 1.5; text-decoration: none; transition: border-color .2s, background-color .2s;}
.bp_blog_tags a:hover {border-color: var(--bp-gold); background: #353024; color: #f3e4c2;}
.bp_blog_cover {position: relative; width: 100%; aspect-ratio: 16/9; margin-top: 32px !important; overflow: hidden; background: var(--bp-panel-raised); border-bottom: 3px solid var(--bp-gold);}
.bp_blog_cover img {display: block; width: 100%; height: 100%; object-fit: cover;}
.bp_blog_intro {max-width: 78ch; margin-top: 30px; font-size: 1rem; line-height: 1.9; color: #e1dfd8; overflow-wrap: anywhere;}
.bp_blog_intro > h3 {margin-bottom: 16px; font-size: 1.5rem;}
.bp_blog_takeaways {margin-top: 28px; padding: 24px; border: 1px solid #5b5038; border-left: 3px solid var(--bp-gold); background: #25231e;}
.bp_blog_takeaways h3 {margin-bottom: 14px; font-size: 1.35rem;}
.bp_blog_takeaways ul {padding-left: 22px; list-style: disc;}
.bp_blog_takeaways li {padding: 5px 0 5px 3px; color: #e5e0d3; font-size: .9375rem; line-height: 1.8;}
.bp_blog_takeaways li::marker {color: var(--bp-gold);}
.bp_blog_sections {display: grid; gap: 0;}
.bp_blog_section {display: grid; grid-template-columns: minmax(0,1fr); gap: 26px; padding: 32px 0; border-bottom: 1px solid var(--bp-line);}
.bp_blog_section_copy {width: 100%; min-width: 0;}
.bp_blog_section h3 {margin-bottom: 18px; font-size: 1.65rem; scroll-margin-top: 32px; overflow-wrap: anywhere;}
.bp_blog_richtext {font-size: 1rem; line-height: 1.9; letter-spacing: 0; color: #dfddd7; overflow-wrap: anywhere;}
.bp_blog_richtext :is(p,ul,ol,blockquote,table), .bp_blog_intro :is(p,ul,ol,blockquote,table) {margin: 0 0 1.2em;}
.bp_blog_richtext :is(p,ul,ol):last-child, .bp_blog_intro :is(p,ul,ol):last-child {margin-bottom: 0;}
.bp_blog_richtext ul, .bp_blog_intro ul {padding-left: 1.5em; list-style: disc;}
.bp_blog_richtext ol, .bp_blog_intro ol {padding-left: 1.5em; list-style: decimal;}
.bp_blog_richtext li, .bp_blog_intro li {margin: .45em 0; padding-left: .15em;}
.bp_blog_richtext li::marker, .bp_blog_intro li::marker {color: var(--bp-gold);}
.bp_blog_richtext :is(h4,h5) {margin: 1.1em 0 .6em; color: var(--bp-gold-light); font-family: 'Oswald', Arial, sans-serif; font-size: 1.25rem; line-height: 1.4;}
.bp_blog_richtext :is(strong,b), .bp_blog_intro :is(strong,b) {color: #fff; font-weight: 600;}
.bp_blog_richtext blockquote, .bp_blog_intro blockquote {padding: 20px 24px; border-left: 3px solid var(--bp-gold); background: var(--bp-panel-raised); color: #f3e4c2;}
.bp_blog_richtext table {display: block; width: 100%; overflow-x: auto; border-collapse: collapse; font-size: .9375rem;}
.bp_blog_richtext :is(th,td) {padding: 13px 16px; border: 1px solid #5b5549; text-align: left; vertical-align: top;}
.bp_blog_richtext th {background: #343027; color: #f3e4c2; font-weight: 600;}
.bp_blog_richtext tr:nth-child(even) td {background: #222;}
.bp_blog_media {display: grid; align-content: start; gap: 20px; min-width: 0;}
.bp_blog_media figure {min-width: 0;}
.bp_blog_media img {display: block; width: 100%; height: auto; object-fit: contain; background: var(--bp-panel-raised); border-bottom: 2px solid #7b6c46;}
.bp_blog_media figcaption {margin-top: 10px; color: var(--bp-muted); font-size: .8125rem; line-height: 1.7;}
.bp_blog_footer {margin-top: 8px;}
.bp_blog_share {display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 22px 0; font-size: .8125rem;}
.bp_blog_share > span {margin-right: 8px; color: var(--bp-muted);}
.bp_blog_share a {display: inline-flex; align-items: center; justify-content: center; min-height: 48px; min-width: 48px; padding: 10px 15px; border: 1px solid #625a48; color: #f1e7d0; text-decoration: none; transition: background-color .2s, border-color .2s, color .2s;}
.bp_blog_share a:hover {background: var(--bp-gold); border-color: var(--bp-gold); color: var(--bp-ink);}
.bp_blog_eyebrow {display: block; margin-bottom: 12px; font-family: 'Oswald', Arial, sans-serif; font-size: .75rem; font-weight: 400; line-height: 1.7; letter-spacing: .12em; text-transform: uppercase; color: var(--bp-gold-light);}
.bp_blog_project {position: relative; margin-top: 12px; padding: 28px 24px; border: 1px solid #605237; border-top: 3px solid var(--bp-gold); background: #25231e;}
.bp_blog_project h3 {max-width: 28ch; margin-bottom: 14px; font-size: 1.9rem; color: #fff;}
.bp_blog_project p {max-width: 70ch; font-size: .9375rem; line-height: 1.85; color: #d6d2c8;}
.bp_blog_actions {display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px;}
.bp_blog a.bp_blog_button {position: relative; display: inline-flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 52px; padding: 14px 20px; border: 1px solid var(--bp-gold); border-radius: 2px; background: var(--bp-gold); color: var(--bp-ink); font: 500 .9375rem/1.5 'Oswald', Arial, sans-serif; letter-spacing: .045em; text-transform: uppercase; text-decoration: none; cursor: pointer; transition: transform .2s ease, background-color .2s, border-color .2s, box-shadow .2s;}
.bp_blog_button::after {content: '→'; font-family: Arial, sans-serif; font-size: 1.2rem; line-height: 1; transition: transform .2s ease;}
.bp_blog a.bp_blog_button:hover {background: var(--bp-blue); border-color: var(--bp-blue); color: #101820; transform: translateY(-2px); box-shadow: 0 6px 20px #0003;}
.bp_blog_button:hover::after {transform: translateX(3px);}
.bp_blog a.bp_blog_button:active {transform: translateY(0);}
.bp_blog a.bp_blog_button.is-outline {border-color: #80704b; background: transparent; color: var(--bp-gold-light);}
.bp_blog a.bp_blog_button.is-outline:hover {border-color: var(--bp-gold); background: #343027; color: #fff;}
.bp_blog_sidebar {display: grid; gap: 24px; min-width: 0; width: 100%;}
.bp_blog_sidebar_card {position: relative; min-width: 0; padding: 24px; border: 1px solid #484237; background: var(--bp-panel);}
.bp_blog_sidebar_card h2 {margin-bottom: 18px; color: var(--bp-gold-light); font-size: 1.35rem;}
.bp_blog_sidebar_project {border-top: 3px solid var(--bp-gold); background: #29261f;}
.bp_blog_sidebar_project h2 {color: #fff; font-size: 1.65rem;}
.bp_blog_sidebar_card p {font-size: .875rem; line-height: 1.85; color: #d1cec6;}
.bp_blog_sidebar_project .bp_blog_button {display: flex; margin-top: 22px; width: 100%; font-size: .875rem;}
.bp_blog_contents {list-style: decimal-leading-zero; padding-left: 25px !important; color: var(--bp-gold);}
.bp_blog_contents li {padding-left: 4px; font-size: .8125rem; line-height: 1.65;}
.bp_blog_contents li::marker {font-family: 'Oswald', Arial, sans-serif; font-size: .875rem;}
.bp_blog_contents a {display: block; padding: 12px 0; border-bottom: 1px solid #443f35; color: #dedbd2; text-decoration: none; transition: color .2s;}
.bp_blog_contents li:last-child a {border-bottom: 0;}
.bp_blog_contents a:hover, .bp_blog_contents a[aria-current=location] {color: var(--bp-link); text-decoration: underline;}
.bp_blog_recent {display: grid; gap: 18px;}
.bp_blog_recent > a {display: flex; align-items: start; gap: 13px; min-height: 48px; padding-bottom: 18px; border-bottom: 1px solid #443f35; color: #f2f0e9; text-decoration: none;}
.bp_blog_recent > a:last-child {padding-bottom: 0; border: 0;}
.bp_blog_recent img {display: block; flex: none; width: 68px; height: 76px; object-fit: cover; background: #343027;}
.bp_blog_recent strong {display: block; font-size: .8125rem; font-weight: 500; line-height: 1.7;}
.bp_blog_recent a:hover strong {color: var(--bp-link);}
.bp_blog_recent small {display: block; margin-top: 8px; color: var(--bp-muted); font-size: .75rem; line-height: 1.5;}
.bp_blog_sidebar_about > a {display: inline-flex; align-items: center; gap: 12px; min-height: 48px; margin-top: 12px; color: var(--bp-gold-light); font-size: .875rem; font-weight: 500;}
.bp_blog_resource_links {list-style: none;}
.bp_blog_resource_links a {display: block; min-height: 48px; padding: 11px 0; border-bottom: 1px solid #443f35; color: #d8d3c7; font-size: .8125rem; line-height: 1.7;}
.bp_blog_resource_links li:last-child a {border-bottom: 0;}
.bp_blog_resource_links a:hover {color: var(--bp-link);}
.bp_blog_explorer {width: min(100%,1480px); margin: auto; padding: 36px 20px 56px;}
.bp_blog_explorer_header {max-width: 900px; margin-bottom: 32px;}
.bp_blog_explorer_header h2 {max-width: 26ch; margin-bottom: 18px; font-family: 'Raleway', Arial, sans-serif; font-size: clamp(1.875rem,3.1vw,3rem); font-weight: 500; line-height: 1.2; letter-spacing: -.025em; color: #fff; text-wrap: balance;}
.bp_blog_explorer_header p {max-width: 75ch; font-size: 1rem; line-height: 1.85; color: #d4d1c9;}
.bp_blog_search {padding: 22px; border: 1px solid #5b5038; background: #25231e;}
.bp_blog_search label {display: block; margin-bottom: 12px; font-family: 'Oswald', Arial, sans-serif; font-size: .875rem; line-height: 1.5; letter-spacing: .07em; text-transform: uppercase; color: var(--bp-gold-light);}
.bp_blog_search > div {display: flex; flex-wrap: wrap; gap: 12px;}
.bp_blog_search input[type=search] {flex: 1 1 230px; min-width: 0; width: 100%; min-height: 52px; padding: 12px 16px; border: 1px solid #6a604c; border-radius: 2px; background: #1a1a1a; color: #fff; font: 400 1rem/1.5 'Raleway', Arial, sans-serif; appearance: none; transition: border-color .2s, box-shadow .2s;}
.bp_blog_search input::placeholder {color: #b5b1a7; opacity: 1;}
.bp_blog_search input[type=search]:focus {border-color: var(--bp-blue); box-shadow: 0 0 0 2px #0c89ff33;}
.bp_blog_search button {display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 12px 28px; border: 1px solid var(--bp-gold); border-radius: 2px; background: var(--bp-gold); color: var(--bp-ink); font: 500 1rem/1.5 'Oswald', Arial, sans-serif; letter-spacing: .055em; text-transform: uppercase; cursor: pointer; transition: background-color .2s, border-color .2s;}
.bp_blog_search button:hover {background: var(--bp-blue); border-color: var(--bp-blue); color: #101820;}
.bp_blog_filters {display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px;}
.bp_blog_filters a {display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 10px 14px; border: 1px solid #554e40; background: var(--bp-panel); color: #e2ded4; font-size: .8125rem; font-weight: 500; line-height: 1.5; text-decoration: none; transition: color .2s, border-color .2s, background-color .2s;}
.bp_blog_filters a span {color: #c1bbaa; font-size: .75rem;}
.bp_blog_filters a[aria-current=true] {border-color: var(--bp-gold); background: var(--bp-gold); color: var(--bp-ink);}
.bp_blog_filters a[aria-current=true] span {color: #393022;}
.bp_blog_filters a:hover {border-color: var(--bp-gold); background: #343027; color: #f3e4c2;}
.bp_blog_filters a[aria-current=true]:hover {background: var(--bp-gold-light); color: var(--bp-ink);}
.bp_blog_filters a[aria-current=true]:hover span {color: #393022;}
.bp_blog_results_line {display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 28px 0 24px;}
.bp_blog_results_status {color: var(--bp-muted); font-size: .875rem;}
.bp_blog_results_line > a {display: inline-flex; align-items: center; min-height: 48px; font-size: .875rem;}
.bp_blog_cards {display: grid; grid-template-columns: minmax(0,1fr); gap: 26px; transition: opacity .2s;}
.bp_blog_card {display: flex; flex-direction: column; min-width: 0; border: 1px solid #494235; border-bottom: 3px solid var(--bp-gold); background: var(--bp-panel); transition: transform .25s ease, border-color .25s, box-shadow .25s;}
.bp_blog_card_image {display: block; width: 100%; aspect-ratio: 16/9; overflow: hidden; background: #343027;}
.bp_blog_card_image img {display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease;}
.bp_blog_card_body {display: flex; flex-direction: column; flex: 1; padding: 24px;}
.bp_blog_card .bp_blog_meta {margin-bottom: 12px; font-size: .75rem;}
.bp_blog_card_topic {margin-bottom: 12px; color: var(--bp-gold-light); font-family: 'Oswald', Arial, sans-serif; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase;}
.bp_blog_card h3 {margin-bottom: 16px; font-size: 1.5rem; line-height: 1.4;}
.bp_blog_card h3 a {color: #f9f6ec; text-decoration: none;}
.bp_blog_card h3 a:hover {color: var(--bp-link); text-decoration: underline;}
.bp_blog_card p {margin-bottom: 24px; color: #cfcbc1; font-size: .875rem; line-height: 1.9; overflow-wrap: anywhere;}
.bp_blog_card_read {display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 48px; margin-top: auto; padding-top: 16px; border-top: 1px solid #4b4539; color: var(--bp-gold-light) !important; font-size: .875rem; font-weight: 500; text-decoration: none;}
.bp_blog_card_read span {color: var(--bp-link); font-size: 1.2rem; transition: transform .2s;}
.bp_blog_card_read:hover {color: #fff !important;}
.bp_blog_card_read:hover span {transform: translate(2px,-2px);}
.bp_blog_pagination {display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px; margin-top: 36px;}
.bp_blog_pagination :is(a,span) {display: flex; align-items: center; justify-content: center; min-width: 48px; min-height: 48px; padding: 10px 15px; font-size: .875rem;}
.bp_blog_pagination a {border: 1px solid #5b5038; background: var(--bp-panel); color: #e8e1d1; text-decoration: none; transition: background-color .2s, color .2s;}
.bp_blog_pagination a[aria-current=page] {border-color: var(--bp-gold); background: var(--bp-gold); color: var(--bp-ink);}
.bp_blog_pagination a:hover {background: #343027; color: #fff;}
.bp_blog_pagination a[aria-current=page]:hover {background: var(--bp-gold-light); color: var(--bp-ink);}
.bp_blog_empty {padding: 44px 24px; border: 1px solid var(--bp-line); background: var(--bp-panel); text-align: center;}
.bp_blog_empty h3 {margin-bottom: 12px; font-size: 1.65rem;}
.bp_blog_empty p {margin-bottom: 24px;}
.bp_blog_listing_cta {display: flex; flex-direction: column; align-items: start; gap: 14px; margin-top: 40px; padding: 28px 24px; border: 1px solid #605237; border-top: 3px solid var(--bp-gold); background: #29261f;}
.bp_blog_listing_cta h3 {font-size: 1.8rem; color: #fff;}
.bp_blog_listing_cta p {color: #d6d2c8; font-size: .9375rem;}
.bp_blog[aria-busy=true] .bp_blog_cards {opacity: .55;}
@media screen and (min-width:600px) {
  .bp_blog_layout {padding: 40px 32px 64px;}
  .bp_blog_explorer {padding: 44px 32px 64px;}
  .bp_blog_project, .bp_blog_listing_cta {padding: 36px;}
  .bp_blog_cards {grid-template-columns: repeat(2,minmax(0,1fr));}
}
@media screen and (min-width:900px) {
  .bp_blog_section {padding: 40px 0;}
  .bp_blog_section.has-images {grid-template-columns: minmax(0,1.35fr) minmax(0,1fr); align-items: start; gap: 32px;}
  .bp_blog_section.has-images:nth-child(even) {grid-template-columns: minmax(0,1fr) minmax(0,1.35fr);}
  .bp_blog_section.has-images:nth-child(even) .bp_blog_media {grid-column: 1; grid-row: 1;}
  .bp_blog_section.has-images:nth-child(even) .bp_blog_section_copy {grid-column: 2; grid-row: 1;}
}
@media screen and (min-width:1100px) {
  .bp_blog_layout {grid-template-columns: minmax(0,1fr) 300px; gap: 40px; padding: 48px 40px 80px;}
  .bp_blog_section.has-images, .bp_blog_section.has-images:nth-child(even) {grid-template-columns: minmax(0,1fr);}
  .bp_blog_section.has-images:nth-child(even) :is(.bp_blog_media,.bp_blog_section_copy) {grid-column: auto; grid-row: auto;}
  .bp_blog_cards {grid-template-columns: repeat(3,minmax(0,1fr));}
  .bp_blog_explorer {padding: 48px 40px 80px;}
  .bp_blog_listing_cta {display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; column-gap: 36px;}
  .bp_blog_listing_cta p {grid-column: 1;}
  .bp_blog_listing_cta .bp_blog_button {grid-column: 2; grid-row: 1 / span 2;}
}
@media screen and (min-width:1400px) {
  .bp_blog_layout {grid-template-columns: minmax(0,1fr) 320px; gap: 48px; padding-right: 48px; padding-left: 48px;}
  .bp_blog_section.has-images {grid-template-columns: minmax(0,1.35fr) minmax(0,1fr);}
  .bp_blog_section.has-images:nth-child(even) {grid-template-columns: minmax(0,1fr) minmax(0,1.35fr);}
  .bp_blog_section.has-images:nth-child(even) .bp_blog_media {grid-column: 1; grid-row: 1;}
  .bp_blog_section.has-images:nth-child(even) .bp_blog_section_copy {grid-column: 2; grid-row: 1;}
  .bp_blog_richtext, .bp_blog_intro {font-size: 1.0625rem;}
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
  .bp_blog_card:hover {transform: translateY(-4px); border-color: #a58d55; box-shadow: 0 12px 28px #0003;}
  .bp_blog_card:hover .bp_blog_card_image img {transform: scale(1.035);}
}
@media (prefers-reduced-motion:reduce) {
  .bp_blog *, .bp_blog *::before, .bp_blog *::after {animation: none !important; transition: none !important; scroll-behavior: auto !important;}
  .bp_blog_card:hover, .bp_blog_button:hover, .bp_blog_button:hover::after, .bp_blog_card_read:hover span {transform: none !important;}
}
/* BUILDING PRINCIPLES BLOG END */
