/* Portfolio-only layout. Original image files, gallery order and Before/After widgets are untouched. */
.sc-case-detail, .sc-case-archive { width:min(70rem,calc(100% - 3rem)); margin-inline:auto; padding-block:clamp(2.5rem,5vw,4rem) 4rem; color:#284658; }
.sc-case-detail > *, .sc-case-archive > *, .sc-case-detail .wp-block-post-content > * { max-width:none; }
.sc-case-detail > .wp-block-post-title, .sc-case-archive-title { max-width:30ch; margin:0 0 2rem; color:#123b55; font-size:clamp(2rem,3.4vw,3.25rem); font-weight:700; line-height:1.2; letter-spacing:-.04em; text-wrap:balance; overflow-wrap:anywhere; }
.sc-case-detail > .wp-block-post-title, .sc-case-archive > .sc-case-archive-title { margin-inline:0 !important; }
.sc-case-detail > .wp-block-post-featured-image { width:100%; max-width:100%; margin:0 0 2rem; }
.sc-case-detail > .wp-block-post-featured-image img { display:block; width:100%; height:clamp(18rem,38vw,30rem); object-fit:contain; border-radius:1.5rem; background:#edf8fd; }
.sc-case-detail > .wp-block-post-content { width:100%; max-width:none; font-size:1.0625rem; line-height:1.8; overflow-wrap:anywhere; }
.sc-case-detail .gallery .gallery-icon a { aspect-ratio:1; border:1px solid #d4e9f5; background:#edf8fd; }
.sc-case-detail .gallery .gallery-icon img { width:100%; height:100%; object-fit:contain; }
.sc-case-detail .gallery .gallery-icon a:hover { border-color:#78bfd9; }
.sc-case-archive .wp-block-post-template.is-layout-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.sc-case-archive .wp-block-post-template > li { display:flex; min-width:0; margin:0; }
.sc-portfolio-card { display:block; width:100%; min-width:0; overflow:hidden; border:1px solid #d4e9f5; border-radius:1.25rem; background:#f8fcff; }
.sc-portfolio-card:hover { border-color:#78bfd9; }
.sc-portfolio-card .sc-portfolio-card-media { width:100%; aspect-ratio:4/3; margin:0; background:#edf8fd; }
.sc-portfolio-card-media a { display:block; height:100%; }
.sc-portfolio-card-media img { display:block; width:100%; height:100%; object-fit:contain; }
.sc-portfolio-card .sc-portfolio-card-title { margin:0; padding:1.5rem; color:#123b55; font-size:1.375rem; line-height:1.45; overflow-wrap:anywhere; }
.sc-portfolio-card-title a { color:inherit; text-decoration:none; }
.sc-portfolio-card-title a:hover { color:#007ca7; }
.sc-portfolio-card .sc-portfolio-card-excerpt { margin:0; padding:0 1.5rem 1.5rem; font-size:1rem; line-height:1.75; }
.sc-portfolio-card-excerpt > p { margin:0; }
.sc-case-archive a:focus-visible { outline:3px solid #137ba5; outline-offset:-3px; }
.sc-case-archive .wp-block-query-pagination { gap:.75rem; margin-top:2.5rem; }
.sc-case-archive .wp-block-query-pagination a, .sc-case-archive .wp-block-query-pagination .current { display:inline-flex; align-items:center; justify-content:center; min-height:44px; min-width:44px; padding:.25rem .75rem; border:1px solid #d4e9f5; border-radius:.75rem; color:#123b55; text-decoration:none; }
.sc-case-archive .wp-block-query-pagination .current { color:#fff; background:#123b55; border-color:#123b55; }
@media(max-width:1024px) {
 .sc-case-archive .wp-block-post-template.is-layout-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:767px) {
 .sc-case-detail, .sc-case-archive { width:calc(100% - 2.125rem); padding-block:2rem 3rem; }
 .sc-case-detail > .wp-block-post-title, .sc-case-archive-title { font-size:clamp(1.875rem,7.8vw,2.5rem); line-height:1.25; letter-spacing:-.035em; }
 .sc-case-detail > .wp-block-post-featured-image img { height:clamp(14rem,65vw,22rem); border-radius:1rem; }
 .sc-case-detail > .wp-block-post-content { font-size:1rem; }
 .sc-case-archive .wp-block-post-template.is-layout-grid { grid-template-columns:minmax(0,1fr); }
 .sc-portfolio-card .sc-portfolio-card-title { font-size:1.25rem; }
 .sc-case-archive .wp-block-query-pagination { flex-wrap:wrap; }
}
