/* Existing Drupal contacts block, re-skinned; no new text and no duplicate card. */
/* Footer is a sibling of main, but shares the same world canvas and palette. */
.apx-contact-scene{
  position:relative;isolation:isolate;overflow:hidden;
  padding:clamp(48px,5.2vw,84px) 0 0;
  background:transparent;
  animation:none;
}
.apx-contact-scene__aurora{position:absolute;pointer-events:none;width:60vw;height:50vw;bottom:-35%;right:-10%;border-radius:50%;background:radial-gradient(ellipse,#6fe0d026,#7a5ff20d 50%,transparent 70%);filter:blur(22px);animation:apxBreathe 11s ease-in-out infinite alternate}
@keyframes apxBreathe{to{transform:translate(-10%,-8%) scale(1.1)}}
.apx-contact-scene__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,.9fr);gap:clamp(25px,6vw,100px);align-items:center;position:relative}
.apx-contact-scene__intro h2{font-size:clamp(38px,5.5vw,74px);letter-spacing:-.06em;line-height:1.09;max-width:720px;margin:18px 0}
.apx-contact-scene__intro p:not(.apx-eyebrow){color:#c9d8e5;max-width:500px;line-height:1.75}
.apx-contact-scene__line{width:85px;height:3px;border-radius:3px;background:linear-gradient(90deg,#76f7d9,#ffe26c);margin-top:28px;box-shadow:0 0 22px #6defd590}
.apx-contact-scene__card{position:relative;overflow:hidden;padding:clamp(22px,3vw,42px);border-radius:28px;border:1px solid #87cbda77;background:linear-gradient(145deg,#1c3148e8,#26304fe8);box-shadow:0 25px 80px #0008,inset 0 1px #ffffff1d;
  transform:perspective(1250px) rotateX(var(--apx-tilt-x,0deg)) rotateY(var(--apx-tilt-y,0deg));
  transform-origin:center;transition:transform .75s cubic-bezier(.2,.8,.2,1),border-color .7s ease,box-shadow .8s ease;
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
  .apx-site .apx-contact-scene__card:hover{box-shadow:0 31px 86px #0009,0 0 28px #83f7dc18,inset 0 1px #ffffff32;border-color:#a8e6ce91}
}
/* The user's SVG mark is a very small, decorative component accent only. */
.apx-contact-scene__mark{
  position:absolute;top:18px;right:19px;width:40px;height:40px;
  z-index:2;pointer-events:none;opacity:.95;border-radius:50%;
  border:1px solid #f36c756e;
  background:#101d31 url("../assets/aplike-mark.svg") center / 75% 75% no-repeat;
  box-shadow:0 0 0 4px #ef516209,0 0 15px #ef516137,inset 0 1px #f7dada2b;
  animation:apxContactMarkBreath 6s ease-in-out infinite;
}
@keyframes apxContactMarkBreath{50%{opacity:1;box-shadow:0 0 0 6px #ef51620f,0 0 23px #ef51617a,inset 0 1px #f7dada39}}
@media(max-width:600px){
  .apx-contact-scene__mark{top:13px;right:15px;width:30px;height:30px}
  .apx-contact-scene__card .contacts-card{padding-top:11px}
}
@media(hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){
  .apx-site .apx-contact-scene__card{transform:none}
}
@media(prefers-reduced-motion:reduce){.apx-contact-scene__mark{animation:none}}

.apx-contact-scene__card::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(112deg,transparent 28%,#fff2 48%,transparent 65%);background-size:240% 100%;animation:apxShineBand 11s linear infinite}
.apx-contact-scene__card .contacts-card{display:grid;gap:14px;justify-items:center;text-align:center;position:relative;z-index:1}
.apx-contact-scene__card .contacts-title{font-size:clamp(26px,2.8vw,38px);font-weight:820;line-height:1.15;letter-spacing:-.035em;color:#fff}
.apx-contact-scene__card .contacts-subtitle{margin:0 0 6px;color:#cde1ed;font-size:15px}
.apx-contact-scene__card .subtitle-mobile{display:none}
.apx-contact-scene__card .messengers-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;margin:6px 0 12px}
.apx-contact-scene__card .contact-btn{
 position:relative;display:inline-flex;flex-flow:row nowrap;align-items:center;justify-content:center;gap:9px;
 min-width:0;min-height:57px;padding:11px 12px;border-radius:15px;
 border:1px solid #88afca77;text-decoration:none;color:#f1f7ff;
 font-size:clamp(12px,1vw,14px);font-weight:770;white-space:nowrap;
 background:linear-gradient(150deg,#2b4561,#1f3451);
 box-shadow:inset 0 1px #ffffff20;translate:0 0;
 /* Canonical messenger transition: the motion layer must not override it. */
 transition:transform .8s var(--apx-silk),filter .8s ease,box-shadow .8s ease,border-color .8s ease,background .8s ease;
}
.apx-contact-scene__card .contact-btn:hover{transform:scale(1.012);border-color:#7df8d9;box-shadow:0 12px 33px #0006,0 0 25px #68f8df31;background:#345771}
.apx-contact-scene__card .contact-btn::before{content:"";display:block;position:static;width:25px;height:25px;flex:none;background-size:contain;background-repeat:no-repeat;background-position:center}
.apx-contact-scene__card .btn-max::before{background-image:url("../assets/icon-max.svg")}
.apx-contact-scene__card .btn-telegram::before{background-image:url("../assets/icon-telegram.svg")}
.apx-contact-scene__card .btn-whatsapp::before{background-image:url("../assets/icon-whatsapp.svg")}
.apx-contact-scene__card .phone-block{margin:7px 0 2px}
.apx-contact-scene__card .phone-label{color:#c6d5e4;font-size:14px;font-weight:600}
.apx-contact-scene__card .phone-block p{margin:5px 0}
.apx-contact-scene__card .phone-number{font-weight:850;letter-spacing:-.045em;font-size:clamp(24px,3vw,38px);color:#ffe17b;text-decoration:none;white-space:nowrap}
.apx-contact-scene__card .phone-number:hover{color:#fff;text-shadow:0 0 30px #ffe37570}
.apx-contact-scene__card .work-hours{font-size:13px;color:#d0deec}
.apx-contact-scene__card .contacts-card>p:has(a[href="/contact"]){margin:1px 0}
.apx-contact-scene__card .contacts-card>p:has(a[href="/contact"]) a{color:#88ffe4;font-weight:700}
.apx-contact-scene__card .text-align-center{max-width:480px;margin:8px auto 0;padding:17px 0 0;border-top:1px solid #93b9d94c;color:#cadbe7;text-align:center;font-size:13px;line-height:1.7}
.apx-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #ffffff20;padding-block:24px;margin-top:clamp(32px,4vw,55px);font-size:12px;color:#abbbd0}
.apx-bottom__brand{font-weight:850;letter-spacing:.1em;color:#ff414e;text-decoration:none}
.apx-bottom a:last-child{color:#b6fbe6}
@media(max-width:850px){.apx-contact-scene__grid{grid-template-columns:1fr}.apx-contact-scene__intro h2{max-width:650px}.apx-contact-scene__card{max-width:590px;width:100%;justify-self:center}}
@media(max-width:400px){.apx-contact-scene__card{padding:17px}.apx-contact-scene__card .messengers-grid{gap:6px}.apx-contact-scene__card .contact-btn{min-height:55px;padding:10px 5px;gap:5px;font-size:11px}.apx-contact-scene__card .phone-number{font-size:24px}}

/* Fallback shown only when the Drupal contacts region is empty. */
.apx-contact-scene__card .apx-contact-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;min-height:280px;text-align:center;padding:26px;border:1px solid #7fe0d85c;border-radius:23px;background:linear-gradient(140deg,#233451,#262546);box-shadow:0 15px 40px #0004}
.apx-contact-fallback__eyebrow{color:#8bf2e0;font-size:11px;font-weight:800;letter-spacing:.19em}
.apx-contact-fallback h3{font-size:clamp(24px,2vw,31px);font-weight:850;color:#ffe584;margin:0}
.apx-contact-fallback p{color:#e1e9f6;line-height:1.65;max-width:36ch;margin:0}
.apx-contact-fallback__button{display:inline-flex;align-items:center;gap:12px;padding:13px 20px;color:#072326;background:#ffe16b;border-radius:999px;text-decoration:none;font-weight:830;transition:transform .8s cubic-bezier(.22,.8,.22,1),filter .8s ease}
.apx-contact-fallback__button:hover{transform:scale(1.012);filter:brightness(1.07)}
@media(prefers-reduced-motion:reduce){.apx-contact-scene__card .contact-btn:hover,.apx-contact-fallback__button:hover{transform:none}}

/* Inline messenger marks are stable with Drupal CSS aggregation. */
.apx-site .apx-contact-scene__card .contact-btn:has(> .apx-messenger-inline-icon)::before{content:none;background-image:none}
 .apx-site .apx-contact-scene__card .contact-btn>.apx-messenger-inline-icon{
  position:relative;top:auto;left:auto;transform:none;flex:none;
  width:25px;height:25px;pointer-events:none;display:grid;place-items:center;
}
.apx-site .apx-contact-scene__card .contact-btn>.apx-messenger-inline-icon svg{display:block;width:100%;height:100%}


/* Contact schedule and remote-work rich text; canonical component ownership. */
/* 7. Schedule and remote-work message: no red hues. */
.apx-site .apx-contact-scene__card .work-hours{font-weight:680;line-height:1.7;color:#b8e6e8;background-image:linear-gradient(90deg,#a7f9df 0%,#ffe494 47%,#c6b6ff 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 14px #8be9d119}
.apx-site .apx-contact-scene__card .work-hours :is(strong,b){color:#ffe597;-webkit-text-fill-color:#ffe597}
.apx-site .apx-contact-scene__card .work-hours :is(em,i){color:#bdaaff;-webkit-text-fill-color:#bdaaff}
.apx-site .apx-contact-scene__card .work-hours-time{color:#ffe18e;-webkit-text-fill-color:#ffe18e;font-weight:850}
.apx-site .apx-contact-scene__card .work-hours-text{color:#83eed5;-webkit-text-fill-color:#83eed5}
.apx-site .apx-contact-scene__card .work-hours-separator{color:#c6b1ff;-webkit-text-fill-color:#c6b1ff}
.apx-site .apx-contact-scene__card p.text-align-center{border-top:1px solid #92e7d555;border-radius:14px;background:linear-gradient(120deg,#59f1cf10,#c5a7ff11);padding:15px 16px}
.apx-site .apx-contact-scene__card p.text-align-center em:first-child,.apx-site .apx-contact-scene__card p.text-align-center em strong{color:#86f0d7;font-style:normal;text-shadow:0 0 10px #76e8d625}
.apx-site .apx-contact-scene__card p.text-align-center em:last-child{color:#cdbaff;font-style:normal}
.apx-site .apx-contact-scene__card p.text-align-center strong{color:#ffe18e}

/* Footer microcopy belongs to the contact/footer component, not global motion. */
.apx-site .apx-contact-scene .apx-footer-microcopy{color:#ffe18a;letter-spacing:.12em;font-weight:750;font-size:11px;line-height:1.75;margin-top:22px}
