/* Pink Swan: restrained interaction with original media and button corners. */
:root{--ps-motion-ease:cubic-bezier(.2,.75,.25,1)}
body :is(.hero,.page-hero,.compare-stage,.preview-image,.collection-image,.portfolio-tile,.gallery-item,.ps-service-photo,.ps-project-hero,.ps-related-image,.ps-representative-photo,.ps-about-material figure){overflow:hidden}
body :is(button,.quote-link,.ps-white-button,.circle-link,.ps-round-link,.mobile-contact>a){transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s var(--ps-motion-ease)}
body :is(.ps-filter-bar button,.ps-filter-bar button:first-child){padding:12px 16px}
body .ps-filter-bar button[aria-pressed="true"]{background:var(--red);color:var(--white)}
body .ps-filter-bar{gap:8px}
body :is(.preview-image,.collection-image,.portfolio-tile,.gallery-item,.ps-related-image,.ps-representative-photo,.ps-service-photo,.ps-project-hero,.ps-about-material figure)>img{transition:transform .7s var(--ps-motion-ease),filter .35s ease;transform-origin:center}
body .ps-representative-photo>img{transform-origin:50% 38%}
body .ps-representative-photo{transition:box-shadow .35s ease}
body .reveal-ready{transform:translateY(20px);transition:opacity .65s var(--ps-motion-ease),transform .65s var(--ps-motion-ease);transition-delay:var(--ps-reveal-delay,0ms)}
body .reveal-ready.in-view{transform:translateY(0);opacity:1}
body .gallery-dialog[open]{animation:ps-surface-in .3s var(--ps-motion-ease)}
body .gallery-dialog[open] .gallery-view>img{animation:ps-image-in .35s var(--ps-motion-ease);width:auto;height:auto;max-width:calc(100% - 136px);max-height:100%;object-fit:contain}
body .mobile-menu[open]{animation:ps-menu-in .3s var(--ps-motion-ease)}
body .faq-list details[open]>p{animation:ps-content-in .35s var(--ps-motion-ease)}
body .faq-list summary{transition:color .2s ease}
body .faq-list details[open] summary{color:var(--red)}
body .quote-link svg{transition:transform .2s var(--ps-motion-ease)}
body :is(.text-link,.hero-secondary,.circle-link,.ps-round-link) svg{transition:transform .2s var(--ps-motion-ease)}
body :is(.preview-image,.collection-image,.portfolio-tile,.gallery-item,.ps-related-image):focus-visible>img{transform:scale(1.045)}
body :is(button,.quote-link,.ps-white-button,.circle-link,.ps-round-link):focus-visible{outline:3px solid var(--red);outline-offset:5px}
@media(hover:hover) and (pointer:fine){
 body :is(.preview-image,.collection-image,.portfolio-tile,.gallery-item,.ps-related-image,.ps-service-photo,.ps-project-hero,.ps-about-material figure):hover>img{transform:scale(1.055)}
 body .ps-representative-photo:hover>img{transform:scale(1.075)}
 body .ps-representative-photo:hover{box-shadow:0 18px 40px #1b1b1e16}
 body :is(.quote-link,.ps-white-button,.ps-form-submit):hover:not(:disabled){transform:translateY(-3px);box-shadow:0 9px 22px #1b1b1e20}
 body :is(.quote-link,.ps-form-submit):hover:not(:disabled){background-color:var(--red-hover,#a90200);border-color:var(--red-hover,#a90200)}
 body :is(.circle-link,.ps-round-link):hover{transform:translateY(-2px);box-shadow:0 6px 15px #1b1b1e12}
 body :is(.text-link,.hero-secondary,.circle-link):hover svg{transform:translate(3px,-2px)}
 body .ps-filter-bar button:hover{box-shadow:0 4px 12px #1b1b1e0e}
 body .ps-filter-bar button:not([aria-pressed="true"]):hover{background:var(--stone);color:var(--charcoal)}
 body .faq-list summary:hover{color:var(--red)}
 body :is(.icon-button,.menu-toggle):hover{background:#65656812}
 body .gallery-prev:hover{transform:translateX(-3px)}
 body .gallery-next:hover{transform:translateX(3px)}
}
body :is(.quote-link,.ps-white-button,.ps-form-submit):active:not(:disabled){transform:translateY(1px) scale(.985)}
body :is(.circle-link,.ps-round-link,.gallery-prev,.gallery-next,.icon-button,.film-control,.menu-toggle):active:not(:disabled){transform:scale(.95)}
@media(max-width:767px){
 body .gallery-dialog[open] .gallery-view>img{max-width:100%;max-height:100%}
 body :is(.ps-filter-bar button,.ps-filter-bar button:first-child){padding:10px 13px}
}
@keyframes ps-surface-in{from{opacity:0;transform:scale(.975)}to{opacity:1;transform:scale(1)}}
@keyframes ps-image-in{from{opacity:.35;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
@keyframes ps-menu-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}
@keyframes ps-content-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){
 body *,body *::before,body *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 body .reveal-ready{opacity:1!important;transform:none!important}
 body :is(.preview-image,.collection-image,.portfolio-tile,.gallery-item,.ps-related-image,.ps-representative-photo,.ps-service-photo,.ps-project-hero,.ps-about-material figure)>img{transform:none!important}
 body :is(button,.quote-link,.ps-white-button,.circle-link,.ps-round-link,.hero-story){transform:none!important}
}
@media print{body .reveal-ready{opacity:1;transform:none}}

/* Readable, wrapping legal links on public and staff pages. */
.ps-legal-links{display:flex;align-items:center;gap:10px 24px;flex-wrap:wrap;line-height:1.6}
.ps-legal-links a,.ps-legal-links button{display:inline-flex;align-items:center;min-height:28px}
.footer-bottom{flex-wrap:wrap;row-gap:15px}.footer-bottom .ps-legal-links{font-size:11px;letter-spacing:0}
.ps-company-particulars{padding:0 0 25px;max-width:1000px}.ps-company-particulars p{font-size:11px;line-height:1.8;color:#bdbdbe;margin:0}.ps-company-particulars p+p{margin-top:4px}
.ps-staff-footer .ps-legal-links{justify-content:center;margin-bottom:14px}.ps-staff-footer>p{font-size:12px;line-height:1.8;margin:3px 0}
@media(max-width:767px){.footer-bottom .ps-legal-links{gap:8px 20px;margin-top:12px}.ps-company-particulars{padding-bottom:20px}.ps-staff-footer .ps-legal-links{gap:8px 18px}}
