/* Stage 8A: portfolio catalog; project records remain dynamic. */
.elementor .taec-portfolio-hero { background:radial-gradient(ellipse at top right,#1689c94d,transparent 65%),#071f35; }
.elementor .taec-portfolio-hero>.e-con-inner,.elementor .taec-portfolio-catalog>.e-con-inner { gap:28px; }
.elementor .taec-portfolio-hero h1.elementor-heading-title { font-size:clamp(40px,4.4vw,62px);line-height:1.1;letter-spacing:-.04em; }
body .elementor .taec-portfolio-hero .elementor-widget-text-editor { font-size:18px;line-height:1.75;color:#d9e6f0;max-width:65ch; }
.elementor .taec-portfolio-hero .taec-label .elementor-heading-title { color:#d9e6f0; }
.elementor .taec-portfolio-catalog { background:#f4f7fa; }
.elementor .taec-portfolio-catalog h2.elementor-heading-title { font-size:clamp(30px,3.2vw,44px);line-height:1.18;letter-spacing:-.035em; }
.elementor .taec-portfolio-catalog .elementor-widget-text-editor { font-size:16px;line-height:1.8;color:var(--taec-muted); }
.elementor .taec-portfolio-catalog .taec-project-grid { gap:28px; }
.elementor .taec-portfolio-catalog .taec-content-card { border:1px solid #dfe7ee;border-radius:22px;overflow:hidden;background:#fff;display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s; }
.elementor .taec-portfolio-catalog .taec-card-media { overflow:hidden; }
.elementor .taec-portfolio-catalog .taec-card-media img { width:100%;height:250px;object-fit:cover;transition:transform .35s; }
.elementor .taec-portfolio-catalog .taec-card-body { padding:28px;display:flex;flex-direction:column;gap:16px;flex:1; }
.elementor .taec-portfolio-catalog h3 { margin:0;font-size:24px;line-height:1.3;letter-spacing:-.025em; }
.elementor .taec-portfolio-catalog .taec-card-body p { margin:0;font-size:15px;line-height:1.8;color:var(--taec-muted); }
.elementor .taec-portfolio-catalog .taec-card-body .taec-link { margin-top:auto;padding-top:8px; }
.elementor .taec-portfolio-catalog .taec-filters { gap:10px;margin-bottom:28px; }
.elementor .taec-portfolio-catalog .taec-filters a { border-radius:999px;padding:10px 18px;font-size:13px; }
.elementor .taec-portfolio-catalog .taec-pagination { margin-top:36px; }
.elementor .taec-portfolio-contact { background:linear-gradient(120deg,#071f35,#073b63);border-top:4px solid #ff791a; }
.elementor .taec-portfolio-contact-row { display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:64px; }
.elementor .taec-portfolio-contact-row>.e-con { width:auto;min-width:0;gap:24px; }
.elementor .taec-portfolio-contact h2.elementor-heading-title { font-size:clamp(32px,3.4vw,44px);line-height:1.15; }
.elementor .taec-portfolio-contact .elementor-widget-text-editor { font-size:17px;line-height:1.8; }
@media(hover:hover) { .elementor .taec-portfolio-catalog .taec-content-card:hover { transform:translateY(-4px);box-shadow:0 12px 30px #071f3510; } .elementor .taec-portfolio-catalog .taec-card-media:hover img { transform:scale(1.035); } }
@media(max-width:1024px) { .elementor .taec-portfolio-contact-row { gap:32px; } .elementor .taec-portfolio-catalog .taec-card-media img { height:220px; } .elementor .taec-portfolio-catalog .taec-card-body { padding:24px; } }
@media(max-width:767px) { .elementor .taec-portfolio-contact-row { grid-template-columns:1fr;gap:24px; } .elementor .taec-portfolio-hero h1.elementor-heading-title { font-size:clamp(34px,8.4vw,44px); } body .elementor .taec-portfolio-hero .elementor-widget-text-editor { font-size:16px; } .elementor .taec-portfolio-catalog h2.elementor-heading-title,.elementor .taec-portfolio-contact h2.elementor-heading-title { font-size:clamp(28px,7.2vw,34px); } .elementor .taec-portfolio-catalog .taec-card-media img { height:230px; } .elementor .taec-portfolio-catalog h3 { font-size:22px; } .elementor .taec-portfolio-hero .elementor-button,.elementor .taec-portfolio-contact .elementor-button { width:100%; } }
@media(prefers-reduced-motion:reduce) { .elementor .taec-portfolio-catalog .taec-content-card,.elementor .taec-portfolio-catalog .taec-card-media img { transition:none;transform:none!important; } }

/* Combined native portfolio filters. */
.elementor .taec-portfolio-catalog .taec-portfolio-filters { margin-bottom:28px; }
.elementor .taec-portfolio-catalog .taec-filter-label { color:#10364c;font-family:Inter,sans-serif;font-weight:700;font-size:13px;margin-bottom:10px; }
.elementor .taec-portfolio-catalog .taec-portfolio-filters .taec-filters { display:flex;flex-wrap:wrap;margin-bottom:20px; }
.elementor .taec-portfolio-catalog .taec-portfolio-filters a { max-width:100%;white-space:normal;overflow-wrap:anywhere; }
.elementor .taec-portfolio-catalog .taec-clear-filters { color:#074b77;font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:4px; }
.elementor .taec-portfolio-catalog .taec-filters a:focus-visible { outline:3px solid #f58220;outline-offset:3px; }
