.contact-page{min-height:100vh;overflow-x:hidden;overflow-y:auto;background:#050604;color:#f7f5ef;-webkit-overflow-scrolling:touch}
.contact-immersive{position:relative;min-height:100svh;padding:112px 6% 110px;display:grid;place-items:center;isolation:isolate;overflow:hidden;touch-action:pan-y}
.contact-particle-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:-5;pointer-events:none}
.contact-ambient{position:absolute;inset:-18%;z-index:-4;pointer-events:none;background:
radial-gradient(circle at 18% 22%,rgba(218,168,73,.17),transparent 22%),
radial-gradient(circle at 84% 76%,rgba(79,130,72,.13),transparent 23%),
radial-gradient(circle at 72% 18%,rgba(255,255,255,.08),transparent 18%),
radial-gradient(circle at 42% 72%,rgba(218,168,73,.08),transparent 20%);filter:blur(16px);animation:ambientDrift 18s ease-in-out infinite alternate}
@keyframes ambientDrift{to{transform:translate3d(2.5%,-2%,0) scale(1.05) rotate(2deg)}}
.contact-orbit-system{position:absolute;left:50%;top:50%;width:min(1040px,94vw);aspect-ratio:1;transform:translate(-50%,-50%);z-index:-2;pointer-events:none;perspective:1200px}
.contact-ring{position:absolute;inset:10%;border:1px solid rgba(224,178,87,.24);border-radius:50%;box-shadow:0 0 45px rgba(216,166,72,.08),inset 0 0 45px rgba(255,255,255,.025);transform-style:preserve-3d;will-change:transform}
.contact-ring.r1{animation:ringOne 20s linear infinite}.contact-ring.r2{inset:20%;border-color:rgba(255,255,255,.14);animation:ringTwo 15s linear infinite}.contact-ring.r3{inset:30%;border-color:rgba(81,137,72,.23);animation:ringThree 12s linear infinite}
.contact-ring::before,.contact-ring::after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;top:50%;left:-6px;background:#d9aa51;box-shadow:0 0 20px #d9aa51,0 0 55px rgba(217,170,81,.6)}
.contact-ring::after{left:auto;right:-6px;background:#fff;box-shadow:0 0 20px #fff,0 0 55px rgba(255,255,255,.45)}
.r3::before{background:#5c9453;box-shadow:0 0 20px #5c9453,0 0 55px rgba(92,148,83,.55)}
@keyframes ringOne{to{transform:rotateZ(360deg) rotateX(67deg)}}
@keyframes ringTwo{from{transform:rotateY(67deg) rotateZ(360deg)}to{transform:rotateY(67deg) rotateZ(0)}}
@keyframes ringThree{to{transform:rotateX(72deg) rotateY(360deg)}}
.contact-shell{width:min(1120px,100%);display:grid;grid-template-columns:.86fr 1.14fr;gap:44px;align-items:center;transform-style:preserve-3d;will-change:transform}
.contact-welcome{padding:24px 8px;position:relative}
.contact-welcome .eyebrow{margin-bottom:20px}.contact-welcome h1{font-size:clamp(48px,7vw,98px);line-height:.92;letter-spacing:-4px;margin:0 0 28px;max-width:760px}.contact-welcome h1 span{color:#dbad58;text-shadow:0 0 30px rgba(219,173,88,.16)}
.contact-welcome>p{max-width:580px;color:#c9cbc5;font-size:18px;line-height:1.75}
.contact-direct{margin-top:34px;display:flex;flex-wrap:wrap;gap:12px}.contact-direct a{padding:12px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.035);text-decoration:none;color:#eeeee9;backdrop-filter:blur(10px);transition:transform .25s ease,border-color .25s ease,background .25s ease}.contact-direct a:hover{transform:translateY(-3px);border-color:rgba(219,173,88,.5);background:rgba(219,173,88,.08)}
.contact-form-stage{position:relative;perspective:1400px}
.contact-form-stage::before{content:"";position:absolute;inset:8% -5% -7%;background:radial-gradient(ellipse,rgba(218,168,73,.2),transparent 65%);filter:blur(30px);z-index:-1}
.contact-form-card{position:relative;padding:34px;border-radius:34px;border:1px solid rgba(255,255,255,.16);background:linear-gradient(145deg,rgba(24,27,22,.84),rgba(7,8,6,.91));box-shadow:0 35px 100px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.1);backdrop-filter:blur(24px) saturate(1.15);transform-style:preserve-3d;will-change:transform;overflow:hidden}
.contact-form-card::after{content:"";position:absolute;inset:-1px;background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.12) 48%,transparent 70%);transform:translateX(-130%);animation:glassSweep 8s ease-in-out infinite;pointer-events:none}
@keyframes glassSweep{0%,60%{transform:translateX(-130%)}80%,100%{transform:translateX(130%)}}
.contact-form-head{position:relative;z-index:1;margin-bottom:25px}.contact-form-head span{display:inline-block;color:#e6ba67;font-size:12px;font-weight:900;letter-spacing:2px;text-transform:uppercase;margin-bottom:8px}.contact-form-head h2{font-size:clamp(30px,4vw,48px);letter-spacing:-1.6px;margin:0 0 8px}.contact-form-head p{color:#aeb2aa;line-height:1.55}
.immersive-form{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:16px}.immersive-form label{display:grid;gap:8px;color:#dfe0da;font-size:13px;font-weight:800}.immersive-form label.full{grid-column:1/-1}.immersive-form input,.immersive-form select,.immersive-form textarea{width:100%;border:1px solid rgba(255,255,255,.13);border-radius:15px;background:rgba(255,255,255,.045);color:#fff;padding:14px 15px;font:inherit;outline:none;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}.immersive-form select option{background:#11130f}.immersive-form textarea{min-height:125px;resize:vertical}.immersive-form input:focus,.immersive-form select:focus,.immersive-form textarea:focus{border-color:rgba(222,176,86,.8);box-shadow:0 0 0 4px rgba(222,176,86,.1);transform:translateY(-1px)}
.contact-submit{grid-column:1/-1;position:relative;min-height:58px;border:0;border-radius:16px;background:linear-gradient(135deg,#f0c978,#c58d31);color:#11130f;font-weight:950;font-size:15px;letter-spacing:.3px;cursor:pointer;overflow:hidden;box-shadow:0 12px 35px rgba(197,141,49,.24);transition:transform .25s ease,box-shadow .25s ease}.contact-submit:hover{transform:translateY(-3px) scale(1.01);box-shadow:0 18px 45px rgba(197,141,49,.32)}.contact-submit::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.45),transparent 65%);transform:translateX(-120%);transition:transform .7s ease}.contact-submit:hover::after{transform:translateX(120%)}
.contact-privacy{grid-column:1/-1;margin:0;text-align:center;color:#888d85;font-size:12px;line-height:1.5}
.contact-mini-orb{position:absolute;border-radius:50%;pointer-events:none;filter:blur(.2px);will-change:transform}.orb-a{width:18px;height:18px;background:#e5b65d;box-shadow:0 0 28px #e5b65d;left:3%;top:18%;animation:orbFloatA 6s ease-in-out infinite}.orb-b{width:12px;height:12px;background:#fff;box-shadow:0 0 26px #fff;right:7%;top:10%;animation:orbFloatB 7s ease-in-out infinite}.orb-c{width:16px;height:16px;background:#5d9654;box-shadow:0 0 30px #5d9654;right:2%;bottom:20%;animation:orbFloatA 8s ease-in-out infinite reverse}
@keyframes orbFloatA{50%{transform:translate3d(15px,-22px,35px) scale(1.3)}}@keyframes orbFloatB{50%{transform:translate3d(-20px,18px,30px) scale(.8)}}
.contact-page .main-footer{position:relative;z-index:2}
@media(max-width:900px){.contact-immersive{padding:108px 5% 85px;overflow:visible}.contact-shell{grid-template-columns:1fr;gap:28px}.contact-welcome{text-align:center}.contact-welcome>p{margin-inline:auto}.contact-direct{justify-content:center}.contact-welcome h1{letter-spacing:-2.6px}.contact-orbit-system{top:35%;width:110vw}.contact-form-card{padding:25px}}
@media(max-width:620px){.immersive-form{grid-template-columns:1fr}.immersive-form label.full,.contact-submit,.contact-privacy{grid-column:1}.contact-form-card{border-radius:25px;padding:22px 18px}.contact-welcome h1{font-size:48px}.contact-immersive{padding-top:102px}}
@media(prefers-reduced-motion:reduce){.contact-ring,.contact-ambient,.contact-form-card::after,.contact-mini-orb{animation:none!important}.contact-shell,.contact-form-card{transform:none!important}}

html:has(body.contact-page),body.contact-page{height:auto!important;min-height:100%;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:auto}
body.contact-page main{overflow:visible!important}

/* The contact form remains fixed and stable during pointer and touch interaction. */
.contact-shell,.contact-form-card{transform:none!important;}
.contact-form-stage{perspective:none;}
