.portfolio-hero{position:relative;isolation:isolate;overflow:hidden;padding:64px 0 40px;background:radial-gradient(circle at 88% 16%,rgba(18,103,232,.1),transparent 34%),radial-gradient(circle at 10% 82%,rgba(37,99,235,.06),transparent 30%),var(--color-gray)}.portfolio-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(7,29,59,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(7,29,59,.035) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:linear-gradient(90deg,#000 0%,#000 52%,transparent 86%);mask-image:linear-gradient(90deg,#000 0%,#000 52%,transparent 86%)}.portfolio-hero:after{content:"";position:absolute;width:280px;height:280px;right:10%;top:-90px;border:1px solid rgba(18,103,232,.14);border-radius:40px;transform:rotate(16deg);pointer-events:none}.portfolio-hero-inner{position:relative;z-index:1;max-width:46rem}.portfolio-hero-title{display:block;font-family:Space Grotesk,sans-serif;font-size:clamp(2.15rem,4.8vw,3.5rem);line-height:1.02;font-weight:700;letter-spacing:-.03em;color:var(--color-navy)}.portfolio-hero-title .accent{color:var(--color-blue-electric)}.portfolio-hero-lead{margin-top:18px;max-width:38rem;color:var(--color-muted);font-size:1.06rem}.portfolio-section{padding:12px 0 88px;background:var(--color-gray)}.portfolio-filters{display:flex;flex-wrap:nowrap;gap:10px;margin-bottom:36px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.portfolio-filter{flex-shrink:0;min-height:44px;padding:10px 18px;border-radius:999px;border:1px solid var(--color-line);background:var(--color-white);color:var(--color-navy);font-size:.92rem;font-weight:700;transition:background .2s ease,color .2s ease,border-color .2s ease}.portfolio-filter:hover{border-color:#1267e847;color:var(--color-blue)}.portfolio-filter[aria-pressed=true]{background:var(--color-blue);border-color:var(--color-blue);color:var(--color-white)}.portfolio-empty{margin:48px 0 24px;max-width:32rem;color:var(--color-muted);font-size:1.05rem}.portfolio-layout.civil-projects-layout.is-multiple [data-civil-projects]{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-layout .civil-project-main img{height:min(36vw,480px);object-fit:cover}.portfolio-layout .civil-project-card.is-diagram .civil-project-main img{object-fit:contain;background:#fff}.portfolio-layout .civil-project-card.is-diagram.is-diagram-dark .civil-project-main img{background:#071d3b}.civil-project-body .civil-project-area{margin-bottom:6px;font-size:.72rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--color-blue)}.civil-project-body .civil-project-location{margin:-2px 0 10px;color:var(--color-muted);font-size:.9rem}.civil-project-view{display:inline-flex;margin-top:16px;padding:0;border:0;background:none;color:var(--color-blue-electric);font-size:.92rem;font-weight:700;cursor:pointer}.civil-project-view:hover{text-decoration:underline}.portfolio-cta .cta-inner{grid-template-columns:1fr;max-width:44rem}.portfolio-cta .civil-cta-actions{margin-top:0}.portfolio-layout .civil-project-card{scroll-margin-top:calc(var(--header-height) + 24px)}@media(max-width:992px){.portfolio-layout.civil-projects-layout.is-multiple [data-civil-projects]{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-layout .civil-project-main img{height:min(42vw,380px)}}@media(max-width:768px){.portfolio-hero{padding:48px 0 32px}.portfolio-layout.civil-projects-layout.is-multiple [data-civil-projects],.civil-projects-layout.is-multiple [data-civil-projects]{grid-template-columns:1fr}.portfolio-layout .civil-project-main img{height:min(64vw,280px)}.portfolio-cta .civil-cta-actions{flex-direction:column;align-items:stretch}}
