/* Progressive enhancements: filters, service orientation, accessible image details. */
.portfolio-tools { margin-bottom:32px; }
.portfolio-filters { display:flex; flex-wrap:wrap; gap:10px; }
.portfolio-filters button { min-height:44px; padding:10px 17px; border-radius:24px; border:1px solid #51534a; background:transparent; color:#deded5; font-size:13px; }
.portfolio-filters button[aria-pressed="true"] { background:#d7fa86; border-color:#d7fa86; color:#172011; }
.portfolio-filters button span { margin-left:8px; opacity:.75; }
#portfolio-results { margin:18px 0 0; font-size:12px; color:#b4b4ad; }
.portfolio-card { scroll-margin-top:28px; }
.project-finder { padding-block:60px 80px; display:grid; grid-template-columns:1fr 1.2fr; gap:80px; border-top:1px solid #34362e; }
.project-finder h2 { font-size:clamp(34px,4vw,54px); letter-spacing:-.05em; line-height:1.12; margin-bottom:22px; }
.project-finder>div>p:last-child { max-width:380px; color:#b4b4ad; }
.finder-panel { padding:28px; border:1px solid #414939; background:linear-gradient(135deg,#20281b,#151814); border-radius:16px; }
.finder-choices { display:grid; gap:12px; }
.finder-choices button { display:flex; justify-content:space-between; gap:20px; padding:17px 18px; text-align:left; font-size:15px; line-height:1.5; background:#191d16; color:#e7e9df; border:1px solid #555e4c; border-radius:8px; min-height:56px; }
.finder-choices button[aria-pressed="true"] { border-color:#d7fa86; background:#d7fa86; color:#172011; }
.finder-answer { margin-top:26px; padding-top:24px; border-top:1px solid #4c5640; }
.finder-answer h3 { font-size:24px; line-height:1.3; letter-spacing:-.035em; margin-bottom:14px; }
.finder-answer p { font-size:14px; color:#c0c6b8; }
.finder-actions { display:flex; gap:16px; flex-wrap:wrap; align-items:center; }
.finder-note { margin:16px 0 0; font-size:12px!important; }
.field-help { color:#b4b4ad; font-size:12px; line-height:1.6; margin:10px 0 0; }
#copy-request { margin-top:20px; }
.case-figure { position:relative; }
.image-expand { display:inline-flex; min-height:44px; align-items:center; margin-top:8px; border:1px solid #62665b; background:#171a14; color:#eee; border-radius:7px; padding:10px 16px; font-size:12px; }
.image-viewer { width:min(1500px,96vw); max-width:96vw; max-height:94dvh; padding:22px; border:1px solid #565c4c; border-radius:14px; background:#11140f; color:#f1f0ea; }
.image-viewer::backdrop { background:#000d; }
.viewer-toolbar { display:flex; justify-content:space-between; gap:24px; align-items:center; margin-bottom:16px; }
.viewer-toolbar h2 { font-size:18px; margin:0; }
.viewer-close { min-height:44px; padding:10px 16px; background:#d7fa86; color:#172011; border:0; border-radius:6px; }
.viewer-scroll { max-height:65dvh; overflow:auto; border-radius:6px; background:#252a20; }
.viewer-scroll img { display:block; width:100%; height:auto; }
.viewer-caption { font-size:13px; margin:14px 0 8px; color:#c4c9be; }
.viewer-original { font-size:13px; display:inline-flex; min-height:44px; align-items:center; text-underline-offset:4px; }
.viewer-open { overflow:hidden; }
@media(max-width:991px) { .project-finder { gap:36px; } }
@media(max-width:767px) {
 .project-finder { grid-template-columns:1fr; gap:24px; padding-block:44px 56px; }.finder-panel { padding:20px; }.finder-actions { align-items:stretch; flex-direction:column; }
 .portfolio-filters { gap:8px; }.portfolio-filters button { font-size:12px; padding:10px 13px; }
 .image-viewer { padding:16px; }.viewer-toolbar h2 { font-size:15px; }.viewer-scroll img { width:100%; min-width:780px; }.viewer-scroll { max-height:65dvh; }
}
@media print {
 .site-header,.hero-backdrop,.hero-shade,.video-toggle,.mobile-contact-bar,.portfolio-tools,.portfolio-expand,.project-finder,.contact-section,.image-expand,.related-services { display:none!important; }
 body { background:white!important; color:#111!important; }.conversion-hero { padding:24px 0!important; min-height:0!important; }.page-width { width:100%!important; }
 .portfolio-card { break-inside:avoid; }.portfolio-card[hidden] { display:block!important; }.case-figure { break-inside:avoid; }
}

@media print {
 .home-page,.home-page * { color:#111!important; text-shadow:none!important; box-shadow:none!important; }
 .home-page section,.home-page article,.home-page aside,.home-page .route-panel,.home-page .portfolio-preview,.home-page .proof-card { background:#fff!important; border-color:#bbb!important; }
 .hero-actions,.intent-links { display:none!important; }
}
