.architecture-card__mobile-link { display: none; }
.architecture-archive__search { margin: 24px 0; }
.architecture-archive__search label { display: block; margin-bottom: 8px; }
.architecture-archive__search > div { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.architecture-archive__search input { flex: 1 1 220px; min-width: 0; padding: 12px; border: 1px solid #b19e71; font: inherit; }
.architecture-archive__search button { padding: 12px 24px; border: 0; background: #8a6f44; color: #fff; font: inherit; cursor: pointer; }
.architecture-archive__row { padding: 24px 0; border-bottom: 1px solid #ddd; }
.architecture-archive__row .architecture-card__categories { margin-bottom: 8px; }
.architecture-archive__row h3 { margin: 0 0 12px; font-size: 24px; line-height: 1.3; }
.architecture-archive__row h3 a { text-decoration: none; }
.architecture-archive__row p { margin: 0; font-size: 16px; line-height: 1.7; color: #777; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.architecture-archive--compact { scroll-margin-top: 190px; }
.page-id-902 .architecture-card--lead .architecture-card__summary .architecture-summary--full { display: none; }
.architecture-editorial { color: #111; padding-bottom: 40px; }
.architecture-heading { padding: 64px 20px 48px; }
.architecture-heading p { margin: 0 0 8px; color: var(--green); font-size: 22px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.architecture-heading h1 { margin: 0; font-size: clamp(28px, 3.2vw, 42px); line-height: 1.2; letter-spacing: -.04em; }
.architecture-top { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 28px; align-items: start; }
.architecture-top--no-aside { grid-template-columns: 1fr; }
.architecture-top__stories, .architecture-card__body { min-width: 0; }
.architecture-aside { display: grid; gap: 18px; }
.architecture-aside .boulevard-sponsor-slot--estatico { width: 100%; display: grid; gap: 18px; }
.architecture-aside .boulevard-sponsor-item,
.architecture-sponsor-placeholder { width: 100%; aspect-ratio: 280 / 450; }
.architecture-aside .boulevard-sponsor-item { background: #00271f; }
.architecture-aside .boulevard-sponsor-item picture,
.architecture-aside .boulevard-sponsor-link { height: 100%; }
.architecture-aside .boulevard-sponsor-image { width: 100%; height: 100%; object-fit: contain; }
.architecture-sponsor-placeholder { background: transparent; }
.architecture-card a { text-decoration: none; }
.architecture-card a:hover { text-decoration: underline; }
.architecture-card h2 { margin: 0 0 16px; font-size: 24px; line-height: 1.4; overflow-wrap: anywhere; }
.architecture-card__categories { color: #94876c; font-size: 11px; letter-spacing: .13em; line-height: 1.7; text-transform: uppercase; margin-bottom: 16px; }
.architecture-card--lead { border: 1px solid #b19e71; padding: 20px; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 2fr); gap: 20px 32px; }
.architecture-card--lead h2 { font-size: clamp(26px, 3.2vw, 42px); line-height: 1.15; }
.architecture-card--lead .architecture-card__categories { text-transform: none; letter-spacing: 0; font-size: 16px; }
.architecture-card--lead .architecture-card__image img { width: 100%; aspect-ratio: 1.35; object-fit: cover; border-radius: 4px; }
.architecture-card--lead .architecture-card__summary { grid-column: 1 / -1; }
.architecture-card__summary p { color: #777; margin: 0 0 24px; font-size: 16px; line-height: 1.9; }
.architecture-card__more { color: var(--green); font-weight: 600; }
.architecture-highlights { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 30px; }
.architecture-card--highlight { border: 1px solid #eee; }
.architecture-card--highlight img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.architecture-card--highlight .architecture-card__body { padding: 22px; }
.architecture-card--highlight h2 { font-size: 23px; }
.architecture-guide { position: relative; margin-top: 60px; margin-bottom: 60px; min-height: 560px; display: grid; place-items: center; text-align: center; overflow: hidden; }
.architecture-guide > img { position: absolute; inset: 0; height: 100%; width: 100%; object-fit: cover; }
.architecture-guide::after { content: ''; position: absolute; inset: 0; background: rgb(0 0 0 / 40%); }
.architecture-guide__content { position: relative; z-index: 1; color: white; padding: 48px; width: 100%; }
.architecture-guide h2 { font-size: clamp(32px, 5vw, 64px); line-height: 1.6; letter-spacing: .04em; margin: 0 auto 90px; max-width: 1000px; }
.architecture-guide a { display: inline-block; color: white; border: 1px solid rgb(255 255 255 / 60%); padding: 16px 32px; letter-spacing: .13em; font-size: 13px; text-transform: uppercase; text-decoration: none; }
.architecture-guide a:hover { background: rgb(0 0 0 / 35%); }
.architecture-card--row { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 0 32px; border-bottom: 1px solid #ddd; padding: 28px 0; }
.architecture-card--row .architecture-card__image { grid-row: 1 / 3; }
.architecture-card--row img { width: 100%; aspect-ratio: 1.35; object-fit: cover; }
.architecture-card--row .architecture-card__summary { grid-column: 2; }
.architecture-card--no-image { grid-template-columns: 1fr; }
.architecture-card--no-image .architecture-card__summary { grid-column: 1; }
.architecture-archive__link { display: inline-block; margin-top: 36px; font-size: 24px; font-weight: 700; }
.architecture-editorial a:focus-visible { outline: 2px solid var(--green); outline-offset: 4px; }
.architecture-guide a:focus-visible { outline-color: white; }
/* Share editorial rows so the second sponsor follows the highlight images. */
@media (min-width: 601px) {
    .architecture-top { row-gap: 30px; }
    .architecture-top__stories,
    .architecture-aside,
    .architecture-aside .boulevard-sponsor-slot--estatico { display: contents; }
    .architecture-top__stories > :first-child { grid-column: 1; grid-row: 1; }
    .architecture-highlights { grid-column: 1; grid-row: 2; margin-top: 0; }
    .architecture-aside .boulevard-sponsor-item { grid-column: 2; align-self: start; }
    .architecture-aside .boulevard-sponsor-item:first-child { grid-row: 1; }
    .architecture-aside .boulevard-sponsor-item:nth-child(2),
    .architecture-sponsor-placeholder { grid-column: 2; grid-row: 2; margin-top: 1px; }
}
@media (min-width: 901px) {
    .architecture-card--lead { height: 450px; box-sizing: border-box; grid-template-rows: minmax(0, 1fr) auto; }
    .architecture-card--lead .architecture-card__image img { max-height: 100%; }
    .architecture-card--lead h2 { font-size: clamp(26px, 3vw, 40px); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; }
    .architecture-card--lead .architecture-card__categories { font-size: 14px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
    .architecture-card--lead .architecture-card__summary p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; margin-bottom: 16px; }
}
/* Architecture desktop: full-height photo, editorial content in the right column. */
@media (min-width: 901px) {
    .page-id-902 .architecture-heading { padding-top: 30px; }
    .page-id-902 .architecture-highlights .architecture-card--highlight { height: 451px; box-sizing: border-box; display: grid; grid-template-rows: minmax(0, 1fr) auto; overflow: hidden; }
    .page-id-902 .architecture-highlights .architecture-card__image { min-height: 0; display: block; }
    .page-id-902 .architecture-highlights .architecture-card__image img { display: block; width: 100%; height: 100%; aspect-ratio: auto; object-fit: contain; }
    .page-id-902 .architecture-highlights .architecture-card__body { padding: 5px 20px; min-width: 0; }
    .page-id-902 .architecture-highlights .architecture-card__categories { font-family: inherit; font-size: 12px; text-transform: none; letter-spacing: 0; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; height: 2.4em; line-height: 1.2; margin-bottom: 4px; overflow: hidden; }
    .page-id-902 .architecture-highlights h2 { margin: 0; font-size: 23px; line-height: 1.3; height: 2.6em; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; word-break: normal; overflow-wrap: normal; }
    .page-id-902 .architecture-card--lead { height: 450px; padding: 0; border: 0; outline: 1px solid #b19e71; outline-offset: -1px; grid-template-columns: max-content minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); gap: 0 24px; overflow: hidden; }
    .page-id-902 .architecture-card--lead .architecture-card__image { grid-column: 1; grid-row: 1 / 3; min-height: 0; margin: 15px 0 15px 15px; }
    .page-id-902 .architecture-card--lead .architecture-card__image img { display: block; width: auto; max-width: none; height: 420px; max-height: none; aspect-ratio: auto; object-fit: contain; border-radius: 0; }
    .page-id-902 .architecture-card--lead .architecture-card__body { grid-column: 2; grid-row: 1; padding: 20px 20px 0 0; }
    .page-id-902 .architecture-card--lead .architecture-card__summary { grid-column: 2; grid-row: 2; min-height: 0; display: flex; flex-direction: column; padding: 0 20px 20px 0; overflow: hidden; }
    .page-id-902 .architecture-card--lead .architecture-card__summary p { min-height: 0; }
    .page-id-902 .architecture-card--lead .architecture-card__summary .architecture-summary--standard { display: none; }
    .page-id-902 .architecture-card--lead .architecture-card__summary .architecture-summary--full { display: block; flex: 1; -webkit-line-clamp: unset; overflow: hidden; }
    .page-id-902 .architecture-card--lead .architecture-card__more { flex-shrink: 0; margin-top: auto; }
    .page-id-902 .architecture-card--lead.architecture-card--no-image { grid-template-columns: 1fr; }
    .page-id-902 .architecture-card--lead.architecture-card--no-image :is(.architecture-card__body, .architecture-card__summary) { grid-column: 1; padding-left: 20px; }
}
@media (max-width: 900px) {
    .architecture-top { grid-template-columns: minmax(0, 1fr) 280px; gap: 20px; }
    .architecture-highlights { gap: 12px; }
    .architecture-card--highlight .architecture-card__body { padding: 14px; }
    .architecture-card--highlight h2 { font-size: 18px; }
    .architecture-card--lead { grid-template-columns: 1fr; }
    .architecture-top--no-aside { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
    .page-id-902 .architecture-highlights .architecture-card:not(.architecture-card--no-image) .architecture-card__body { contain: size; align-self: stretch; display: flex; flex-direction: column; overflow: hidden; }
    .page-id-902 .architecture-highlights .architecture-card:not(.architecture-card--no-image) h2 { min-height: 0; flex: 0 1 auto; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
    .page-id-902 .architecture-highlights .architecture-card__mobile-link { flex-shrink: 0; }
    .page-id-902 .architecture-archive__search > div { gap: 10px; }
    .page-id-902 .architecture-archive__search input { flex-basis: 100%; width: 100%; box-sizing: border-box; }
    .page-id-902 .architecture-archive__row { padding-block: 20px; }
    .page-id-902 .architecture-archive__row h3 { font-size: 20px; overflow-wrap: break-word; }
    .page-id-902 .architecture-archive__row .architecture-card__categories { overflow-wrap: break-word; }
    .page-id-902 .boulevard-global-sponsor { width: min(100% - 32px, var(--container)); }
    .page-id-902 .boulevard-global-sponsor--rodape { margin-block: 60px 30px !important; }
    .architecture-editorial { padding-bottom: 0; }
    .architecture-heading { padding: 0 0 20px; }
    .architecture-heading p { font-size: 16px; }
    .architecture-top { grid-template-columns: 1fr; }
    .architecture-highlights { grid-template-columns: 1fr; gap: 24px; }
    .architecture-editorial .architecture-card--lead { padding: 0; gap: 20px; }
    .architecture-editorial .architecture-card--lead .architecture-card__image img { display: block; width: 100%; height: auto; aspect-ratio: auto; border-radius: 0; }
    .architecture-editorial .architecture-card--lead .architecture-card__body { padding: 0 20px; }
    .architecture-editorial .architecture-card--lead .architecture-card__summary { padding: 0 20px 20px; }
    .architecture-highlights .architecture-card { display: grid; grid-template-columns: minmax(0,42fr) minmax(0,58fr); gap: 18px; align-items: start; }
    .architecture-highlights .architecture-card--no-image { grid-template-columns: 1fr; }
    .architecture-highlights .architecture-card__body { padding: 14px 12px 14px 0; container-type: inline-size; }
    .architecture-highlights .architecture-card--no-image .architecture-card__body { padding: 14px; }
    .architecture-highlights img { display: block; width: 100%; height: auto; }
    .architecture-card--highlight h2 { font-size: clamp(16px, 10.5cqi, 24px); text-align: left; word-break: normal; overflow-wrap: normal; hyphens: none; }
    .architecture-highlights .architecture-card__categories { display: none; }
    .architecture-editorial .architecture-card__mobile-link { display: inline-block; margin-bottom: 12px; color: var(--green); font-size: 14px; font-weight: 600; }
    .architecture-aside { width: 100%; justify-self: stretch; margin-top: 0; }
    .architecture-aside .boulevard-sponsor-item { height: auto; aspect-ratio: auto; background: transparent; }
    .architecture-aside .boulevard-sponsor-item picture,
    .architecture-aside .boulevard-sponsor-link,
    .architecture-aside .boulevard-sponsor-image { height: auto; width: 100%; }
    .architecture-sponsor-placeholder { display: none; }
    .architecture-editorial .architecture-card__summary p { font-family: Raleway, Arial, sans-serif; font-size: 18px; line-height: 1.7; text-align: justify; margin-bottom: 18px; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 10; overflow: hidden; }
    .architecture-archive .architecture-card--row:last-of-type { border-bottom: 0; }
    .architecture-guide { min-height: 400px; margin-block: 40px; }
    .architecture-guide__content { padding: 24px; }
    .architecture-guide h2 { line-height: 1.3; margin-bottom: 48px; }
    .architecture-card--row { grid-template-columns: 1fr; gap: 20px; }
    .architecture-card--row .architecture-card__image, .architecture-card--row .architecture-card__summary { grid-column: auto; grid-row: auto; }
}
