.service-intro { padding: 45px 24px 40px; text-align: center; }
.service-intro h1 { max-width: 900px; margin: 10px auto 15px; font-size: clamp(28px, 4vw, 40px); line-height: 1.2; color: #111; }
.intro-text { max-width: 700px; margin: 0 auto; color: #555; font-size: 16px; }
.intro-quote { margin-top: 24px; }
.project-slideshow { background: #111; }
.slideshow-container { max-width: 1200px; margin: auto; }
.slide-image-button { display: block; width: 100%; border: 0; background: #111; cursor: zoom-in; }
.slide-image-button img { width: 100%; height: clamp(300px, 47vw, 560px); object-fit: contain; }
.slideshow-controls { min-height: 82px; padding: 15px 24px; display: grid; grid-template-columns: 48px minmax(0, 1fr) 48px; align-items: center; gap: 20px; color: #fff; }
.slide-caption { font-weight: 600; text-align: center; overflow-wrap: anywhere; }
.slide-counter { color: #c5c5c5; font-size: 13px; font-weight: 400; }
.slide-button { width: 48px; height: 48px; border: 1px solid #666; border-radius: 50%; background: #222; color: #fff; font-size: 22px; }
.slide-button:hover { background: var(--blue-dark); }
.slide-button:focus-visible { outline-color: #fff; }
.slide-button:disabled { opacity: .4; cursor: default; }
.gallery-help { padding: 0 24px 16px; text-align: center; color: #c5c5c5; font-size: 13px; }
.recent-projects { padding: 65px 30px; background: #f5f5f5; text-align: center; }
.recent-projects h2 { margin: 10px auto 12px; font-size: clamp(26px, 3.5vw, 34px); line-height: 1.2; }
.recent-projects > p:not(.eyebrow) { max-width: 700px; margin: 0 auto 35px; color: #555; }
.project-grid { max-width: 1100px; margin: auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px; }
.project-grid.single-project { grid-template-columns: minmax(0, 1fr); max-width: 440px; }
.project-card { min-width: 0; overflow: hidden; background: #fff; border-radius: 8px; box-shadow: 0 4px 15px rgba(0, 0, 0, .08); }
.project-photo { display: block; width: 100%; border: 0; background: #e7eaed; cursor: zoom-in; }
.project-photo img { width: 100%; height: 260px; object-fit: contain; }
.project-card-content { padding: 20px; text-align: left; }
.project-card-content h3 { margin-bottom: 8px; font-size: 19px; line-height: 1.35; }
.project-card-content p { color: #555; font-size: 14px; }
.instagram-section, .service-cta { padding: 60px 24px; text-align: center; }
.instagram-section h2, .service-cta h2 { margin: 10px auto 14px; font-size: clamp(26px, 3.5vw, 34px); line-height: 1.2; }
.instagram-section > p:not(.eyebrow), .service-cta > p:not(.eyebrow) { max-width: 650px; margin: 0 auto 24px; color: #555; }
.floating-quote { position: fixed; right: 18px; bottom: 18px; z-index: 20; padding: 12px 20px; background: var(--blue); color: #071a22; font-size: 14px; font-weight: 700; border-radius: 6px; box-shadow: 0 3px 15px rgba(0, 0, 0, .25); }
.floating-quote:hover { background: #7cd9f7; }
.site-footer { padding-bottom: 95px; }
@media (max-width: 900px) { .project-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
    .service-intro { padding: 35px 20px; }
    .slide-image-button img { height: 340px; }
    .slideshow-controls { padding: 15px 18px; gap: 14px; }
    .slide-caption { font-size: 14px; }
    .recent-projects { padding: 50px 20px; }
    .project-grid { grid-template-columns: 1fr; max-width: 440px; }
    .project-photo img { height: 280px; }
    .instagram-section, .service-cta { padding: 45px 20px; }
}
