/* Homepage contact block only. No changes to shared site styles. */
#contact.contact-direct{padding-block:64px}
#contact.contact-direct .contact-layout{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);align-items:start;gap:clamp(28px,4vw,52px)}
#contact.contact-direct .contact-copy>.eyebrow{margin-bottom:16px}
#contact.contact-direct .contact-copy>p.contact-intro{margin:18px 0 10px;color:#c0ccd3;line-height:1.65}
#contact.contact-direct .contact-note{margin-top:0;max-width:400px;line-height:1.7}
#contact.contact-direct .contact-hint{margin-top:16px;gap:12px;align-items:flex-start}
#contact.contact-direct .contact-hint p{font-size:.9rem;line-height:1.7;max-width:330px}
#contact.contact-direct .contact-hint svg{width:24px;height:24px;margin-top:2px}
#contact.contact-direct .contact-base{margin-top:16px!important;margin-bottom:4px}
#contact .direct-contact-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-width:0}
#contact .contact-method{min-width:0}
#contact .contact-phone-card{padding:20px;background:#1b2d3a;border:1px solid #526471;border-radius:8px}
#contact .contact-card-label{font-size:.75rem;font-weight:700;line-height:1.4;letter-spacing:.1em;text-transform:uppercase;color:#ffb58a;margin:0 0 8px}
#contact .contact-number{display:flex;align-items:center;min-height:44px;max-width:100%;margin:0 0 14px;color:#fff;font-size:clamp(26px,2.1vw,30px);font-weight:700;line-height:1.2;letter-spacing:-.035em;white-space:nowrap;font-variant-numeric:tabular-nums;user-select:text;text-underline-offset:5px}
#contact .contact-number:hover{text-decoration:underline;text-decoration-thickness:1px}
#contact .contact-card-actions{display:flex;align-items:stretch;gap:8px;min-width:0}
#contact .contact-action{display:flex;width:100%;min-width:0;align-items:center;gap:10px;min-height:52px;padding:12px 14px;border:1px solid #84939d;border-radius:4px;color:#fff;background:transparent;font-size:1rem;font-weight:700;line-height:1.4;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}
#contact .contact-action svg{width:23px;height:23px;flex:0 0 23px}
#contact .contact-action .contact-action-arrow{margin-left:auto;font-size:1.35rem;line-height:1;flex-shrink:0}
#contact .contact-action-primary{background:var(--orange);border-color:var(--orange);color:var(--ink)}
#contact .contact-action-primary:focus-visible{outline-color:#fff}
#contact .contact-copy-button{display:inline-flex;flex-direction:column;gap:3px;align-items:center;justify-content:center;min-width:44px;min-height:52px;padding:6px;border:1px solid #607482;background:transparent;color:#d7e0e6;font-size:.65rem;line-height:1.2;cursor:pointer;border-radius:4px;flex-shrink:0}
#contact .contact-copy-button:hover{background:#ffffff0e;color:#fff;border-color:var(--orange)}
#contact .contact-copy-button svg{width:16px;height:16px}
#contact .contact-copy-button[hidden]{display:none}
#contact .contact-email-row{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;background:#ffffff05;border-radius:6px}
#contact .contact-email-address{display:flex;align-items:center;min-width:0;min-height:44px;color:#e4ebef;font-size:1rem;line-height:1.4;overflow-wrap:anywhere;text-underline-offset:4px}
#contact .contact-email-address:hover{text-decoration:underline}
#contact .contact-email-row .contact-action{width:auto;min-width:156px;flex-shrink:0}
#contact .contact-device-help{grid-column:1/-1;font-size:.8rem;line-height:1.6;color:#b9c7d0;margin:0}
#contact .contact-copy-status{grid-column:1/-1;font-size:.85rem;line-height:1.6;color:#ffd2b7;margin:0;overflow-wrap:anywhere}
@media(max-width:1050px){#contact.contact-direct .contact-layout{grid-template-columns:minmax(0,1fr);gap:26px}#contact.contact-direct .contact-copy{max-width:640px}}
@media(max-width:680px){#contact.contact-direct{padding-block:48px}#contact .direct-contact-options{grid-template-columns:minmax(0,1fr);gap:12px}#contact .contact-phone-card{padding:16px}#contact .contact-card-label{margin-bottom:4px}#contact .contact-number{font-size:clamp(22px,6.5vw,26px);margin-bottom:10px}#contact .contact-action,#contact .contact-copy-button{min-height:50px}#contact .contact-email-row{padding:10px 0;flex-wrap:wrap;gap:8px}#contact .contact-email-row .contact-action{min-width:0;width:100%}#contact .contact-email-address{font-size:1rem}#contact.contact-direct .contact-copy>p.contact-intro{margin-top:16px}}

/* One-shot icon motion. Buttons, labels and phone numbers stay stationary. */
#contact .contact-icon{overflow:visible;transform-origin:center;transform-box:fill-box;pointer-events:none}
#contact .contact-envelope-flap{transform-box:view-box;transform-origin:12px 6px}
#contact .contact-envelope-letter{opacity:0;transform-box:view-box;transform-origin:12px 12px}
#contact .contact-action:is(:focus-visible,.contact-motion-active){background:#253642;border-color:var(--orange);box-shadow:0 5px 14px #0000001f,0 0 0 1px #ff742e24}
#contact .contact-action-primary:is(:focus-visible,.contact-motion-active){background:#ff9256;border-color:#ff9256}
#contact .contact-action:focus-visible{outline:2px solid var(--orange);outline-offset:4px}
#contact .contact-action-primary:focus-visible{outline-color:#fff}
@media(hover:hover) and (pointer:fine){
 #contact .contact-action:hover{background:#253642;border-color:var(--orange);box-shadow:0 5px 14px #0000001f,0 0 0 1px #ff742e24}
 #contact .contact-action-primary:hover{background:#ff9256;border-color:#ff9256}
}
#contact .contact-motion-active .contact-icon-call{animation:nicorhino-call-ring .6s ease-in-out 1}
#contact .contact-motion-active .contact-icon-text{animation:nicorhino-text-send .6s ease-in-out 1}
#contact .contact-motion-active .contact-envelope-flap{animation:nicorhino-envelope-open .65s ease-in-out 1}
#contact .contact-motion-active .contact-envelope-letter{animation:nicorhino-letter-send .65s ease-in-out 1}
@keyframes nicorhino-call-ring{
 0%,36%,46%,82%,100%{transform:rotate(0)}
 9%,55%{transform:rotate(-12deg)}
 24%,70%{transform:rotate(12deg)}
}
@keyframes nicorhino-text-send{
 0%,100%{transform:translate(0,0);opacity:1}
 42%{transform:translate(6px,-5px);opacity:.3}
 60%{transform:translate(6px,-5px);opacity:0}
 61%{transform:translate(-2px,2px);opacity:0}
}
@keyframes nicorhino-envelope-open{
 0%,100%{transform:scaleY(1)}
 25%,65%{transform:scaleY(-.7)}
}
@keyframes nicorhino-letter-send{
 0%,18%{transform:translate(0,0) rotate(0);opacity:0}
 30%{transform:translate(0,-2px) rotate(0);opacity:1}
 52%{transform:translate(3px,-6px) rotate(-10deg);opacity:.8}
 73%{transform:translate(6px,-9px) rotate(-12deg);opacity:0}
 100%{transform:translate(0,0) rotate(0);opacity:0}
}
@media(prefers-reduced-motion:reduce){
 #contact .contact-action{transition:none!important;transform:none!important}
 #contact .contact-icon,#contact .contact-envelope-flap,#contact .contact-envelope-letter{animation:none!important;transform:none!important}
 #contact .contact-envelope-letter{opacity:0!important}
}
