/* Namespaced template: existing Elementor .custom-* styles cannot alter cards. */
.pe-reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;width:100%;font-family:Roboto,Arial,sans-serif;color:#292929}
.pe-reference-grid *{box-sizing:border-box}
.pe-reference-grid .pe-ref-gallery{position:relative;min-width:0;width:100%;max-width:600px;margin:0 auto}
.pe-reference-grid .pe-ref-gallery:hover,.pe-reference-grid .pe-ref-gallery:focus-within{z-index:2}
.pe-reference-grid .pe-ref-main-image{height:100%;filter:grayscale(50%);transition:filter .3s ease}
.pe-reference-grid .pe-ref-custom-card{position:relative;display:flex;flex-direction:column;height:100%;min-width:0;border:0;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 4px 8px #0003;color:inherit;text-decoration:none;transition:transform .3s ease}
.pe-reference-grid a.pe-ref-custom-card:focus-visible{outline:3px solid #009fdb;outline-offset:4px}
.pe-reference-grid .pe-ref-image-container{position:relative;aspect-ratio:113/50;overflow:hidden;flex:none}
.pe-reference-grid .pe-ref-image-container>img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;border:0;border-radius:0}
.pe-reference-grid .pe-ref-custom-labels{position:absolute;inset:10px 0 15px;display:flex;flex-direction:column;align-items:flex-start;gap:0;pointer-events:none}
.pe-reference-grid .pe-ref-custom-labels>span{display:block;flex:none;width:auto;max-width:100%;padding:10px 30px;border:0;margin:0;font:400 12px/12px Roboto,Arial,sans-serif;letter-spacing:.2em;text-align:left;text-decoration:none;white-space:normal;overflow-wrap:normal}
.pe-reference-grid .pe-ref-label-general{background:#00bfea;color:#fff}
.pe-reference-grid .pe-ref-label-general.is-structure{background:#00bfea}
.pe-reference-grid .pe-ref-label-design{background:#fff;color:#00bfea}
.pe-reference-grid .pe-ref-custom-labels>.pe-ref-label-development{margin-top:auto;background:#d99b52;color:#fff}
.pe-reference-grid .pe-ref-custom-content{display:flex;flex-direction:column;flex:1;min-height:235px;background:#fff;padding:15px 15px 25px}
.pe-reference-grid .pe-ref-custom-content h3{margin:0 0 18px!important;padding:10px 0 0!important;font:700 26px/30px Roboto,Arial,sans-serif!important;color:#292929!important;text-align:left;letter-spacing:normal!important;text-decoration:none!important}
.pe-reference-grid .pe-ref-custom-details{margin:0;padding:0;font:400 16px/25px Roboto,Arial,sans-serif;color:#808080;text-align:left;overflow-wrap:anywhere}
.pe-reference-grid .pe-ref-custom-icons{display:flex;flex-wrap:wrap;align-items:center;gap:10px 15px;margin-top:auto;padding:40px 0 0 40px;font:400 15px/25px Roboto,Arial,sans-serif;color:#808080;text-align:left}
.pe-reference-grid .pe-ref-custom-icon{display:inline-flex;flex:0 0 auto;max-width:100%;align-items:center;gap:10px}
.pe-reference-grid .pe-ref-custom-icon>img{display:block;flex:0 0 20px;width:20px;height:20px;object-fit:contain;border:0;border-radius:0;margin:0}
.pe-reference-grid .pe-ref-custom-icon>span{overflow-wrap:anywhere;min-width:0}
.pe-reference-grid .pe-ref-main-image:focus-within{filter:grayscale(0%)}
@media(hover:hover) and (pointer:fine){.pe-reference-grid .pe-ref-main-image:hover{filter:grayscale(0%)}.pe-reference-grid .pe-ref-custom-card:hover{transform:scale(1.1)}}
@media(max-width:1024px){.pe-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}}
@media(max-width:640px){.pe-reference-grid{grid-template-columns:minmax(0,1fr);gap:24px}.pe-reference-grid .pe-ref-custom-icons{padding-left:0}.pe-reference-grid .pe-ref-image-container{min-height:160px}}
@media(prefers-reduced-motion:reduce){.pe-reference-grid .pe-ref-main-image,.pe-reference-grid .pe-ref-custom-card{transition:none}.pe-reference-grid .pe-ref-custom-card:hover{transform:none}}
