/* Contact page interaction and visual polish. */
body.sx-contact-page .sx-group:last-child .sx-drop { display: none !important; }
body.sx-contact-page .sx-group:last-child > a::after { display: none !important; }

.hero { --contact-x: 72%; --contact-y: 30%; }
.hero::before {
  background-image:
    radial-gradient(circle at var(--contact-x) var(--contact-y), rgba(255,72,72,.20), transparent 18%),
    repeating-linear-gradient(125deg, transparent 0 92px, rgba(255,255,255,.035) 93px 94px) !important;
  background-size: auto !important;
  animation: contactGridDrift 16s ease-in-out infinite alternate;
  transition: background-position .25s ease-out;
}
.hero-card { position: relative; overflow: hidden; transition: transform .4s cubic-bezier(.22,1,.36,1), border-color .35s, box-shadow .35s; }
.hero-card::before { content:""; position:absolute; inset:-60% -90%; background:linear-gradient(110deg,transparent 42%,rgba(255,255,255,.18) 50%,transparent 58%); transform:translateX(-45%); transition:transform .8s ease; pointer-events:none; }
.hero-card:hover { transform: translateY(-8px) rotateX(1deg); border-color:rgba(255,255,255,.32); box-shadow:0 28px 65px rgba(0,0,0,.25); }
.hero-card:hover::before { transform:translateX(45%); }

