/* Approved portfolio additions. Existing brand, hero and portfolio styles remain in place. */
.aq-integrator-intro{margin-bottom:1.25rem}
.portal-project{grid-column:1/-1;scroll-margin-top:100px}
.portal-project .showcase-header p{max-width:940px}
.portal-project .portal-demo-notice{display:inline-block;margin-top:14px;padding:10px 14px;border-radius:9px;background:#e6f8fc;color:#17576c;font-size:.76rem;line-height:1.6}
.portal-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:20px 32px 0;font-size:.8rem;color:var(--text-secondary)}
.portal-controls label{color:var(--navy);font-weight:650}
.portal-controls select{font:inherit;max-width:100%;padding:10px 34px 10px 12px;border:1px solid var(--border);border-radius:9px;color:var(--navy);background:white}
#portal-position{font-variant-numeric:tabular-nums;min-width:42px;color:var(--cyan-dark)}
.portal-hint{margin-left:auto;font-size:.74rem}
.portal-project .showcase-gallery{min-width:0;overflow:hidden;padding-bottom:1rem}
.portal-project .showcase-images{width:100%;align-items:stretch;scroll-padding:0}
.portal-figure{flex:0 0 480px;min-width:0;max-width:100%;margin:0;scroll-snap-align:start;display:flex;flex-direction:column}
.portal-project .showcase-img{width:100%;height:auto;aspect-ratio:16/11;background:#f4f7fa;margin:0}
.portal-project .showcase-img img{display:block;width:100%;height:100%;object-fit:contain;transform:none!important}
.portal-project .showcase-img:hover{transform:translateY(-2px)}
.portal-project .showcase-img:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
.portal-figure figcaption{padding:15px 5px 5px;color:var(--text-secondary);font-size:.78rem;line-height:1.6}
.portal-figure figcaption strong{display:block;font-size:.87rem;color:var(--navy);margin-bottom:5px}
.portal-figure figcaption p{margin:0;max-width:440px}
.portal-lightbox-caption{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);width:min(950px,calc(100vw - 32px));text-align:center;color:white;font-size:.83rem;line-height:1.55;padding:12px 18px;background:#081c30f5;border:1px solid #31506a;border-radius:12px}
.portal-lightbox-caption strong{display:block;color:#66ddf3;margin-bottom:3px}
.lightbox.portal-lightbox .lightbox-img{max-height:calc(100dvh - 160px);max-width:calc(100vw - 130px)}
.lightbox.portal-lightbox .lightbox-counter{top:15px;bottom:auto}
@media(max-width:700px){
 .portal-controls{padding:16px 20px 0;gap:10px}
 .portal-controls label{flex-basis:100%}
 .portal-controls select{width:calc(100% - 60px);font-size:.75rem}
 .portal-hint{margin-left:0;width:100%}
 .portal-project .showcase-gallery{padding-left:2.5rem;padding-right:2.5rem}
 .portal-figure{flex-basis:100%;max-width:100%}
 .portal-figure figcaption{font-size:.76rem}
 .portal-project .gallery-arrow{width:32px;height:32px}
 .portal-project .gallery-arrow.prev{left:4px}.portal-project .gallery-arrow.next{right:4px}
 .lightbox.portal-lightbox .lightbox-img{max-width:calc(100vw - 16px);max-height:calc(100dvh - 230px)}
 .lightbox.portal-lightbox .lightbox-nav{top:auto;bottom:160px;width:40px;height:40px}
 .portal-lightbox-caption{bottom:60px;font-size:.72rem;padding:10px 12px}
}
@media(prefers-reduced-motion:reduce){.portal-project .showcase-images{scroll-behavior:auto}.portal-project .showcase-img{transition:none}}
