.elementor-4991 .elementor-element.elementor-element-4223095{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4991 .elementor-element.elementor-element-420dc50{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4991 .elementor-element.elementor-element-420bd61{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4991 .elementor-element.elementor-element-421391d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4991 .elementor-element.elementor-element-4211a2e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4991 .elementor-element.elementor-element-42003c7{--grid-row-gap:35px;--grid-column-gap:30px;}.elementor-4991 .elementor-element.elementor-element-42195ea{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4991 .elementor-element.elementor-element-42176fb{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4991 .elementor-element.elementor-element-42022b6{--grid-row-gap:35px;--grid-column-gap:30px;}.elementor-4991 .elementor-element.elementor-element-42022b6 .elementor-pagination{text-align:start;}body:not(.rtl) .elementor-4991 .elementor-element.elementor-element-42022b6 .elementor-pagination .page-numbers:not(:first-child){margin-left:calc( 10px/2 );}body:not(.rtl) .elementor-4991 .elementor-element.elementor-element-42022b6 .elementor-pagination .page-numbers:not(:last-child){margin-right:calc( 10px/2 );}body.rtl .elementor-4991 .elementor-element.elementor-element-42022b6 .elementor-pagination .page-numbers:not(:first-child){margin-right:calc( 10px/2 );}body.rtl .elementor-4991 .elementor-element.elementor-element-42022b6 .elementor-pagination .page-numbers:not(:last-child){margin-left:calc( 10px/2 );}.elementor-4991 .elementor-element.elementor-element-421f2b7{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-4991 .elementor-element.elementor-element-421d3c8{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}:root{--page-title-display:none;}/* Start custom CSS *//* ==========================================================================
   BP — Blog (/blogs/, page 4991): page-specific CSS only.
   An editorial archive: image first, then title, then a quiet date.
   Radius: 2px for ordinary frames; the ARCHITECTURAL radius (32px) once, on the
   featured article. Thumbnails come only from the rights allowlist (bp-blog-thumbs.js);
   every other frame is the neutral warm surface with the hexagon drafting line.
   ========================================================================== */

/* ---------- Header 13510 on this interior page: solid white from load (the same values as
   its .is-scrolled state; the Services / Portfolio pattern) ---------- */
body.elementor-page-4991 .bp-header { background-color: #FFFFFF; border-bottom-color: #E8E8E8; box-shadow: 0 1px 3px rgba(26, 26, 26, .06); }
body.elementor-page-4991 .bp-header .bp-logo img { opacity: 0; }
body.elementor-page-4991 .bp-header .bp-logo a::after { opacity: 1; }
body.elementor-page-4991 .bp-header .bp-nav .elementor-nav-menu--main .elementor-item { color: #1A1A1A; }
body.elementor-page-4991 .bp-header .bp-nav .elementor-nav-menu--main .elementor-item:hover,
body.elementor-page-4991 .bp-header .bp-nav .elementor-nav-menu--main .bp-res-item.is-open > .bp-res__toggle { color: #F7941D; }
body.elementor-page-4991 .bp-header a:focus-visible,
body.elementor-page-4991 .bp-header button:focus-visible { outline-color: #1A1A1A; }
body.elementor-page-4991 .bp-header .bp-toggle__btn { color: #1A1A1A; }

/* ---------- frame ---------- */
.bp-blog-main.e-con { --g: 80px; display: block; width: 100%; padding: 0; background: #FFFFFF; }
.bp-blog-main .e-con { --gap: 0px; --row-gap: 0px; --column-gap: 0px; }
.bp-blog-main .elementor-widget:not(:last-child) { margin-block-end: 0; }
.bp-blog-main .bp-blog-paged-js,
.bp-blog-main .bp-blog-thumbs-js { display: none; }
.bp-blog-main .bp-textlink {
  font: 600 15px/1.4 "Inter", sans-serif;
  color: #1A1A1A;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: rgba(26, 26, 26, .35);
  text-underline-offset: 6px;
}
.bp-blog-main .bp-textlink:hover { color: #1A1A1A; text-decoration-color: #F7941D; text-decoration-thickness: 2px; }
.bp-blog-main a:focus { outline: none; }
.bp-blog-main a:focus-visible { outline: 2px solid #1A1A1A; outline-offset: 4px; border-radius: 2px; }

/* ---------- 1. hero ---------- */
.bp-blog-main .bp-blog-hero.e-con { position: relative; display: block; overflow: hidden; padding: 176px var(--g) 88px; background: #FFFFFF; }
.bp-blog-main .bp-blog-hero__geo-wrap { position: absolute; top: -40px; right: -140px; width: 760px; max-width: none; pointer-events: none; }
.bp-blog-main .bp-blog-hero__geo svg { display: block; width: 100%; height: auto; }
.bp-blog-main .bp-blog-hero__inner.e-con { position: relative; display: block; max-width: 1280px; margin-inline: auto; padding: 0; }
.bp-blog-main .bp-blog-hero__title .elementor-heading-title { margin: 0; font: 800 clamp(56px, 7vw, 104px)/.95 "Manrope", sans-serif; letter-spacing: -.04em; color: #1A1A1A; }
.bp-blog-main .bp-blog-hero__sub p { margin: 24px 0 0; max-width: 44ch; font: 400 18px/1.6 "Inter", sans-serif; color: #555555; }

/* ---------- post pieces (Elementor Posts, classic skin, thumbnails off) ---------- */
.bp-blog-main .elementor-posts .elementor-post { --r: 1 / 1; --radius: 2px; display: block; margin: 0; }
/* the frame: neutral surface by default (held, no image, or no JS) … */
.bp-blog-main .elementor-posts .elementor-post::before {
  content: "";
  display: block;
  aspect-ratio: var(--r);
  margin: 0 0 20px;
  border-radius: var(--radius);
  background: #F6F4F0 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 174'%3E%3Cg fill='none' stroke='%231A1A1A' stroke-opacity='.14' stroke-width='1'%3E%3Cpolygon points='200,87 150,173.6 50,173.6 0,87 50,0.4 150,0.4'/%3E%3Cline x1='100' y1='0.4' x2='100' y2='173.6'/%3E%3Cline x1='25' y1='44' x2='175' y2='44'/%3E%3Cline x1='12' y1='66' x2='188' y2='66'/%3E%3Cline x1='12' y1='108' x2='188' y2='108'/%3E%3Cline x1='25' y1='130' x2='175' y2='130'/%3E%3C/g%3E%3C/svg%3E") center / 34% auto no-repeat;
}
/* … replaced, at the same size, by an allowlisted image */
.bp-blog-main .elementor-posts .elementor-post.has-thumb::before { display: none; }
.bp-blog-main .bp-thumb { display: block; aspect-ratio: var(--r); margin: 0 0 20px; overflow: hidden; border-radius: var(--radius); background: #F6F4F0; }
.bp-blog-main .bp-thumb img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform .5s cubic-bezier(.4, 0, .2, 1); }
.bp-blog-main .bp-thumb:hover img { transform: scale(1.025); }
.bp-blog-main .elementor-posts .elementor-post__text { display: block; padding: 0; }
.bp-blog-main .elementor-posts .elementor-post__title { margin: 0; }
.bp-blog-main .elementor-posts .elementor-post__title a {
  font: 600 22px/1.25 "Manrope", sans-serif;
  letter-spacing: -.01em;
  color: #1A1A1A;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-decoration-color: transparent;
  text-underline-offset: 5px;
  transition: text-decoration-color .2s ease;
}
.bp-blog-main .elementor-posts .elementor-post__title a:hover { color: #1A1A1A; text-decoration-color: #F7941D; }
.bp-blog-main .elementor-posts .elementor-post__meta-data { margin: 10px 0 0; padding: 0; border: 0; font: 500 13px/1.4 "Inter", sans-serif; letter-spacing: .02em; color: #555555; }
.bp-blog-main .elementor-posts .elementor-post__excerpt p { margin: 16px 0 0; font: 400 17px/1.6 "Inter", sans-serif; color: #555555; }

/* ---------- 2. featured: the one architectural object ---------- */
.bp-blog-main .bp-blog-featured.e-con { display: block; padding: 0 24px 120px; background: #FFFFFF; }
html.bp-blog-paged .bp-blog-main .bp-blog-featured.e-con { display: none; }   /* page 1 only */
.bp-blog-main .bp-blog-featured__inner.e-con { display: block; padding: 0; }
.bp-blog-main .bp-blog-featured__label p {
  max-width: 1280px;
  margin: 0 auto 20px;
  padding: 0 max(calc(var(--g) - 24px), calc((100% - 1280px) / 2));
  font: 500 13px/1.4 "Inter", sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #555555;
}
.bp-blog-main .bp-blog-featured__posts .elementor-posts-container { display: block; }
.bp-blog-main .bp-blog-featured__posts .elementor-post {
  --r: 4 / 3;
  --radius: 32px;
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
  align-items: center;
  column-gap: 64px;
  padding: 0 max(calc(var(--g) - 24px), 0px) 0 0;
}
.bp-blog-main .bp-blog-featured__posts .elementor-post::before,
.bp-blog-main .bp-blog-featured__posts .bp-thumb { margin: 0; }
.bp-blog-main .bp-blog-featured__posts .elementor-post__title a { font: 800 clamp(32px, 3.4vw, 48px)/1.08 "Manrope", sans-serif; letter-spacing: -.025em; }
.bp-blog-main .bp-blog-featured__posts .elementor-post__meta-data { margin-top: 16px; }

/* ---------- 3. archive: 7 per page in a 7/5 · 4/4/4 · 5/7 rhythm ---------- */
.bp-blog-main .bp-blog-archive.e-con { display: block; padding: 0 var(--g) 120px; background: #FFFFFF; }
.bp-blog-main .bp-blog-archive__inner.e-con { display: block; max-width: 1280px; margin-inline: auto; padding: 0; border-top: 1px solid #E8E8E8; }
.bp-blog-main .bp-blog-archive__title .elementor-heading-title { margin: 0; padding: 24px 0 48px; font: 500 13px/1.4 "Inter", sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #555555; }
.bp-blog-main .bp-blog-archive__posts .elementor-posts-container.elementor-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: 32px; row-gap: 72px; }
.bp-blog-main .bp-blog-archive__posts .elementor-post { grid-column: span 4; }
.bp-blog-main .bp-blog-archive__posts .elementor-post:is(:nth-child(7n+1), :nth-child(7n+7)) { --r: 4 / 3; grid-column: span 7; }
.bp-blog-main .bp-blog-archive__posts .elementor-post:is(:nth-child(7n+2), :nth-child(7n+6)) { grid-column: span 5; }
.bp-blog-main .bp-blog-archive__posts .elementor-post:is(:nth-child(7n+1), :nth-child(7n+7)) .elementor-post__title a { font-size: 28px; line-height: 1.2; }

/* pagination: text, not buttons */
.bp-blog-main .bp-blog-archive__posts .elementor-pagination { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 20px; margin: 96px 0 0; padding: 24px 0 0; border-top: 1px solid #E8E8E8; font: 500 15px/1.4 "Inter", sans-serif; text-align: left; }
.bp-blog-main .bp-blog-archive__posts .elementor-pagination .page-numbers { margin: 0; padding: 10px 2px; color: #555555; text-decoration: none; }
.bp-blog-main .bp-blog-archive__posts .elementor-pagination a.page-numbers:hover { color: #1A1A1A; text-decoration: underline; text-decoration-color: #F7941D; text-underline-offset: 6px; }
.bp-blog-main .bp-blog-archive__posts .elementor-pagination .page-numbers.current { color: #1A1A1A; font-weight: 700; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px; }
.bp-blog-main .bp-blog-archive__posts .elementor-pagination .page-numbers.prev { margin-right: 12px; color: #1A1A1A; }
.bp-blog-main .bp-blog-archive__posts .elementor-pagination .page-numbers.next { margin-left: 12px; color: #1A1A1A; }

/* ---------- 4. help row ---------- */
.bp-blog-main .bp-blog-help.e-con { display: block; padding: 0 var(--g) 120px; background: #FFFFFF; }
.bp-blog-main .bp-blog-help__inner.e-con { display: block; max-width: 1280px; margin-inline: auto; padding: 0; }
.bp-blog-main .bp-blog-help__text p { margin: 0; font: 400 16px/1.8 "Inter", sans-serif; color: #555555; }
.bp-blog-main .bp-blog-help__text p .bp-textlink { margin: 0 6px; }

@media (prefers-reduced-motion: reduce) {
  .bp-blog-main .bp-thumb img, .bp-blog-main .elementor-posts .elementor-post__title a { transition: none; }
  .bp-blog-main .bp-thumb:hover img { transform: none; }
}

/* ---------- tablet ≤1024 ---------- */
@media (max-width: 1024px) {
  .bp-blog-main.e-con { --g: 48px; }
  .bp-blog-main .bp-blog-hero.e-con { padding: 152px var(--g) 72px; }
  .bp-blog-main .bp-blog-hero__geo-wrap { right: -320px; width: 640px; }
  .bp-blog-main .bp-blog-featured.e-con { padding-bottom: 96px; }
  .bp-blog-main .bp-blog-featured__posts .elementor-post { --radius: 24px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 40px; }
  .bp-blog-main .bp-blog-archive__posts .elementor-posts-container.elementor-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); column-gap: 24px; row-gap: 56px; }
  .bp-blog-main .bp-blog-archive__posts .elementor-post,
  .bp-blog-main .bp-blog-archive__posts .elementor-post:nth-child(n) { grid-column: span 3; }
  .bp-blog-main .bp-blog-archive__posts .elementor-post:is(:nth-child(7n+1), :nth-child(7n+7)) { grid-column: span 6; }
  .bp-blog-main .bp-blog-archive__posts .elementor-post:nth-child(7n+7) { --r: 16 / 9; }
  .bp-blog-main .elementor-posts .elementor-post__title a { font-size: 20px; }
}

/* ---------- mobile ≤767: the first and last of each page large, the rest compact rows ---------- */
@media (max-width: 767px) {
  .bp-blog-main.e-con { --g: 20px; }
  .bp-blog-main .bp-blog-hero.e-con { padding: 128px var(--g) 48px; }
  .bp-blog-main .bp-blog-hero__geo-wrap { top: 40px; right: -260px; width: 460px; }
  .bp-blog-main .bp-blog-hero__title .elementor-heading-title { font-size: 56px; }
  .bp-blog-main .bp-blog-hero__sub p { margin-top: 16px; font-size: 16px; }
  .bp-blog-main .bp-blog-featured.e-con { padding: 0 12px 72px; }
  .bp-blog-main .bp-blog-featured__label p { padding: 0 8px; }
  .bp-blog-main .bp-blog-featured__posts .elementor-post { display: block; padding: 0; }
  .bp-blog-main .bp-blog-featured__posts .elementor-post::before,
  .bp-blog-main .bp-blog-featured__posts .bp-thumb { margin: 0 0 20px; }
  .bp-blog-main .bp-blog-featured__posts .elementor-post__text { padding: 0 8px; }
  .bp-blog-main .bp-blog-featured__posts .elementor-post__title a { font-size: 30px; }
  .bp-blog-main .bp-blog-featured__posts .elementor-post__excerpt p { font-size: 16px; }
  .bp-blog-main .bp-blog-archive.e-con { padding-bottom: 88px; }
  .bp-blog-main .bp-blog-archive__title .elementor-heading-title { padding-bottom: 32px; }
  .bp-blog-main .bp-blog-archive__posts .elementor-posts-container.elementor-grid { grid-template-columns: minmax(0, 1fr); row-gap: 0; }
  .bp-blog-main .bp-blog-archive__posts .elementor-post:nth-child(n) { grid-column: 1 / -1; }
  .bp-blog-main .bp-blog-archive__posts .elementor-post:not(:nth-child(7n+1)):not(:nth-child(7n+7)) {
    display: grid;
    grid-template-columns: 104px minmax(0, 1fr);
    align-items: center;
    column-gap: 16px;
    padding: 16px 0;
    border-top: 1px solid #E8E8E8;
  }
  .bp-blog-main .bp-blog-archive__posts .elementor-post:not(:nth-child(7n+1)):not(:nth-child(7n+7))::before,
  .bp-blog-main .bp-blog-archive__posts .elementor-post:not(:nth-child(7n+1)):not(:nth-child(7n+7)) .bp-thumb { margin: 0; }
  .bp-blog-main .bp-blog-archive__posts .elementor-post:not(:nth-child(7n+1)):not(:nth-child(7n+7)) .elementor-post__title a { font-size: 17px; line-height: 1.3; }
  .bp-blog-main .bp-blog-archive__posts .elementor-post:is(:nth-child(7n+1), :nth-child(7n+7)) { padding: 8px 0 32px; }
  .bp-blog-main .bp-blog-archive__posts .elementor-post:nth-child(7n+7) { padding-top: 32px; border-top: 1px solid #E8E8E8; }
  .bp-blog-main .bp-blog-archive__posts .elementor-post:is(:nth-child(7n+1), :nth-child(7n+7)) .elementor-post__title a { font-size: 24px; }
  .bp-blog-main .bp-blog-archive__posts .elementor-pagination { margin-top: 48px; gap: 4px 14px; }
  .bp-blog-main .bp-blog-help.e-con { padding-bottom: 88px; }
}/* End custom CSS */