/* Only the selected portfolio, Terravista and mobile refinements are in scope. */
.selected-projects { background: #f3f0e8; padding-block: clamp(4.5rem, 7vw, 7rem); color: var(--color-green); }
.selected-projects__header { display: flex; justify-content: space-between; align-items: flex-end; gap: 2rem; margin-bottom: 3rem; }
.selected-projects__header .eyebrow { margin-bottom: 1rem; color: var(--color-blue); }
.selected-projects__header h2 { font-size: clamp(2rem, 3.5vw, 3.5rem); font-weight: 300; letter-spacing: -.035em; line-height: 1.15; }
.selected-projects__header > a { font-size: .9rem; white-space: nowrap; padding-bottom: .3rem; border-bottom: 1px solid rgb(30 61 54 / 25%); }
.selected-projects__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.25rem, 2.5vw, 2.5rem); }
.project-tile { display: flex; flex-direction: column; min-width: 0; color: inherit; text-decoration: none; background: #f7f4ed; transition: transform 550ms cubic-bezier(.22,.61,.36,1), box-shadow 550ms ease; }
.project-tile__media { display: block; aspect-ratio: 4 / 5; overflow: hidden; }
.project-tile__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 600ms cubic-bezier(.22,.61,.36,1); }
.project-tile__content { display: flex; flex-direction: column; flex: 1; padding: 1.6rem 1.4rem 1.8rem; }
.project-tile__category { font-size: .7rem; letter-spacing: .15em; text-transform: uppercase; color: var(--color-blue); margin-bottom: .8rem; }
.project-tile h3 { font-size: clamp(1.35rem, 1.8vw, 1.8rem); line-height: 1.25; font-weight: 400; letter-spacing: -.025em; }
.project-tile__location { font-size: .85rem; margin-top: .8rem; color: #58645e; }
.project-tile__cta { display: flex; justify-content: space-between; align-items: center; padding-top: 1.8rem; margin-top: auto; font-size: .85rem; }
.project-tile__cta span { transition: transform 550ms ease; }
.project-tile:focus-visible { outline: 2px solid var(--color-blue); outline-offset: 5px; }
@media (hover: hover) and (pointer: fine) {
    .project-tile:hover { transform: translateY(-5px) scale(1.015); box-shadow: 0 18px 40px rgb(0 0 0 / 8%); }
    .project-tile:hover .project-tile__media img { transform: scale(1.025); }
    .project-tile:hover .project-tile__cta { color: var(--color-blue); }
    .project-tile:hover .project-tile__cta span { transform: translateX(4px); }
}
@media (min-width: 768px) and (max-width: 1023px) {
    .selected-projects__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
    .hero--architectural .hero__inner { padding-block: 9rem 3rem; }
    .hero--architectural h1 { font-size: clamp(2.2rem, 9.5vw, 2.55rem); line-height: 1.1; }
    .hero--architectural .hero__brand { margin-bottom: 1.5rem; }
    .hero--architectural .hero__support { margin-top: 1.4rem; font-size: .98rem; line-height: 1.65; }
    .hero--architectural .hero__support br { display: initial; }
    .hero--architectural .hero__actions { margin-top: 1.8rem; gap: 1.3rem; }
    .authority { padding-block: 3.25rem; }
    .authority__identity { gap: 1.4rem; padding-bottom: 2.25rem; }
    .authority-stats { column-gap: 2rem; row-gap: 2.5rem; }
    .authority-stat__label { font-size: .875rem; line-height: 1.6; }
    .project-reveal__content { padding-bottom: 3rem; }
    .project-reveal__content h2 { font-size: clamp(2.2rem, 10vw, 3rem); line-height: 1.1; }
    .project-reveal__content > p:not(.eyebrow) { font-size: 1rem; margin-top: 1rem; }
    .selected-projects__header { flex-direction: column; align-items: flex-start; gap: 1.5rem; margin-bottom: 2.25rem; }
    .selected-projects__grid { grid-template-columns: 1fr; gap: 2.5rem; }
    .project-tile h3 { font-size: 1.5rem; }
    .project-tile:active { transform: scale(.99); }
}
@media (prefers-reduced-motion: reduce) {
    .project-tile, .project-tile__media img, .project-tile__cta span { transition: none; }
    .project-tile:hover, .project-tile:active, .project-tile:hover .project-tile__media img, .project-tile:hover .project-tile__cta span { transform: none; }
}
