/* Approved Home ending: a departure signal formed by glass and woven orbits. */
.contact:has(.contact-orb){isolation:isolate;padding:clamp(32px,5dvh,70px) max(6vw,env(safe-area-inset-right)) clamp(24px,4dvh,50px) max(6vw,env(safe-area-inset-left));overflow:visible}
.contact:has(.contact-orb) .contact-inner{display:flex;align-items:center;max-width:1440px;position:static}
.contact-orb{position:absolute;inset:0;pointer-events:none;z-index:0;opacity:var(--finale-reveal,1)}
.contact-orb-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.contact-orb-brand{position:absolute;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,#020414 10%,#01020b 72%);color:#f1f8ff;box-shadow:0 0 9px #00e5ff80,0 0 24px #3b32ff55,inset 0 0 12px #4c34ff44;font-family:'Sora',sans-serif;font-weight:500;line-height:1;letter-spacing:.33em;font-size:clamp(10px,1.1vw,17px)}
.contact-orb-brand::before{content:'';position:absolute;inset:-2px;border-radius:50%;padding:2px;background:conic-gradient(from 230deg,#00cfff,#25efff 24%,#7344ff 58%,#d515ff 77%,#199aff);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;filter:drop-shadow(0 0 3px #458bff)}
.contact-orb-brand span{display:block;margin-left:.28em}
.contact-orb-brand small{font-size:.35em;letter-spacing:.75em;margin-top:.7em;margin-left:.6em;color:#c9d8f4}
.contact-orb-brand img{display:block;width:78%;height:auto;object-fit:contain}
.contact:has(.contact-orb) .contact-copy{position:relative;z-index:2;max-width:460px;width:34%;padding-bottom:3dvh;opacity:var(--finale-reveal,1)}
.contact:has(.contact-orb) h2{font-family:'Orbitron','Sora',sans-serif;font-size:clamp(30px,min(3.35vw,5.45dvh),51px);line-height:1.13;font-weight:700;letter-spacing:-.035em;margin:0;text-wrap:balance}
.contact:has(.contact-orb) .contact-description{font-size:clamp(15px,1.4vw,20px);line-height:1.55;max-width:34ch;margin:clamp(18px,3dvh,28px) 0 0;color:#c0c2d1}
.contact:has(.contact-orb) .contact-note{font-size:clamp(12px,1.03vw,15px);line-height:1.5;color:#a9adbf;margin:12px 0 0;max-width:36ch}
.contact:has(.contact-orb) .contact-main-link{display:flex;align-items:center;justify-content:space-between;gap:20px;width:max-content;max-width:100%;margin-top:clamp(24px,3.5dvh,36px);padding:clamp(15px,2.1dvh,21px) clamp(22px,2.6vw,38px);font-size:clamp(14px,1.15vw,18px);font-weight:600;line-height:1.3;white-space:nowrap;background:#00d8ed;color:#031419;border:1px solid #45f5ff;border-radius:999px;box-shadow:0 0 20px #00def33a,0 0 50px #00d5ff14;transition:background .25s,box-shadow .25s,transform .25s}
.contact:has(.contact-orb) .contact-main-link:hover,.contact:has(.contact-orb) .contact-main-link:focus-visible{background:#5df2ff;box-shadow:0 0 25px #00deff68,0 0 75px #00d5ff30;transform:translateY(-2px)}
.contact:has(.contact-orb) .contact-reach{font-size:clamp(9px,.78vw,11px);letter-spacing:.09em;line-height:1.6;color:#94cbdc;max-width:none;margin-top:15px}
.contact:has(.contact-orb) .contact-back{font-size:10px;opacity:.68;gap:16px;margin-top:24px;letter-spacing:.04em}
@media(min-width:700px) and (max-width:999px) and (orientation:landscape){
 .contact:has(.contact-orb) .contact-copy{width:43%;max-width:400px}
}
@media(min-width:700px) and (max-width:999px) and (orientation:portrait){
 .contact:has(.contact-orb) .contact-copy{width:47%;max-width:400px}
 .contact:has(.contact-orb) h2{font-size:clamp(28px,3.8vw,36px)}
 .contact:has(.contact-orb) .contact-description{font-size:16px}
 .contact:has(.contact-orb) .contact-reach{font-size:8px}
 .contact:has(.contact-orb) .contact-main-link{font-size:13px;padding:17px 20px;gap:12px}
}
@media(max-width:699px) and (orientation:portrait){
 .contact:has(.contact-orb){padding:0 max(22px,6vw) 24px}
 .contact:has(.contact-orb) .contact-inner{align-items:flex-end;padding-bottom:clamp(26px,4dvh,44px)}
 .contact:has(.contact-orb) .contact-copy{width:100%;max-width:460px;margin:0 auto;padding:0;text-align:center}
 .contact:has(.contact-orb) h2{font-size:clamp(25px,min(7vw,3.7dvh),32px);line-height:1.17}
 .contact:has(.contact-orb) .contact-description{font-size:clamp(12px,3.6vw,15px);line-height:1.5;margin:14px auto 0;max-width:34ch}
 .contact:has(.contact-orb) .contact-note{font-size:11px;margin:9px auto 0;max-width:36ch}
 .contact:has(.contact-orb) .contact-main-link{margin:19px auto 0;font-size:13px;padding:15px 25px;gap:20px}
 .contact:has(.contact-orb) .contact-reach{font-size:8px;margin:11px auto 0;max-width:42ch}
 .contact:has(.contact-orb) .contact-back{justify-content:center;margin-top:15px;font-size:9px}
 .contact-orb-brand{font-size:11px}
}
@media(max-height:560px) and (orientation:landscape){
 .contact:has(.contact-orb){padding:25px 6vw 20px}
 .contact:has(.contact-orb) .contact-copy{width:45%;padding:0}
 .contact:has(.contact-orb) h2{font-size:clamp(23px,3.6vw,32px)}
 .contact:has(.contact-orb) .contact-description{font-size:12px;line-height:1.4;margin-top:12px}
 .contact:has(.contact-orb) .contact-note{font-size:10px;margin-top:8px}
 .contact:has(.contact-orb) .contact-main-link{font-size:12px;padding:11px 20px;margin-top:15px}
 .contact:has(.contact-orb) .contact-reach{font-size:8px;margin-top:9px}
 .contact:has(.contact-orb) .contact-back{font-size:8px;margin-top:12px}
 .contact-orb-brand{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.contact:has(.contact-orb) .contact-main-link{transition:none}}

@media(max-width:699px) and (max-height:699px) and (orientation:portrait){
 .contact:has(.contact-orb) .contact-inner{padding-bottom:20px}
 .contact:has(.contact-orb) .contact-description{font-size:11.5px;line-height:1.45;margin-top:10px}
 .contact:has(.contact-orb) .contact-note{font-size:9px;margin-top:8px}
 .contact:has(.contact-orb) .contact-main-link{margin-top:13px;padding:12px 22px;font-size:12px}
 .contact:has(.contact-orb) .contact-reach{font-size:7px;margin-top:9px}
 .contact:has(.contact-orb) .contact-back{font-size:8px;margin-top:10px}
}
