
.tw-portfolio{color:#082138}.tw-portfolio-container{width:min(1180px,calc(100% - 48px));margin-inline:auto}
.tw-portfolio-hero{min-height:340px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(5,28,50,.95),rgba(5,28,50,.62) 52%,rgba(5,28,50,.18)),var(--tw-portfolio-hero) center/cover,#082138;color:#fff}
.tw-portfolio-hero .tw-portfolio-container{padding-block:4.5rem}.tw-portfolio-eyebrow{font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.tw-portfolio-hero h1{color:#fff;font-family:var(--tw-font-sans);font-weight:750;font-size:clamp(2.6rem,5vw,4.8rem);line-height:1.04;margin:1rem 0;max-width:650px}
.tw-portfolio-lead{font-size:1.08rem;line-height:1.6;max-width:540px}
.tw-portfolio-list{padding:2.5rem 0 5rem;background:#f7fbfe}
.tw-portfolio-filters{display:flex;justify-content:center;gap:.7rem;flex-wrap:wrap;margin:0 0 2rem}
.tw-portfolio-filter{font:inherit;cursor:pointer;border:1px solid #cfe1ed;background:#f2f7fb;color:#082138;padding:.55rem 1.15rem;border-radius:6px}
.tw-portfolio-filter.is-active,.tw-portfolio-filter:hover{background:#009fe5;color:white;border-color:#009fe5}
.tw-portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem}
.tw-portfolio-card{overflow:hidden;background:white;border-radius:5px;box-shadow:0 6px 22px rgba(8,33,56,.055)}
.tw-portfolio-card[hidden]{display:none}
.tw-portfolio-card-image{display:block;aspect-ratio:1.85;background:#d9e9f5;overflow:hidden}
.tw-portfolio-card-image img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;transition:transform .3s ease}
.tw-portfolio-card-image:hover img{transform:scale(1.025)}
.tw-portfolio-placeholder{display:grid;place-items:center;height:100%;padding:2rem;font-size:1.5rem;font-weight:700}
.tw-portfolio-card-body{padding:1.4rem 1.6rem 1.6rem}
.tw-portfolio-card-body h2{font-size:1.45rem;color:#082138;margin:0 0 .4rem}
.tw-portfolio-card-body p{line-height:1.55;color:#44596b;margin:.6rem 0}
.tw-portfolio-card-body .tw-portfolio-category{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#54718a;font-weight:700}
.tw-portfolio-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0}
.tw-portfolio-tags span{font-size:.78rem;background:#eaf4fc;border-radius:30px;padding:.3rem .7rem}
.tw-portfolio-link{color:#007db4;font-weight:700;text-decoration:none}
.tw-portfolio-no-results{text-align:center;padding:2rem}
.tw-portfolio-cta{display:flex;align-items:center;min-height:310px;background:linear-gradient(90deg,rgba(5,28,50,.94),rgba(5,28,50,.53) 62%,rgba(5,28,50,.12)),var(--tw-portfolio-cta) center/cover,#082138;color:white}
.tw-portfolio-cta .tw-portfolio-container{padding-block:3.5rem}
.tw-portfolio-cta h2{color:white;font-family:var(--tw-font-sans);font-size:clamp(2rem,3.5vw,3.3rem);font-weight:750;line-height:1.15;margin:1rem 0;max-width:720px}
.tw-portfolio-cta p:not(.tw-portfolio-eyebrow){max-width:580px;line-height:1.6}
.tw-portfolio-cta-button{display:inline-flex;gap:1rem;background:#009fe5;color:white!important;text-decoration:none;border-radius:50px;padding:.85rem 1.5rem;font-weight:700;margin-top:1rem}
@media(max-width:700px){.tw-portfolio-grid{grid-template-columns:1fr}.tw-portfolio-container{width:min(100% - 32px,1180px)}.tw-portfolio-hero .tw-portfolio-container{padding-block:3rem}}

.tw-portfolio-no-results[hidden]{display:none!important}

/* v1.2.20 typography consistency */
.tw-portfolio .tw-portfolio-hero h1{font-weight:850}.tw-portfolio .tw-portfolio-hero .tw-portfolio-eyebrow{color:#8fd4fb;font-size:.72rem;font-weight:850;letter-spacing:.22em;line-height:1.3;text-transform:uppercase}

/* v1.2.21: Match the approved About-page final CTA treatment. */
.tw-portfolio-cta{position:relative;overflow:hidden;display:block;min-height:0;padding-block:clamp(3.25rem,5vw,4.75rem);text-align:left;background:linear-gradient(110deg,#06233c,#0b5b88);background-image:linear-gradient(90deg,rgba(5,32,54,.95) 0%,rgba(5,32,54,.78) 46%,rgba(5,32,54,.18) 100%),var(--tw-portfolio-cta);background-size:cover;background-position:center;color:#fff}
.tw-portfolio-cta .tw-portfolio-container{padding-block:0}
.tw-portfolio-cta .tw-portfolio-eyebrow{color:#8fd4fb;font-weight:850}
.tw-portfolio-cta h2{max-width:18ch;margin:0;color:#fff;font-size:clamp(2rem,3.2vw,3.25rem);font-weight:850;letter-spacing:-.04em;line-height:1}
.tw-portfolio-cta p:not(.tw-portfolio-eyebrow){max-width:35rem;margin:.9rem 0 1.4rem;color:rgba(255,255,255,.88);font-size:clamp(.96rem,1.05vw,1.05rem);line-height:1.55}
.tw-portfolio-cta .tw-portfolio-cta-button{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:2.85rem;margin:0;padding:.75rem 1.25rem;background:#009fe5;color:#fff!important;border:0;border-radius:5px;font:inherit;font-weight:750;text-decoration:none;line-height:1.2;transition:background .2s ease}
.tw-portfolio-cta .tw-portfolio-cta-button:hover{background:#087fc8}
