.ds4-modal-open{overflow:hidden}.ds4-project-backdrop{position:fixed;inset:0;z-index:99999;background:rgba(4,22,39,.78);display:flex;align-items:center;justify-content:center;padding:24px}.ds4-project-dialog{position:relative;width:min(980px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#f7f5ef;color:#123650;box-shadow:0 20px 90px #0004;border-radius:4px}.ds4-project-dialog-grid{display:grid;grid-template-columns:58% 42%;min-height:370px}.ds4-project-preview{min-height:330px;background:#e8e8e3;display:flex;align-items:center;justify-content:center;overflow:hidden}.ds4-project-preview img{display:block;width:100%;height:100%;object-fit:contain;max-height:74vh}.ds4-project-copy{padding:58px 36px 38px;display:flex;flex-direction:column;align-items:flex-start}.ds4-project-overline{font-size:10px;letter-spacing:.18em;color:#277c8c;margin-bottom:20px}.ds4-project-copy h2{font-size:clamp(28px,3vw,43px);line-height:1.15;margin:0 0 16px;color:#123650}.ds4-project-services{font-size:12px;letter-spacing:.06em;color:#277c8c}.ds4-project-description{font-size:15px;line-height:1.7;margin:18px 0 28px}.ds4-project-external{margin-top:auto;padding:12px 18px;background:#0c4260;color:#fff!important;text-decoration:none;font-size:13px}.ds4-project-external:hover{background:#15748c}.ds4-project-close{position:absolute;top:12px;right:15px;z-index:2;border:0;background:#f7f5ef;color:#123650;cursor:pointer;width:36px;height:36px;font-size:29px;line-height:30px}.ds4-project-close:focus-visible,.ds4-project-external:focus-visible{outline:3px solid #20a4ad;outline-offset:3px}@media(max-width:700px){.ds4-project-backdrop{padding:12px}.ds4-project-dialog{max-height:calc(100dvh - 24px)}.ds4-project-dialog-grid{display:flex;flex-direction:column}.ds4-project-preview{min-height:0;max-height:40vh}.ds4-project-preview img{max-height:40vh}.ds4-project-copy{padding:30px 23px}.ds4-project-description{margin-bottom:24px}}
/* DS4 modal v3: descripción completa y galería dentro del mismo marco */
.ds4-project-dialog{overflow:hidden}
.ds4-project-dialog-grid{height:min(600px,calc(100dvh - 48px));min-height:0}
.ds4-project-preview{position:relative;min-height:0}
.ds4-project-preview .ds4-gallery-image{height:100%;width:100%;max-height:none;object-fit:contain}
.ds4-project-copy{min-height:0;overflow:hidden}
.ds4-project-description{overflow-y:auto;min-height:0;flex:1;max-width:100%;width:100%;overscroll-behavior:contain;padding-right:8px;white-space:pre-line}
.ds4-gallery-prev,.ds4-gallery-next{position:absolute;top:50%;transform:translateY(-50%);z-index:1;border:0;width:38px;height:46px;background:rgba(247,245,239,.92);color:#123650;font-size:32px;cursor:pointer;display:grid;place-items:center}
.ds4-gallery-prev{left:12px}.ds4-gallery-next{right:12px}
.ds4-gallery-count{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);padding:4px 10px;background:rgba(18,54,80,.8);color:#fff;font-size:11px;letter-spacing:.08em}
.ds4-gallery-prev[hidden],.ds4-gallery-next[hidden],.ds4-gallery-count[hidden]{display:none}
.ds4-gallery-prev:focus-visible,.ds4-gallery-next:focus-visible{outline:3px solid #20a4ad}
@media(max-width:700px){.ds4-project-dialog{overflow:auto}.ds4-project-dialog-grid{height:auto;max-height:none}.ds4-project-preview{height: min(42vh,350px);flex-shrink:0}.ds4-project-preview .ds4-gallery-image{height:100%;max-height:none}.ds4-project-copy{overflow:visible}.ds4-project-description{overflow:visible;max-height:none;flex:auto}}
