/* ENG ABNER — Progressive, motion-safe carousel and portfolio interface */
.eng-carousel {--eng-bg:#112128;--eng-gold:#d7ad70;--eng-gap:18px;position:relative;min-width:0;margin:1.6rem 0 2.2rem;max-width:100%}
.eng-carousel *{box-sizing:border-box}
.eng-carousel-controls{display:flex;gap:18px;justify-content:space-between;align-items:center;margin-bottom:13px;min-height:42px}
.eng-carousel-help{font:600 .72rem/1.5 Manrope,system-ui,sans-serif;letter-spacing:.07em;opacity:.76}
.eng-carousel-buttons{display:flex;gap:7px;flex-shrink:0}
.eng-carousel-buttons button{display:inline-flex;align-items:center;justify-content:center;width:39px;height:39px;font:500 18px/1 Manrope,system-ui,sans-serif;color:#14262d;background:#e5d3b5;border:1px solid #d5b98d;border-radius:50%;cursor:pointer;transition:background .25s,transform .2s;color-scheme:light}
.eng-carousel-buttons button:hover{background:#f1e2c7;transform:translateY(-2px)}
.eng-carousel-buttons button:focus-visible,.eng-card-link:focus-visible,.eng-sketchfab-load:focus-visible,.eng-floating-wa:focus-visible{outline:3px solid #d1a060;outline-offset:3px}
.eng-carousel-viewport{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;touch-action:pan-y pinch-zoom;overscroll-behavior-x:contain;cursor:grab;scroll-behavior:auto;padding-bottom:10px;min-width:0}
.eng-carousel-viewport::-webkit-scrollbar{display:none}
.eng-carousel-viewport.is-dragging{cursor:grabbing;user-select:none}
.eng-carousel-track{display:flex;align-items:stretch;gap:var(--eng-gap);width:max-content;max-width:none}
.eng-card{width:clamp(240px,28vw,344px);min-width:clamp(240px,28vw,344px);align-self:stretch;display:flex;min-height:355px;border-radius:4px;overflow:hidden;background:#10222a;border:1px solid rgba(218,184,129,.3);box-shadow:0 5px 22px #050a0b21;transition:transform .32s ease,box-shadow .32s ease,border-color .32s ease}
.eng-card:hover{transform:translateY(-5px);border-color:#d8b477;box-shadow:0 17px 38px #0004}
.eng-card-link{display:flex;flex-direction:column;flex:1;text-decoration:none!important;color:#f6f1e8!important}
.eng-card-art{position:relative;flex:0 0 180px;min-height:180px;display:grid;place-items:center;color:#e3c28e;background:radial-gradient(circle at 60% 40%,#405a5e 0,#233e46 48%,#132832 100%);overflow:hidden}
.eng-card-art::before{content:'';position:absolute;inset:0;opacity:.28;background-image:linear-gradient(90deg,#e0b67336 1px,transparent 1px),linear-gradient(#e0b67336 1px,transparent 1px);background-size:24px 24px}
.eng-card-art--residencias-alto-padrao{background:linear-gradient(137deg,#46585a,#172d35)}
.eng-card-art--estruturas-grandes-vaos{background:linear-gradient(130deg,#172f39,#46616c)}
.eng-card-art--obras-grande-porte{background:linear-gradient(130deg,#294f54,#15272d)}
.eng-card-art--obras-publicas{background:linear-gradient(130deg,#354e55,#1b323a)}
.eng-card-art svg{width:min(87%,290px);height:150px;position:relative;z-index:2;stroke:#e9c99a;filter:drop-shadow(0 3px 15px #0004)}
.eng-card-art .eng-card-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.84);transition:transform .6s ease}
.eng-card:hover .eng-card-photo{transform:scale(1.05)}
.eng-card-kicker{position:absolute;z-index:4;left:13px;top:13px;max-width:calc(100% - 26px);padding:5px 8px;background:#15282bea;color:#d9b985;font:700 .63rem/1.35 Manrope,system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.eng-card-copy{position:relative;display:flex;flex:1;flex-direction:column;gap:10px;padding:20px 23px 23px;min-height:165px;color:#f5f0e6}
.eng-card-copy h3{font:750 clamp(1.1rem,1.45vw,1.38rem)/1.18 Manrope,system-ui,sans-serif!important;margin:0!important;letter-spacing:-.025em;color:#fff7e6!important;overflow-wrap:anywhere}
.eng-card-copy p{font:400 .83rem/1.55 Manrope,system-ui,sans-serif!important;margin:0 0 16px!important;color:#c7d0ce!important;overflow-wrap:anywhere;word-break:normal}
.eng-card-arrow{position:absolute;bottom:18px;right:18px;color:#dabc8a;font-size:23px;transition:transform .22s}
.eng-card:hover .eng-card-arrow{transform:translate(3px,-3px)}
.eng-carousel.is-dark .eng-carousel-help{color:#ebddd0}
.eng-carousel.is-dark .eng-carousel-buttons button{background:#ddbd85;color:#15262b}
.eng-no-items{padding:35px;border:1px dashed #beaa8a;background:#faf6ef;color:#43565b}
.eng-obra-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px;margin:28px 0;padding:0}
.eng-obra-details>div{border:1px solid #dcd6cb;background:#f7f3ea;padding:17px}
.eng-obra-details dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em;color:#8e754f}
.eng-obra-details dd{margin:6px 0 0;font-size:1rem;font-weight:700;color:#1c2d33;overflow-wrap:anywhere}
.eng-obra-gallery,.eng-obra-model{margin:45px 0}
.eng-obra-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:13px}
.eng-obra-gallery-grid a{display:block;overflow:hidden;background:#1d303a}
.eng-obra-gallery-grid img{width:100%;height:230px;object-fit:cover;transition:transform .2s ease}
.eng-obra-gallery-grid a:hover img{transform:scale(1.04)}
.eng-sketchfab{min-height:240px;display:grid;place-items:center;background:repeating-linear-gradient(90deg,#2b3c44 0 1px,transparent 1px 40px),repeating-linear-gradient(#2b3c44 0 1px,#17252c 1px 40px);border:1px solid #d6b787;aspect-ratio:16/9}
.eng-sketchfab-load{padding:16px 24px;background:#d9b477;color:#13242a;border:0;border-radius:3px;font-weight:800;cursor:pointer}
.eng-sketchfab iframe{width:100%;height:100%;min-height:340px;border:0}
.eng-floating-wa{position:fixed;right:clamp(12px,2.2vw,30px);bottom:clamp(15px,2.2vw,30px);z-index:90;display:flex;align-items:center;gap:9px;max-width:calc(100vw - 24px);padding:12px 16px;border-radius:100px;background:#20b35d;color:white!important;text-decoration:none!important;box-shadow:0 12px 35px #06151152;font:800 .8rem/1.1 Manrope,system-ui,sans-serif;transition:transform .25s,box-shadow .25s}
.eng-floating-wa>span:first-child{display:grid;place-items:center;width:22px;height:22px;border:2px solid white;border-radius:50%;font-size:15px}
.eng-floating-wa:hover{transform:translateY(-5px);box-shadow:0 18px 40px #081d154b}
@media(max-width:960px){.eng-card{width:clamp(245px,42vw,335px);min-width:clamp(245px,42vw,335px)}}
@media(max-width:600px){.eng-carousel{margin:1.2rem 0 1.8rem;--eng-gap:12px}.eng-card{width:clamp(235px,76vw,300px);min-width:clamp(235px,76vw,300px);min-height:340px}.eng-card-art{flex-basis:155px;min-height:155px}.eng-card-art svg{height:135px}.eng-card-copy{padding:16px 18px 20px;min-height:174px}.eng-card-copy h3{font-size:1.13rem!important}.eng-floating-wa{right:14px;bottom:14px;padding:12px 13px}.eng-floating-wa span:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){.eng-carousel *, .eng-carousel *::before,.eng-carousel *::after,.eng-floating-wa{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

.eng-carousel-filters{display:flex;flex-wrap:wrap;gap:7px;margin:6px 0 16px}
.eng-carousel-filters button{border:1px solid #bca37f;border-radius:100px;padding:9px 14px;background:#f8f3e9;color:#263b42;font:700 .77rem/1.2 Manrope,system-ui,sans-serif;cursor:pointer;transition:background .2s,color .2s}
.eng-carousel-filters button[aria-pressed="true"],.eng-carousel-filters button:hover{background:#20343b;color:#fff}
@media(max-width:600px){.eng-carousel-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}.eng-carousel-filters button{white-space:nowrap;flex-shrink:0}}

/* Connected technical detail pages: return to portfolio, related works and lead capture. */
.eng-obra-content,.eng-service-content{max-width:100%;overflow-wrap:break-word}
.eng-detail-back{margin:10px 0 24px;display:flex;align-items:center}
.eng-detail-back a{font-size:.88rem;font-weight:750;color:#9d7848;text-decoration:underline;text-underline-offset:5px}
.eng-detail-related{margin:42px 0 30px;padding:26px 28px;background:#f6f4ef;border:1px solid #e4d6c0}
.eng-detail-related h2{margin:0 0 20px;font-size:clamp(1.25rem,2vw,1.65rem);color:#192f39}
.eng-detail-related ul{display:grid;gap:12px;list-style:none;padding:0;margin:0}
.eng-detail-related li a{display:flex;justify-content:space-between;gap:15px;text-decoration:none;border-bottom:1px solid #dcd0c1;padding:10px 0;color:#243d43;font-weight:700}
.eng-detail-related li a:hover{color:#936e40}
.eng-detail-conversion{margin:40px 0 30px;padding:clamp(23px,4vw,43px);background:linear-gradient(130deg,#102631,#1c3c45);color:#f5f0e9;border-top:3px solid #cca168}
.eng-detail-conversion>span{font-size:.68rem;letter-spacing:.13em;color:#d3b68b;font-weight:800}
.eng-detail-conversion h2{color:#fff6e9!important;font-size:clamp(1.4rem,2.4vw,2.15rem)!important;line-height:1.22!important;margin:12px 0 13px!important;text-wrap:balance}
.eng-detail-conversion p{color:#dce4df!important;font-size:clamp(.93rem,1.1vw,1.02rem)!important;line-height:1.7!important;text-align:left!important;max-width:670px}
.eng-detail-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}
.eng-detail-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:12px 20px;border-radius:3px;font-weight:800;font-size:.86rem;text-decoration:none!important;transition:filter .2s}
.eng-detail-primary{background:#d9b477;color:#142630!important}
.eng-detail-secondary{color:#f6eedb!important;border:1px solid #d9b477a6}
.eng-detail-actions a:hover{filter:brightness(1.12)}
.eng-detail-actions a:focus-visible,.eng-detail-back a:focus-visible{outline:2px solid #d9b477;outline-offset:4px}
@media(max-width:580px){.eng-detail-conversion{margin-block:28px;padding:24px 20px}.eng-detail-actions{flex-direction:column}.eng-detail-actions a{width:100%}.eng-detail-related{padding:23px 20px}}
