/* Shared interaction polish: quiet motion, clear focus and a premium social dock. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1)}

[data-polish-reveal]{opacity:0;transform:translateY(26px) scale(.988);filter:blur(3px);transition:opacity .72s var(--motion-ease),transform .72s var(--motion-ease),filter .72s var(--motion-ease)}
[data-polish-reveal].is-polish-visible{opacity:1;transform:none;filter:none}
.expertise-card,.support-card,.panel,.step,.article,.footprint-stat,.contact-detail,.need-choice{will-change:transform;transition:transform .38s var(--motion-ease),box-shadow .38s var(--motion-ease),border-color .38s ease}
.expertise-card:hover,.support-card:hover,.panel:hover,.step:hover,.article:hover,.footprint-stat:hover,.contact-detail:hover{transform:translateY(-7px);box-shadow:0 22px 46px rgba(29,45,100,.13)}
.photo-frame img,.case-art img,.services-visual .hotel-film{transition:transform 1s var(--motion-ease),filter .6s ease}
.photo-frame:hover img,.case-art:hover img{transform:scale(1.045);filter:saturate(1.06)}
.nav-links>a,.nav-more>summary{transition:color .24s ease,opacity .24s ease}
.btn,.nav-cta,.text-button{transition:transform .28s var(--motion-ease),box-shadow .28s ease,background-color .28s ease,color .28s ease}
.btn:hover,.nav-cta:hover{box-shadow:0 13px 28px rgba(41,71,231,.2)}

.social-suite{position:fixed;right:22px;bottom:88px;z-index:40;display:flex;flex-direction:column;align-items:flex-end;gap:10px;font-family:'DM Sans',Arial,sans-serif}
.social-suite-panel{display:flex;flex-direction:column;gap:7px;padding:8px;border:1px solid rgba(218,224,242,.95);border-radius:18px;background:rgba(255,255,255,.9);box-shadow:0 20px 48px rgba(17,27,78,.18);backdrop-filter:blur(18px) saturate(1.25);opacity:0;visibility:hidden;transform:translateY(12px) scale(.92);transform-origin:bottom right;transition:opacity .24s ease,visibility .24s ease,transform .32s var(--motion-ease)}
.social-suite[data-open=true] .social-suite-panel{opacity:1;visibility:visible;transform:none}
.social-suite-link{position:relative;display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid #e2e7f3;border-radius:12px;background:#fff;color:#25305d;box-shadow:0 5px 13px rgba(18,31,81,.07);cursor:pointer;transform:translateY(5px);opacity:0;transition:transform .28s var(--motion-ease),opacity .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease}
.social-suite[data-open=true] .social-suite-link{transform:none;opacity:1}
.social-suite[data-open=true] .social-suite-link:nth-child(2){transition-delay:35ms}
.social-suite[data-open=true] .social-suite-link:nth-child(3){transition-delay:70ms}
.social-suite[data-open=true] .social-suite-link:nth-child(4){transition-delay:105ms}
.social-suite[data-open=true] .social-suite-link:nth-child(5){transition-delay:140ms}
.social-suite-link svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.social-suite-link[data-channel=facebook]:hover{color:#1877f2;border-color:#b9d8ff;box-shadow:0 8px 20px rgba(24,119,242,.18)}
.social-suite-link[data-channel=linkedin]:hover{color:#0a66c2;border-color:#b8d7f1;box-shadow:0 8px 20px rgba(10,102,194,.17)}
.social-suite-link[data-channel=instagram]:hover{color:#d62976;border-color:#f0b9d2;box-shadow:0 8px 20px rgba(214,41,118,.17)}
.social-suite-link[data-channel=whatsapp]:hover{color:#128c5e;border-color:#b2e5d0;box-shadow:0 8px 20px rgba(18,140,94,.17)}
.social-suite-link[data-channel=email]:hover{color:#2947e7;border-color:#c4ceff;box-shadow:0 8px 20px rgba(41,71,231,.17)}
.social-suite-label{position:absolute;right:50px;top:50%;padding:7px 10px;border-radius:8px;background:#11183f;color:#fff;font-size:11px;font-weight:600;line-height:1;white-space:nowrap;opacity:0;transform:translate(6px,-50%);pointer-events:none;transition:opacity .2s ease,transform .2s var(--motion-ease)}
.social-suite-link:hover .social-suite-label,.social-suite-link:focus-visible .social-suite-label{opacity:1;transform:translate(0,-50%)}
.social-suite-toggle{display:flex;align-items:center;gap:9px;min-height:46px;padding:0 15px 0 13px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:linear-gradient(135deg,#111a50,#2947e7);color:#fff;box-shadow:0 15px 34px rgba(21,39,98,.3);font:700 12px/1 'DM Sans',Arial,sans-serif;letter-spacing:.01em;cursor:pointer;transition:transform .3s var(--motion-ease),box-shadow .3s ease}
.social-suite-toggle:hover{transform:translateY(-3px);box-shadow:0 20px 38px rgba(21,39,98,.38)}
.social-suite-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .35s var(--motion-ease)}
.social-suite[data-open=true] .social-suite-toggle svg{transform:rotate(45deg)}
.social-suite-toggle:after{content:'';position:absolute;inset:auto 7px -6px;width:32px;height:10px;margin:auto;border-radius:50%;background:rgba(41,71,231,.25);filter:blur(8px);z-index:-1}
.social-suite button:focus-visible{outline:3px solid rgba(91,119,255,.38);outline-offset:3px}

@media(max-width:640px){
  .social-suite{right:13px;bottom:78px}
  .social-suite-toggle{min-height:43px;padding:0 12px;border-radius:14px}
  .social-suite-toggle span{display:none}
  .social-suite-panel{border-radius:16px;padding:7px}
  .social-suite-link{width:38px;height:38px}
  .social-suite-label{display:none}
  [data-polish-reveal]{transform:translateY(18px)}
}

@media(prefers-reduced-motion:reduce){
  [data-polish-reveal]{opacity:1;transform:none;filter:none;transition:none}
  .social-suite-panel,.social-suite-link,.social-suite-toggle,.social-suite-toggle svg{transition:none}
  .expertise-card,.support-card,.panel,.step,.article,.footprint-stat,.contact-detail,.need-choice{will-change:auto}
}

/* Official profile links in the footer. */
.footer-socials{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}.footer-socials a{display:inline-flex;text-decoration:none;align-items:center;min-height:32px;padding:7px 11px;border:1px solid rgba(190,203,255,.22);border-radius:999px;color:#d7def8;font-size:11px;font-weight:700;letter-spacing:.02em;transition:background .22s,border-color .22s,transform .22s}.footer-socials a:hover,.footer-socials a:focus-visible{background:#2947e7;border-color:#6980ff;color:#fff;transform:translateY(-2px)}
