/* Direct contact modal and persistent contact details */
body.contact-modal-open{overflow:hidden}
.contact-modal{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:28px;perspective:1400px;pointer-events:none;visibility:hidden}
.contact-modal-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 68% 42%,rgba(15,112,119,.18),transparent 34%),rgba(1,8,11,.82);backdrop-filter:blur(18px) saturate(118%);opacity:0;transition:opacity .45s ease}
.contact-modal-card{position:relative;z-index:1;width:min(940px,100%);min-height:510px;display:grid;grid-template-columns:.88fr 1.12fr;border:1px solid rgba(151,220,213,.2);border-radius:34px;background:radial-gradient(circle at 92% 12%,rgba(52,191,186,.14),transparent 30%),linear-gradient(142deg,rgba(9,39,46,.97),rgba(2,14,19,.985) 68%);box-shadow:0 55px 130px rgba(0,0,0,.62),0 18px 42px rgba(0,0,0,.36),inset 0 1px 0 rgba(213,255,250,.08);opacity:0;transform:translateY(28px) rotateX(4deg) scale(.97);transition:opacity .45s ease,transform .7s cubic-bezier(.16,.8,.22,1);overflow:hidden;isolation:isolate}
.contact-modal-card:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(126,211,203,.026) 1px,transparent 1px),linear-gradient(90deg,rgba(126,211,203,.026) 1px,transparent 1px);background-size:46px 46px;mask-image:radial-gradient(circle at 24% 48%,black,transparent 62%)}
.contact-modal-card:after{content:"";position:absolute;z-index:-1;width:440px;height:440px;right:-190px;bottom:-275px;border:1px solid rgba(96,222,210,.17);border-radius:50%;box-shadow:0 0 80px rgba(27,198,190,.12),inset 0 0 80px rgba(27,198,190,.04)}
.contact-modal.is-open{pointer-events:auto;visibility:visible}.contact-modal.is-open .contact-modal-backdrop{opacity:1}.contact-modal.is-open .contact-modal-card{opacity:1;transform:none}
.contact-modal-close{position:absolute;z-index:6;top:24px;right:24px;width:44px;height:44px;border:1px solid rgba(166,224,218,.2);border-radius:50%;background:linear-gradient(145deg,rgba(26,66,70,.66),rgba(1,12,16,.74));box-shadow:0 9px 24px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.07);cursor:pointer;transition:transform .25s,border-color .25s,background .25s}.contact-modal-close span{position:absolute;left:12px;top:21px;width:18px;height:1px;background:#c2d9d6}.contact-modal-close span:first-child{transform:rotate(45deg)}.contact-modal-close span:last-child{transform:rotate(-45deg)}.contact-modal-close:hover{transform:rotate(8deg) scale(1.05);border-color:#60d7cc;background:rgba(17,69,72,.8)}
.contact-modal-orbit{position:absolute;z-index:0;left:-116px;top:64px;width:430px;height:430px;border:1px solid rgba(89,205,196,.12);border-radius:50%;transform:rotate(-22deg);animation:contactOrbit 34s linear infinite;pointer-events:none}.contact-modal-orbit:before,.contact-modal-orbit:after{content:"";position:absolute;border:1px solid rgba(89,205,196,.075);border-radius:50%}.contact-modal-orbit:before{inset:42px}.contact-modal-orbit:after{inset:104px}.contact-modal-orbit i{position:absolute;width:8px;height:8px;border-radius:50%;background:#65d9cf;box-shadow:0 0 18px #35d6cb;animation:contactNode 2.8s ease-in-out infinite}.contact-modal-orbit i:nth-child(1){top:39px;right:80px}.contact-modal-orbit i:nth-child(2){right:-4px;top:205px;width:5px;height:5px;animation-delay:.8s}.contact-modal-orbit i:nth-child(3){left:74px;bottom:30px;width:4px;height:4px;animation-delay:1.6s}
.contact-modal-intro{position:relative;z-index:2;padding:62px 28px 56px 58px;display:flex;flex-direction:column;justify-content:center}.contact-modal-intro:after{content:"";position:absolute;right:-1px;top:13%;width:1px;height:74%;background:linear-gradient(transparent,rgba(145,225,218,.23),transparent)}.contact-modal-intro .eyebrow{margin-bottom:58px}.contact-modal-index{font-size:7px;letter-spacing:.22em;color:#547573}.contact-modal-intro h2{margin:18px 0 25px;font-family:var(--display);font-size:55px;line-height:.94;font-weight:400;letter-spacing:-.047em;text-shadow:0 14px 34px rgba(0,0,0,.34)}.contact-modal-intro>p:last-child{max-width:340px;font-size:12px;line-height:1.85;color:#8aa09e}
.contact-modal-options{position:relative;z-index:3;padding:78px 54px 46px 47px;display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:14px}.contact-modal-channel{margin:0 0 5px;padding-left:13px;font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:#6c8885}.contact-modal-channel span{display:inline-block;width:22px;height:1px;margin:0 9px 3px 0;background:#55d5c9}.contact-option{position:relative;width:100%;min-height:104px;display:grid;grid-template-columns:54px minmax(0,1fr);align-items:center;gap:18px;padding:21px 58px 21px 23px;border:1px solid rgba(157,231,224,.17);border-radius:20px;background:linear-gradient(135deg,rgba(18,58,63,.78),rgba(5,25,30,.88));box-shadow:0 18px 38px rgba(0,0,0,.26),inset 0 1px 0 rgba(220,255,251,.06);backdrop-filter:blur(10px);overflow:hidden;transform:translateZ(0);transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .25s,background .25s,box-shadow .35s}.contact-option:before{content:"";position:absolute;inset:-70% auto -70% -32%;width:24%;background:linear-gradient(90deg,transparent,rgba(143,255,246,.15),transparent);transform:skewX(-18deg);animation:contactSweep 5.8s ease-in-out infinite;pointer-events:none}.contact-option:after{content:"↗";position:absolute;right:23px;top:50%;font-size:11px;color:#58d3c7;opacity:.62;transform:translateY(-50%);transition:transform .25s,opacity .25s}.contact-option-whatsapp{background:linear-gradient(135deg,rgba(12,69,67,.77),rgba(5,28,31,.91))}.contact-option-whatsapp:before{animation-delay:2.4s}.contact-option:hover{transform:translateY(-4px);border-color:rgba(90,219,206,.52);background:linear-gradient(135deg,rgba(20,78,78,.9),rgba(6,35,40,.94));box-shadow:0 27px 52px rgba(0,0,0,.37),0 0 32px rgba(44,207,197,.09)}.contact-option:hover:after{opacity:1;transform:translate(3px,-50%)}.contact-option-icon{position:relative;width:52px;height:52px;border:1px solid rgba(94,216,205,.3);border-radius:16px;display:grid;place-items:center;font-family:var(--display);font-size:21px;color:#74e1d6;background:radial-gradient(circle at 32% 25%,rgba(108,231,220,.16),transparent 55%),rgba(0,12,16,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 10px 24px rgba(0,0,0,.2);animation:contactIconGlow 3.2s ease-in-out infinite}.contact-option-whatsapp .contact-option-icon{border-radius:50%;animation-delay:1.1s}.contact-option>span:last-child{min-width:0}.contact-option small,.contact-option b,.contact-option em{display:block}.contact-option small{text-transform:uppercase;font-size:7px;letter-spacing:.2em;color:#718d8a}.contact-option b{margin-top:4px;font-family:var(--display);font-size:17px;font-weight:400;overflow-wrap:anywhere}.contact-option em{margin-top:8px;font-style:normal;text-transform:uppercase;font-size:7px;letter-spacing:.15em;color:#69ddd2}.contact-modal-note{margin:12px 0 0;font-size:7px;letter-spacing:.15em;text-transform:uppercase;color:#587674;text-align:center}
.contact-modal.is-open .contact-option{animation:contactCardIn .62s .15s cubic-bezier(.18,.8,.24,1) both}.contact-modal.is-open .contact-option-whatsapp{animation-delay:.27s}
@keyframes contactCardIn{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes contactSweep{0%,35%{left:-32%;opacity:0}48%{opacity:1}68%,100%{left:125%;opacity:0}}
@keyframes contactIconGlow{0%,100%{box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 10px 24px rgba(0,0,0,.2),0 0 0 rgba(92,222,210,0)}50%{box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 10px 24px rgba(0,0,0,.2),0 0 22px rgba(92,222,210,.16)}}
@keyframes contactOrbit{to{transform:rotate(338deg)}}@keyframes contactNode{0%,100%{opacity:.55;transform:scale(.75)}50%{opacity:1;transform:scale(1.28)}}
.direct-contact{margin:0 0 30px;border-top:1px solid rgba(191,224,219,.1)}.direct-contact a{display:grid;grid-template-columns:78px 1fr auto;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid rgba(191,224,219,.1);transition:padding .25s,color .25s}.direct-contact a:hover{padding-left:7px;color:#75ded3}.direct-contact span{text-transform:uppercase;font-size:7px;letter-spacing:.16em;color:#64807e}.direct-contact b{font-size:11px;font-weight:500;overflow-wrap:anywhere}.direct-contact i{font-style:normal;color:#55d4c7}
.footer-top>p a{color:#93aaa7;transition:color .2s}.footer-top>p a:hover{color:#70d9cf}
@media(max-width:980px) and (min-width:761px){.contact-modal{padding:20px}.contact-modal-card{grid-template-columns:.82fr 1.18fr}.contact-modal-intro{padding:58px 22px 52px 40px}.contact-modal-intro h2{font-size:48px}.contact-modal-options{padding:74px 28px 44px}.contact-option{padding-right:48px}.contact-option b{font-size:15px}}
@media(max-width:760px){.contact-modal{padding:14px;align-items:center}.contact-modal-card{grid-template-columns:1fr;min-height:0;max-height:calc(100vh - 28px);border-radius:25px;overflow-y:auto;scrollbar-width:none}.contact-modal-card::-webkit-scrollbar{display:none}.contact-modal-card:after{width:280px;height:280px;right:-165px;bottom:-170px}.contact-modal-close{top:16px;right:16px;width:40px;height:40px}.contact-modal-close span{left:10px;top:19px}.contact-modal-orbit{left:-204px;top:-75px}.contact-modal-intro{padding:42px 24px 24px;display:block}.contact-modal-intro:after{right:8%;left:8%;top:auto;bottom:0;width:auto;height:1px;background:linear-gradient(90deg,transparent,rgba(145,225,218,.22),transparent)}.contact-modal-intro .eyebrow{margin-bottom:26px}.contact-modal-intro h2{font-size:40px}.contact-modal-intro>p:last-child{line-height:1.7}.contact-modal-options{padding:20px 20px 28px;gap:10px}.contact-modal-channel{margin-bottom:5px}.contact-option{min-height:0;padding:15px 48px 15px 15px;grid-template-columns:42px minmax(0,1fr);border-radius:16px}.contact-option:hover{transform:translateY(-3px)}.contact-option-icon{width:42px;height:42px;border-radius:13px}.contact-option b{font-size:15px}.contact-option em{margin-top:6px}.contact-modal-note{margin-top:8px}.direct-contact a{grid-template-columns:64px 1fr auto}.direct-contact b{font-size:10px}}
@media(prefers-reduced-motion:reduce){.contact-modal-backdrop,.contact-modal-card,.contact-option{transition:none}.contact-modal-orbit,.contact-modal-orbit i,.contact-option,.contact-option:before,.contact-option-icon{animation:none!important}}
