/* Screenshot viewers fit both axes; their close controls remain outside the image. */
.page-main.page-kind-services .site-contact{grid-template-columns:1fr;gap:24px}
.page-main.page-kind-services .site-contact-controls{max-width:none}
.page-main .contact-actions .btn-phone{color:var(--accent);background:transparent;border-color:var(--accent)}
.page-main .contact-actions .btn-phone:hover{color:var(--accent-hover);background:#0062e80d;text-decoration:none}
.page-main .contact-actions .btn-phone:active{background:#0062e81a}
.phone-receiver{transform-origin:11px 12px}
.phone-wave{opacity:0;transform-origin:13px 11px}
#image-dialog,#site-gallery{box-sizing:border-box;width:min(1440px,calc(100% - 48px));max-width:none;max-height:calc(100dvh - 48px);padding:20px;border:1px solid var(--line);border-radius:8px;overflow:hidden}
#image-dialog .dialog-head,#site-gallery .dialog-head{min-height:44px;display:flex;flex-wrap:nowrap;align-items:center;gap:16px;margin:0 0 16px}
#image-dialog .dialog-head h2,#site-gallery .dialog-head h2{font-size:19px;line-height:1.25;margin:0;min-width:0;flex:1;font-weight:400}
#image-dialog .dialog-head .close,#site-gallery .dialog-head .close{width:44px;height:44px;flex:none}
#image-dialog .dialog-viewport{max-height:none;overflow:hidden;overscroll-behavior:contain;border-radius:4px}
#image-dialog #dialog-crop{position:static;display:flex;align-items:center;justify-content:center;aspect-ratio:auto;border-radius:4px;clip-path:none;overflow:hidden}
#image-dialog #dialog-crop img,#site-gallery .site-gallery-image{position:static;display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 152px);margin:0 auto;object-fit:contain;border-radius:4px;transform:none}
#image-dialog #dialog-crop img,#site-gallery .site-gallery-image{width:min(100%,calc((100dvh - 152px) * var(--viewer-ratio,1.7)));aspect-ratio:var(--viewer-ratio,1.7)}
.viewer-status{margin:0;color:var(--muted);font-size:15px;line-height:1.5}
#image-dialog #dialog-crop img[hidden],#site-gallery .site-gallery-image[hidden]{display:none}
/* Treat each icon/title pair as one identity, including keyboard focus. */
.page-main :is(.page-app-card-head,.page-register-heading,.page-app-document-name) img{transition:transform 240ms cubic-bezier(.22,.61,.36,1)}
@media(hover:hover){
 .page-main :is(.page-app-card-head,.page-register-heading,.page-app-document-name):has(a:hover) img{transform:translateY(-2px) scale(1.025)}
}
.page-main :is(.page-app-card-head,.page-register-heading,.page-app-document-name):has(a:focus-visible) img{transform:translateY(-2px) scale(1.025)}
.page-main :is(.page-app-card-head,.page-register-heading,.page-app-document-name):has(a:active) img{transform:scale(.96);transition-duration:120ms}
.page-main .page-cookie-settings{display:flex;align-items:center;flex-wrap:wrap;gap:0 24px;scroll-margin-top:16px;margin:24px 0 0;padding:12px 16px;border:1px solid var(--line);border-radius:4px}
.page-main .page-cookie-settings>p{margin:0;font-size:15px;line-height:1.5;color:var(--muted)}
.page-cookie-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin-left:auto}
.page-cookie-actions button{min-height:40px;padding:8px 0;border:0;border-radius:4px;background:transparent;color:var(--ink);font:inherit;font-size:14px;cursor:pointer;transition:color 180ms ease,background-color 180ms ease,border-color 180ms ease}
.page-cookie-actions [data-privacy-settings]{color:var(--muted);text-decoration:underline;text-underline-offset:4px}
.page-cookie-actions [data-privacy-revoke]{padding-inline:12px;border:1px solid var(--line)}
.page-cookie-actions button:hover{color:var(--accent)}
.page-cookie-actions [data-privacy-revoke]:hover{border-color:var(--accent);background:var(--stage)}
.page-cookie-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.page-main .page-cookie-settings .page-cookie-status{flex-basis:100%;color:var(--ink);font-size:14px}
.page-main .page-cookie-status:not(:empty){margin-top:8px}
@media(max-width:760px){#image-dialog,#site-gallery{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:12px}#image-dialog .dialog-head,#site-gallery .dialog-head{gap:10px;margin-bottom:12px}#image-dialog .dialog-head h2,#site-gallery .dialog-head h2{font-size:17px}#image-dialog #dialog-crop img,#site-gallery .site-gallery-image{max-height:calc(100dvh - 112px)}.page-cookie-actions{margin-left:0}.page-main .page-cookie-settings{gap:8px 24px}}
@media(prefers-reduced-motion:reduce){.page-main :is(.page-app-card-head,.page-register-heading,.page-app-document-name) img{transition:none;transform:none!important}.page-main :is(.page-app-card-head,.page-register-heading,.page-app-document-name) :is(h2,h3) a{transition:none}}
@media(max-width:760px){#image-dialog #dialog-crop img,#site-gallery .site-gallery-image{width:min(100%,calc((100dvh - 112px) * var(--viewer-ratio,1.7)))}}
