/* Área do cliente e contato na página principal. */
.portal:has(.client-area-art){grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:44px}
.client-area-art{margin:0;min-width:0}
.client-area-art>button{display:block;position:relative;width:100%;padding:0;overflow:hidden;border:1px solid #d7e8f1;border-radius:20px;background:white;box-shadow:0 22px 60px #082d4c13}
.client-area-art img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;transition:transform .4s}
.client-area-art>button>span{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:15px 20px;border-top:1px solid #e1eef5;background:white;font-size:12px;font-weight:700;color:var(--navy);text-align:left}
.client-area-art>button>span>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#e8f6fd;color:var(--blue);font-size:18px}
.client-area-art>button:hover img{transform:scale(1.015)}
.float-wa{display:flex;align-items:center;justify-content:center;width:58px;height:58px;padding:14px;background:#25d366;color:#fff;border:1px solid #ffffff55;box-shadow:0 8px 24px #087c3b38;transition:background .2s,transform .2s}
.float-wa img{display:block;width:100%;height:100%;max-width:30px;max-height:30px;object-fit:contain;flex:none}
.float-wa:hover{background:#20bd5a;transform:translateY(-3px)}

/* Visualizador em tela cheia compartilhado pelas galerias. */
body.media-viewer-open{overflow:hidden}
.review-admin-actions{margin-top:18px;padding-top:14px;border-top:1px solid #e4edf3}.review-admin-actions .subtle-btn{color:#a33f4c;border-color:#efd9dd;font-size:11px;padding:9px 12px}
dialog.media-lightbox{position:fixed;inset:0;width:100%;height:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:#061a2bf7;color:white;overflow:hidden;overscroll-behavior:contain}
.media-lightbox::backdrop{background:#031321ed;backdrop-filter:blur(12px)}
.viewer-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;height:100%;max-width:1600px;margin:auto;padding:22px 32px 16px;box-sizing:border-box}
.viewer-header{position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 0 18px;background:none;border:0;backdrop-filter:none;color:white;z-index:3}
.viewer-header>div:first-child{min-width:0}
.viewer-eyebrow{display:block;font-size:9px;letter-spacing:2px;color:#7dcce9;margin-bottom:8px;font-weight:700}
.viewer-header h2{font-size:18px;font-weight:600;letter-spacing:-.3px;line-height:1.4;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.viewer-tools{display:flex;align-items:center;gap:20px;flex-shrink:0}
.viewer-counter{font-size:12px;color:#c4d9e5;font-variant-numeric:tabular-nums;white-space:nowrap}
.viewer-close{display:flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:10px 14px;border:1px solid #ffffff35;border-radius:10px;background:#ffffff12;color:#fff;font-size:12px;font-weight:700}
.media-lightbox svg{width:22px;height:22px;flex:none}
.viewer-close:hover,.viewer-arrow:hover{background:#ffffff27}
.viewer-canvas{position:relative;min-height:0;display:grid;grid-template-columns:1fr;border-top:1px solid #ffffff12;border-bottom:1px solid #ffffff12}
.viewer-stage{display:flex;align-items:center;justify-content:center;position:relative;min-width:0;min-height:0;height:100%;padding:12px 64px;touch-action:pan-y pinch-zoom}
.media-lightbox .viewer-stage img,.media-lightbox .viewer-stage video{display:block;width:100%;height:100%;max-width:100%;max-height:100%;min-height:0;object-fit:contain;border-radius:6px;background:transparent}
.media-lightbox .viewer-stage video{background:#000}
.viewer-loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);max-width:80%;font-size:12px;line-height:1.7;color:#d4e5ef;text-align:center;pointer-events:none}
.viewer-loading[hidden]{display:none}
.viewer-arrow{display:grid;place-items:center;position:absolute;top:50%;transform:translateY(-50%);width:44px;height:54px;padding:0;border:1px solid #ffffff30;border-radius:10px;background:#122d40e6;color:#fff;z-index:2}
.viewer-arrow[hidden]{display:none}
.viewer-prev{left:0}.viewer-next{right:0}
.viewer-footer{padding:12px 0 0;background:transparent;border:0}
.viewer-caption{font-size:12px;text-align:center;color:#d9e8f1;line-height:1.5;margin:0 0 10px;max-width:none}
.viewer-thumbs{display:flex;gap:8px;justify-content:safe center;overflow:auto;max-width:100%;padding:3px 2px 7px;scrollbar-width:thin;scrollbar-color:#486379 transparent}
.viewer-thumbs button{display:flex;align-items:center;justify-content:center;position:relative;flex:0 0 62px;height:46px;border:2px solid transparent;border-radius:6px;padding:0;overflow:hidden;background:#18364d;color:#fff}
.media-lightbox .viewer-thumbs img{width:100%;height:100%;max-height:none;max-width:none;object-fit:cover;border-radius:0}
.viewer-thumbs button[aria-current="true"]{border-color:#45ceff;box-shadow:0 0 0 1px #45ceff44}
.viewer-thumbs button>span{position:absolute;right:2px;bottom:2px;font-size:8px;background:#041b2bc4;border-radius:3px;padding:1px 3px}
.viewer-help{margin:2px 0 0;font-size:10px;color:#8faabc;text-align:center;line-height:1.4;max-width:none}

/* Registros de serviços: capa, hierarquia e informações. */
.ui-icon{display:inline-block;width:19px;height:19px;flex:none;vertical-align:middle}
.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:stretch}
.work-card{display:flex;flex-direction:column;min-width:0;border:1px solid #dce8f0;border-radius:16px;box-shadow:0 5px 20px #082d4c04;transition:transform .25s,box-shadow .25s,border-color .25s}
.work-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px #082d4c10;border-color:#bdddeb}
.work-image{display:block;position:relative;width:100%;height:auto;aspect-ratio:3/2;padding:0;border:0;overflow:hidden;isolation:isolate;background:#e8f3f9;color:white;text-align:left}
.work-image:after{content:'';position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,#06284120,transparent 40%,#041d30c9);pointer-events:none}
.work-image>img,.work-image>video{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s;pointer-events:none}
.work-card:hover .work-image>img{transform:scale(1.035)}
.work-image-top,.work-image-bottom{position:absolute;left:16px;right:16px;display:flex;justify-content:space-between;align-items:center;gap:10px;z-index:1}
.work-image-top{top:16px;align-items:flex-start}.work-image-bottom{bottom:17px;font-size:12px;font-weight:700}
.work-image-bottom>span{display:inline-flex;align-items:center;gap:5px;min-width:0;overflow-wrap:anywhere}
.work-image-bottom .ui-icon{width:16px;height:16px}
.work-property,.work-video-label{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:7px;font-size:10px;font-weight:700;line-height:1.4}
.work-property{background:#fffffff2;color:var(--navy);box-shadow:0 3px 14px #082d4c0a}
.work-property .ui-icon{width:14px;height:14px;color:var(--blue)}
.work-video-label{background:#082d4cbf;border:1px solid #ffffff35;color:white;backdrop-filter:blur(6px)}
.work-video-label .ui-icon{width:12px;height:12px;fill:currentColor}
.work-open{font-size:10px;white-space:nowrap;font-weight:500;opacity:.9}
.work-body{display:flex;flex-direction:column;flex:1;padding:24px 23px 0;min-width:0}
.work-category{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:700;color:#007f9d;line-height:1.6}
.work-category .ui-icon{width:14px;height:14px}
.work-body h3{font-size:21px;line-height:1.4;letter-spacing:-.65px;margin:11px 0 10px;overflow-wrap:anywhere}
.work-body .work-description{font-size:12px;line-height:1.85;margin:0 0 22px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line;color:#627887}
.work-facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;margin:auto 0 0;padding:17px 0 20px;border-top:1px solid #edf2f6}
.work-facts>div{min-width:0}.work-facts>div+div{border-left:1px solid #e4edf3;padding-left:18px}
.work-facts dt{display:flex;align-items:center;gap:6px;color:#8093a1;font-size:9px;font-weight:500}.work-facts dt .ui-icon{width:13px;height:13px}
.work-facts dd{margin:7px 0 0;color:var(--navy);font-size:12px;font-weight:700;overflow-wrap:anywhere;line-height:1.5}
.work-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:65px;border-top:1px solid #e8eff4}
.work-media-summary{display:flex;align-items:center;gap:8px;min-width:0;color:#6c8292;font-size:9px;line-height:1.5}
.work-media-summary>.ui-icon{width:17px;height:17px}.work-miniatures{display:inline-flex;flex:none;padding-right:2px}
.work-miniatures img{display:block;width:28px;height:28px;max-width:none;object-fit:cover;border:2px solid white;border-radius:50%;margin-right:-7px}.work-miniatures img:last-child{margin-right:0}
.work-detail-link{display:inline-flex;align-items:center;gap:7px;flex:none;padding:9px 0 9px 5px;border:0;background:none;color:var(--blue);font-size:11px;font-weight:700}.work-detail-link .ui-icon{width:16px;height:16px}

/* Detalhes: galeria ampla e resumo do atendimento. */
.modal.service-dialog{width:1080px;max-width:calc(100vw - 48px);max-height:92vh;max-height:92dvh;padding:0;border:1px solid #dce8ef;border-radius:18px;background:#fff;scrollbar-width:thin;scrollbar-color:#c5dce9 transparent}
.service-dialog>.modal-header{position:sticky;top:0;padding:19px 28px;background:#fffffff7;border-bottom:1px solid #e4edf3;backdrop-filter:blur(12px);z-index:5}
.service-dialog>.modal-header h2{font-size:16px;letter-spacing:-.3px}.service-dialog>.modal-header button{flex:none;width:38px;height:38px;font-size:26px;background:#eaf4fa;color:#294c65}
.service-dialog>p{margin:16px 28px 0;color:#8298a7;font-size:10px}.service-dialog>.form-error{margin-inline:28px}
.service-detail-layout{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(0,1fr);gap:30px;padding:23px 28px 28px;align-items:start}
.service-gallery{min-width:0}.service-gallery-stage{position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;aspect-ratio:4/3;background:#eaf2f7;border:1px solid #dce8ef;border-radius:12px}
.service-gallery-photo{position:relative;display:block;width:100%;height:100%;padding:0;border:0;background:transparent}
.service-dialog .service-gallery-stage img,.service-dialog .service-gallery-stage video{display:block;width:100%;height:100%;max-height:100%;max-width:100%;object-fit:contain;background:#eaf2f7}
.service-dialog .service-gallery-stage video{background:#061d30}
.service-gallery-photo>span{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);display:inline-flex;align-items:center;gap:7px;white-space:nowrap;padding:9px 13px;border-radius:7px;background:#fffffff2;color:var(--navy);font-size:10px;font-weight:700;box-shadow:0 4px 16px #082d4c13}
.service-gallery-photo>span .ui-icon{width:14px;height:14px}
.service-gallery-label{position:absolute;left:12px;top:12px;display:flex;align-items:center;gap:6px;padding:7px 10px;border-radius:6px;background:#062841cf;color:#fff;font-size:9px;z-index:2;pointer-events:none}.service-gallery-label .ui-icon{width:13px;height:13px}
.service-expand{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:6px;padding:7px 9px;min-height:32px;border:1px solid #ffffff40;border-radius:6px;color:white;background:#082d4ccf;font-size:9px}.service-expand .ui-icon{width:14px;height:14px}
.service-gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:34px;height:40px;padding:0;background:#ffffffed;color:var(--navy);border:1px solid #d4e5f0;border-radius:7px;box-shadow:0 3px 14px #082d4c12}
.gallery-prev{left:10px}.gallery-next{right:10px}
.service-gallery-thumbs{display:flex;gap:9px;overflow:auto;padding:12px 2px 5px;scrollbar-width:thin;scrollbar-color:#c7dce9 transparent}
.service-gallery-thumbs button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;flex:0 0 76px;height:57px;border:2px solid transparent;border-radius:7px;background:#e5f0f7;color:#53748b;padding:0;overflow:hidden}
.service-dialog .service-gallery-thumbs img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;border-radius:0}
.service-gallery-thumbs button[aria-current="true"]{border-color:var(--blue);box-shadow:0 0 0 2px #007fbe16}
.service-gallery-thumbs button>span{position:absolute;right:3px;bottom:3px;background:#082d4cbf;color:#fff;border-radius:3px;font-size:8px;padding:1px 4px}
.service-gallery-thumbs button>.ui-icon{height:20px;width:20px;margin-bottom:8px;fill:#007fbe18}
.service-gallery-hint{display:flex;align-items:center;justify-content:center;gap:6px;font-size:9px;line-height:1.7;color:#8b9fac;margin:10px 0 0}.service-gallery-hint .ui-icon{width:13px;height:13px}
.service-summary{padding:4px 0;min-width:0}.service-overline{display:flex;align-items:center;gap:6px;color:#007f9d;font-size:9px;letter-spacing:1.4px;font-weight:800;line-height:1.6}.service-overline .ui-icon{width:14px;height:14px}
.service-summary>h3{font-size:29px;letter-spacing:-1px;line-height:1.3;margin:13px 0 15px;overflow-wrap:anywhere}
.service-type{display:inline-block;font-size:11px;line-height:1.6;padding:6px 10px;border-radius:6px;background:#edf8fd;color:#0076a2}
.service-summary-facts{margin:20px 0 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px 16px;padding-top:20px;border-top:1px solid #e5eef4}
.service-summary-facts>div{display:flex;align-items:flex-start;gap:8px;min-width:0}.service-summary-facts>div:last-child{grid-column:1/-1}.service-summary-facts>div>.ui-icon{width:16px;height:16px;color:#6c9bb6;margin-top:1px}.service-summary-facts>div>div{min-width:0}
.service-summary-facts dt{font-size:9px;color:#8a9da9;font-weight:500;line-height:1.5}.service-summary-facts dd{font-size:12px;font-weight:700;line-height:1.7;margin:4px 0 0;overflow-wrap:anywhere}
.service-media-total{display:flex;align-items:center;gap:7px;margin:20px 0 18px;font-size:10px;color:#7a91a1}.service-media-total .ui-icon{width:14px;height:14px}.service-media-total span>span{margin:0 5px;color:#c1d5e0}
.service-summary-actions{display:flex;flex-direction:column;gap:9px}.service-summary-actions .btn{width:100%;font-size:11px;padding:12px 16px}.service-summary-actions .light{border:0;background:transparent;padding:8px 16px;color:#78909f;font-size:10px}
.service-story{padding:27px 28px 32px;border-top:1px solid #e5eef4;background:linear-gradient(#f7fbfd,#fff)}
.service-story h3{font-size:23px;letter-spacing:-.6px;margin:10px 0 14px;line-height:1.4}.service-story p{font-size:13px;line-height:1.95;color:#607a8c;margin:0;max-width:900px}

@media(min-width:1450px){.work-body h3{font-size:23px}.work-image{aspect-ratio:1.6}}
@media(max-width:1100px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-body{padding-inline:20px}.work-open{display:none}.service-detail-layout{gap:24px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.service-summary>h3{font-size:25px}}
@media(max-width:800px){.service-detail-layout{grid-template-columns:minmax(0,1fr);gap:25px}.service-summary{padding-top:0}.service-summary>h3{font-size:28px}.service-summary-facts{grid-template-columns:repeat(3,minmax(0,1fr))}.service-summary-facts>div:last-child{grid-column:1/-1}.service-summary-actions{flex-direction:row}.service-summary-actions .btn{flex:1}.service-gallery-stage{max-height:440px;aspect-ratio:4/3}.service-dialog>p{margin-top:14px}.viewer-shell{padding:16px 18px 12px}.viewer-stage{padding-inline:46px}.viewer-arrow{width:34px;height:44px}.viewer-header h2{font-size:15px}.viewer-eyebrow{font-size:8px}.viewer-tools{gap:12px}.viewer-header{gap:14px}}
@media(max-width:750px){.service-grid{grid-template-columns:minmax(0,1fr)}.work-image{height:auto;aspect-ratio:1.6}.work-body{padding:23px 22px 0}.work-body h3{font-size:23px}.work-open{display:inline-flex}.work-body .work-description{font-size:13px}.work-category{font-size:11px}.work-facts dt{font-size:10px}.work-facts dd{font-size:13px}.work-footer{min-height:68px}.work-detail-link{font-size:12px}.work-media-summary{font-size:10px}}
@media(max-width:700px){.portal:has(.client-area-art){grid-template-columns:minmax(0,1fr);gap:30px}.client-area-art>button{border-radius:13px}.client-area-art>button>span{padding:12px 15px;font-size:11px}.float-wa{width:54px;height:54px;padding:13px;right:max(17px,env(safe-area-inset-right));bottom:max(17px,env(safe-area-inset-bottom))}.modal.service-dialog{width:100%;max-width:calc(100vw - 20px);max-height:94vh;max-height:94dvh;border-radius:13px}.service-dialog>.modal-header{padding:13px 18px}.service-dialog>.modal-header h2{font-size:14px}.service-dialog>.modal-header button{width:36px;height:36px}.service-dialog>p{margin-inline:18px}.service-detail-layout{padding:18px;gap:24px}.service-gallery-stage{border-radius:9px}.service-summary>h3{font-size:26px}.service-summary-facts{gap:18px 12px}.service-summary-facts>div{gap:6px}.service-summary-facts dt{font-size:9px}.service-summary-facts dd{font-size:11px}.service-story{padding:25px 18px}.service-story h3{font-size:22px}.service-story p{font-size:12px}.service-summary-actions{flex-direction:column}.viewer-shell{padding:14px 12px max(12px,env(safe-area-inset-bottom))}.viewer-header{padding-bottom:14px;align-items:flex-start}.viewer-header h2{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;max-width:65vw}.viewer-eyebrow{font-size:7px;margin-bottom:6px}.viewer-close{padding:8px;min-width:40px;min-height:40px;border-radius:8px}.viewer-close>span{display:none}.viewer-tools{gap:10px}.viewer-counter{font-size:10px}.viewer-stage{padding:8px 0}.viewer-arrow{top:auto;bottom:12px;transform:none;background:#09263ce8}.viewer-prev{left:8px}.viewer-next{right:8px}.viewer-thumbs button{flex-basis:55px;height:42px}.viewer-caption{font-size:10px}.viewer-help{font-size:9px}.viewer-footer{padding-top:10px}}
@media(max-width:380px){.work-body{padding-inline:18px}.work-image-top,.work-image-bottom{left:12px;right:12px}.work-open{display:none}.work-body h3{font-size:21px}.service-summary-facts{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.service-summary>h3{font-size:23px}}
@media(max-width:750px){.side-nav{scrollbar-width:none}.side-nav::-webkit-scrollbar{display:none}.service-gallery-thumbs button{flex-basis:68px;height:52px}}
.viewer-canvas:has(video) .viewer-arrow{top:50%;bottom:auto;transform:translateY(-50%)}
@media(prefers-reduced-motion:reduce){.work-card,.work-image>img,.client-area-art img,.float-wa{transition:none}.work-card:hover,.work-card:hover .work-image>img,.client-area-art>button:hover img,.float-wa:hover{transform:none}}
