/* Source-based portfolio extension: reuse the site's navy, teal and typography. */
.entry:has(.portfolio-root){max-width:1180px}.entry>.portfolio-root{max-width:none}.portfolio-root{min-width:0}.portfolio-section{padding:48px 0;border-top:1px solid var(--line);scroll-margin-top:120px}.portfolio-section h2{font-size:clamp(1.8rem,3vw,2.8rem);max-width:900px}.portfolio-section>p{max-width:890px}.portfolio-root h3{font-size:1.35rem}.portfolio-root h4{font-size:1.02rem;line-height:1.4}.portfolio-route-grid,.portfolio-grid,.portfolio-text-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:28px 0}.portfolio-route{display:block;border:1px solid var(--line);border-radius:var(--radius);padding:26px;background:var(--soft);color:var(--ink);transition:background .15s}.portfolio-route:hover{background:#e5f4f3}.portfolio-route p{color:var(--muted);font-size:.95rem}.portfolio-route>span:last-child{color:var(--teal);font-weight:800}.portfolio-card{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;scroll-margin-top:120px;display:flex;flex-direction:column}.portfolio-media{background:#fff;padding:22px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--line)}.portfolio-media img{width:100%;height:260px;object-fit:contain}.portfolio-card-copy{padding:26px;flex:1}.portfolio-badge{display:block;font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.07em;color:#087b7d;margin-bottom:12px}.portfolio-specs{margin:22px 0;border-top:1px solid var(--line)}.portfolio-specs>div{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:16px;border-bottom:1px solid var(--line);padding:12px 0;font-size:.9rem}.portfolio-specs dt{font-weight:750;color:var(--navy)}.portfolio-specs dd{margin:0;color:#344d5a;overflow-wrap:anywhere}.portfolio-profile{border-top:1px solid var(--line);padding-top:18px;margin-top:22px}.portfolio-profile p,.portfolio-context{font-size:.9rem}.portfolio-source{font-size:.72rem!important;color:var(--muted)!important;padding:12px 26px;margin:0!important;border-top:1px solid var(--line)}.portfolio-notice,.portfolio-reference{background:var(--soft);border-left:4px solid var(--teal);padding:22px 26px;margin:26px 0;border-radius:0 12px 12px 0;font-size:.92rem}.portfolio-reference{margin-top:45px}.portfolio-reference p{margin-bottom:10px}.portfolio-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:26px 0}.portfolio-gallery figure{margin:0;border:1px solid var(--line);border-radius:14px;overflow:hidden}.portfolio-gallery .portfolio-media{height:100%;border:0;padding:14px}.portfolio-gallery img{height:190px}.portfolio-text-grid>article{padding:24px;border-radius:14px;background:var(--soft)}.portfolio-text-grid>article p:last-child{margin:0}.portfolio-workflow{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;list-style:none;padding:0!important;margin:28px 0}.portfolio-workflow li{background:var(--soft);padding:22px 16px;border-radius:14px}.portfolio-workflow li>span{display:block;color:var(--teal);font-size:1.4rem;font-weight:850;margin-bottom:20px}.portfolio-workflow h3{font-size:1.1rem}.portfolio-workflow p{font-size:.87rem;margin:0}.portfolio-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:14px;margin:28px 0}.portfolio-table{border-collapse:collapse;width:100%;margin:0;font-size:.9rem}.portfolio-table caption{text-align:left;padding:16px;font-weight:800;color:var(--navy)}.portfolio-table th,.portfolio-table td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.portfolio-table thead{background:#e9f5f4}.portfolio-table tbody th{min-width:180px}.portfolio-download{display:flex;align-items:center;gap:30px;background:var(--navy);padding:30px;border-radius:18px;margin:24px 0;color:#d8e7ec}.portfolio-download h3,.portfolio-download p{color:inherit}.portfolio-download .eyebrow{color:#75e3dc}.portfolio-download .btn{flex:0 0 240px}.portfolio-actions{margin-top:28px}.portfolio-base{display:block;color:#75e3dc;font-size:.72rem;font-weight:800;letter-spacing:.06em;margin-bottom:14px}.portfolio-teaser{padding:30px 0 72px}.portfolio-root a:focus-visible{outline:3px solid var(--teal);outline-offset:4px}.portfolio-root p,.portfolio-root li,.portfolio-root h3{overflow-wrap:anywhere}
.portfolio-grid:has(>.portfolio-card:only-child){grid-template-columns:1fr}.portfolio-grid>.portfolio-card:only-child{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}.portfolio-grid>.portfolio-card:only-child>.portfolio-media{border-bottom:0;border-right:1px solid var(--line)}.portfolio-grid>.portfolio-card:only-child>.portfolio-source{grid-column:1/-1}
@media(max-width:900px){.portfolio-workflow{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-download{flex-direction:column;align-items:stretch}.portfolio-download .btn{flex:auto}.portfolio-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.portfolio-route-grid,.portfolio-grid,.portfolio-text-grid{grid-template-columns:1fr}.portfolio-section{padding:34px 0}.portfolio-card-copy{padding:20px}.portfolio-media img{height:225px}.portfolio-gallery img{height:145px}.portfolio-notice,.portfolio-reference{padding:18px}.portfolio-table{font-size:.8rem}.portfolio-table th,.portfolio-table td{padding:10px}.portfolio-specs>div{gap:12px}.portfolio-download{padding:24px}.portfolio-route{padding:22px}.portfolio-workflow{grid-template-columns:1fr}.portfolio-root>.answer-box{padding:22px}}
@media(max-width:680px){.portfolio-grid>.portfolio-card:only-child{display:flex}.portfolio-grid>.portfolio-card:only-child>.portfolio-media{border-right:0;border-bottom:1px solid var(--line)}}