.category-nav { box-shadow:0 10px 30px rgba(18,18,18,.06); }
.category-scroll { gap:10px; padding:12px 0; }
.category-scroll a { padding:10px 24px; border:1px solid rgba(26,26,26,.11); border-radius:999px; background:#fff; transition:color .3s,background .3s,border-color .3s,transform .3s,box-shadow .3s; }
.category-scroll a::after { display:none; }
.category-scroll a:hover { transform:translateY(-2px); border-color:rgba(193,42,42,.35); box-shadow:0 8px 22px rgba(0,0,0,.08); }
.category-scroll a.active { color:#fff; background:var(--red); border-color:var(--red); box-shadow:0 9px 24px rgba(193,42,42,.24); }

.overview-grid { perspective:1200px; }
.overview-card { position:relative; isolation:isolate; overflow:hidden; transform-style:preserve-3d; }
.overview-card::before { content:""; position:absolute; z-index:-1; width:180px; height:180px; right:-95px; bottom:-105px; border-radius:50%; background:radial-gradient(circle,rgba(193,42,42,.16),transparent 70%); transition:transform .55s cubic-bezier(.22,1,.36,1); }
.overview-card::after { content:"→"; position:absolute; right:24px; top:20px; color:rgba(193,42,42,.22); font-size:28px; transition:transform .35s,color .35s; }
.overview-card:hover { transform:translateY(-10px) rotateX(2deg); }
.overview-card:hover::before { transform:scale(1.65); }
.overview-card:hover::after { color:var(--red); transform:translateX(5px); }
.overview-card h3 { padding-top:18px; }

.simple-form { position:relative; overflow:hidden; }
.simple-form::before { content:"Project details"; display:block; margin-bottom:24px; color:var(--ink); font-size:clamp(1.5rem,2.5vw,2.25rem); font-weight:900; letter-spacing:-.04em; }
.form-field { transition:transform .3s ease; }
.form-field:focus-within { transform:translateY(-3px); }
.form-field input,.form-field textarea,.form-field select { transition:border-color .25s,box-shadow .25s,background .25s; }
.form-field input:focus,.form-field textarea:focus,.form-field select:focus { background:#fffdfa; box-shadow:0 0 0 4px rgba(193,42,42,.10),0 12px 25px rgba(0,0,0,.05); }

.detail-grid { background:transparent; border:0; gap:22px; overflow:visible; }
.detail-card { position:relative; border:1px solid var(--line); border-radius:16px; overflow:hidden; box-shadow:0 14px 40px rgba(0,0,0,.05); }
.detail-card::after { content:""; position:absolute; inset:auto 0 0; height:4px; background:var(--red); transform:scaleX(0); transform-origin:left; transition:transform .45s cubic-bezier(.22,1,.36,1); }
.detail-card:hover { transform:translateY(-9px); box-shadow:0 24px 58px rgba(0,0,0,.11); }
.detail-card:hover::after { transform:scaleX(1); }

.contact-band { position:relative; isolation:isolate; overflow:hidden; background:linear-gradient(135deg,#151515 0%,#292020 48%,#651919 100%) !important; }
.contact-band::before,.contact-band::after { content:""; position:absolute; z-index:-1; border:1px solid rgba(255,255,255,.12); border-radius:50%; animation:contactRing 8s ease-in-out infinite alternate; }
.contact-band::before { width:420px; height:420px; left:-150px; top:-210px; }
.contact-band::after { width:560px; height:560px; right:-230px; bottom:-330px; animation-delay:-3s; }
.contact-band .btn span { transition:transform .3s ease; }
.contact-band .btn:hover span { transform:translateX(7px); }

.reveal { filter:blur(5px); transform:translateY(42px) scale(.985); transition:opacity .8s var(--ease),transform .8s var(--ease),filter .8s var(--ease); }
.reveal.visible { filter:none; transform:none; }
.overview-card:nth-child(2),.detail-card:nth-child(2){transition-delay:.10s}.overview-card:nth-child(3){transition-delay:.20s}.overview-card:nth-child(4){transition-delay:.30s}

@keyframes contactGridDrift { to { transform:translate3d(2.5%,-1.5%,0) scale(1.04); } }
@keyframes contactRing { to { transform:translate3d(28px,-18px,0) scale(1.08); } }

@media(max-width:960px){.category-scroll{justify-content:flex-start;padding-inline:15px}.category-scroll a{padding:9px 17px}.overview-card h3{padding-top:10px}}
@media(prefers-reduced-motion:reduce){.hero::before,.contact-band::before,.contact-band::after{animation:none}.reveal{filter:none}.hero-card,.overview-card,.detail-card{transform:none!important}}

/* The live contact layout is generated by site-enhancements.js. */
.sx-contact-hero { --contact-x:72%; --contact-y:30%; position:relative; isolation:isolate; overflow:hidden; }
.sx-contact-hero::before { content:""; position:absolute; z-index:-1; inset:-12%; background:radial-gradient(circle at var(--contact-x) var(--contact-y),rgba(255,70,70,.25),transparent 18%),repeating-linear-gradient(125deg,transparent 0 92px,rgba(255,255,255,.035) 93px 94px); animation:contactGridDrift 16s ease-in-out infinite alternate; }
.sx-contact-hero::after { content:""; position:absolute; z-index:-1; width:min(52vw,720px); aspect-ratio:1; right:-15vw; bottom:-65%; border:1px solid rgba(255,255,255,.12); border-radius:50%; box-shadow:0 0 0 85px rgba(255,255,255,.025),0 0 0 170px rgba(255,255,255,.016); animation:contactRing 10s ease-in-out infinite alternate; }
.sx-direct-card { position:relative; overflow:hidden; transition:transform .4s cubic-bezier(.22,1,.36,1),border-color .35s,box-shadow .35s; }
.sx-direct-card::before { content:""; position:absolute; inset:-60% -90%; background:linear-gradient(110deg,transparent 42%,rgba(255,255,255,.18) 50%,transparent 58%); transform:translateX(-45%); transition:transform .8s ease; pointer-events:none; }
.sx-direct-card:hover { transform:translateY(-8px); border-color:rgba(255,255,255,.34); box-shadow:0 28px 65px rgba(0,0,0,.24); }
.sx-direct-card:hover::before { transform:translateX(45%); }

.sx-contact-tabs { position:sticky; z-index:85; top:68px; padding:12px 20px; background:rgba(255,255,255,.94); border-bottom:1px solid rgba(20,20,20,.1); box-shadow:0 10px 30px rgba(18,18,18,.06); backdrop-filter:blur(16px); }
.sx-contact-tabs>div { display:flex; justify-content:center; gap:10px; overflow-x:auto; scrollbar-width:none; }
.sx-contact-tabs>div::-webkit-scrollbar { display:none; }
.sx-contact-tabs a { flex:0 0 auto; padding:10px 24px; border:1px solid rgba(26,26,26,.11); border-radius:999px; color:#333; background:#fff; font:800 12px Arial,sans-serif; letter-spacing:.05em; text-decoration:none; transition:.3s ease; }
.sx-contact-tabs a:hover { transform:translateY(-2px); border-color:rgba(207,41,41,.4); box-shadow:0 8px 22px rgba(0,0,0,.08); }
.sx-contact-tabs a.active { color:#fff; background:#cf2929; border-color:#cf2929; box-shadow:0 9px 24px rgba(207,41,41,.24); }

.sx-channel-card { position:relative; isolation:isolate; overflow:hidden; transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s,border-color .4s; }
.sx-channel-card::before { content:""; position:absolute; z-index:-1; width:230px; height:230px; right:-125px; bottom:-145px; border-radius:50%; background:radial-gradient(circle,rgba(207,41,41,.18),transparent 68%); transition:transform .55s cubic-bezier(.22,1,.36,1); }
.sx-channel-card:hover { transform:translateY(-10px); border-color:rgba(207,41,41,.34); box-shadow:0 25px 60px rgba(0,0,0,.12); }
.sx-channel-card:hover::before { transform:scale(1.7); }
.sx-channel-card:hover .sx-channel-avatar { background:#cf2929; transform:rotate(-7deg) scale(1.08); }
.sx-channel-avatar { transition:background .3s,transform .35s cubic-bezier(.22,1,.36,1); }
.sx-channel-actions a { transition:transform .28s,box-shadow .28s,background .28s!important; }
.sx-channel-actions a:hover { transform:translateY(-3px); box-shadow:0 10px 24px rgba(0,0,0,.12); }

.sx-inquiry-form { position:relative; overflow:hidden; transition:transform .4s cubic-bezier(.22,1,.36,1),box-shadow .4s; }
.sx-inquiry-form:hover { transform:translateY(-5px); box-shadow:0 32px 80px rgba(0,0,0,.13); }
.sx-field { transition:transform .28s ease; }
.sx-field:focus-within { transform:translateY(-3px); }
.sx-field input,.sx-field select,.sx-field textarea { transition:border-color .25s,box-shadow .25s,background .25s; }
.sx-field input:focus,.sx-field select:focus,.sx-field textarea:focus { outline:0; background:#fffdfa; border-color:#cf2929; box-shadow:0 0 0 4px rgba(207,41,41,.1),0 12px 25px rgba(0,0,0,.05); }
.sx-checklist li { position:relative; transition:transform .25s,color .25s; }
.sx-checklist li:hover { color:#cf2929; transform:translateX(7px); }
.sx-response { position:relative; isolation:isolate; overflow:hidden; background:linear-gradient(135deg,#151515,#292020 48%,#651919)!important; }
.sx-response::before,.sx-response::after { content:""; position:absolute; z-index:-1; border:1px solid rgba(255,255,255,.12); border-radius:50%; animation:contactRing 8s ease-in-out infinite alternate; }
.sx-response::before { width:430px;height:430px;left:-170px;top:-260px }.sx-response::after{width:560px;height:560px;right:-230px;bottom:-360px;animation-delay:-3s}

.sx-channel-card,.sx-inquiry-form,.sx-response>* { animation:contactContentIn .8s cubic-bezier(.22,1,.36,1) both; }
.sx-channel-card:nth-child(2){animation-delay:.13s}
.is-pressed { transform:scale(.985)!important; }
@keyframes contactContentIn { from{opacity:0;transform:translateY(34px);filter:blur(5px)} to{opacity:1;transform:none;filter:none} }
@media(max-width:720px){.sx-contact-tabs{padding-inline:12px}.sx-contact-tabs>div{justify-content:flex-start}.sx-contact-tabs a{padding:9px 17px}.sx-contact-hero::after{display:none}}
@media(prefers-reduced-motion:reduce){.sx-contact-hero::before,.sx-contact-hero::after,.sx-response::before,.sx-response::after,.sx-channel-card,.sx-inquiry-form,.sx-response>*{animation:none!important}}
