.cs-gate-overlay{position:fixed;inset:0;z-index:99999;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse 60% 55% at 50% 50%,rgba(238,233,222,.2) 0%,rgba(238,233,222,.36) 45%,rgba(238,233,222,.52) 100%);backdrop-filter:blur(34px) saturate(.9) brightness(1.05) contrast(.97);-webkit-backdrop-filter:blur(34px) saturate(.9) brightness(1.05) contrast(.97);transition:opacity .82s ease,backdrop-filter .82s ease,-webkit-backdrop-filter .82s ease;opacity:1}
.cs-gate-overlay::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.025;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}
.cs-gate-overlay::after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 52%,rgba(30,26,18,.14) 100%)}
.cs-gate-overlay.cs-gate-fading{opacity:0;backdrop-filter:blur(0) brightness(1) contrast(1);-webkit-backdrop-filter:blur(0) brightness(1) contrast(1);pointer-events:none}
body.cs-gate-active{overflow:hidden;height:100vh}
.cs-gate-clarity{position:absolute;width:460px;height:460px;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);backdrop-filter:blur(17px) brightness(1.04) contrast(1.02);-webkit-backdrop-filter:blur(17px) brightness(1.04) contrast(1.02);-webkit-mask-image:radial-gradient(circle,#000 38%,transparent 72%);mask-image:radial-gradient(circle,#000 38%,transparent 72%);opacity:0;transition:opacity .4s ease;pointer-events:none}
.cs-gate-overlay.cs-gate-hover .cs-gate-clarity{opacity:1}
.cs-gate-center{position:relative;display:flex;flex-direction:column;align-items:center;transition:transform .7s cubic-bezier(.4,0,.2,1)}
.cs-gate-overlay.cs-gate-unlocking .cs-gate-center{transform:translateY(-70px) scale(.94)}
.cs-gate-halo{position:absolute;left:50%;top:38%;width:440px;height:440px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.14) 0%,rgba(255,255,255,.06) 35%,rgba(255,255,255,0) 65%);filter:blur(36px);z-index:0;pointer-events:none}
.cs-gate-badge{position:relative;z-index:1;display:block;width:min(300px,49vw);height:auto;border-radius:50%;cursor:pointer;filter:drop-shadow(0 4px 10px rgba(20,30,50,.18));transition:transform .35s cubic-bezier(.4,0,.2,1),filter .35s cubic-bezier(.4,0,.2,1)}
.cs-gate-badge:hover{transform:scale(1.02);filter:drop-shadow(0 6px 14px rgba(20,30,50,.24))}
.cs-gate-overlay.cs-gate-revealing .cs-gate-badge{transform:scale(1.06);filter:drop-shadow(0 10px 20px rgba(20,30,50,.24))}
.cs-gate-overlay.cs-gate-unlocking .cs-gate-badge{cursor:default}
.cs-gate-contact{display:none}
.cs-gate-label{position:relative;z-index:1;margin-top:10px;font-family:Georgia,serif;font-weight:700;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:rgba(28,36,58,.85);text-align:center;transition:opacity .4s ease,visibility .4s ease}
.cs-gate-overlay.cs-gate-unlocking .cs-gate-label{opacity:0;visibility:hidden}
.cs-gate-form{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:22px;opacity:0;transform:translateY(14px);max-height:0;overflow:hidden;transition:opacity .55s ease .15s,transform .55s ease .15s;pointer-events:none}
.cs-gate-overlay.cs-gate-unlocking .cs-gate-form{opacity:1;transform:translateY(0);max-height:220px;pointer-events:auto}
.cs-gate-form-label{font-family:Georgia,serif;font-weight:700;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:rgba(20,27,46,.95)}
.cs-gate-input{width:min(330px,72vw);padding:13px 16px;background:rgba(255,255,255,.28);border:1px solid rgba(28,36,58,.32);border-radius:6px;text-align:center;font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:.06em;color:#1c243a;outline:none;transition:border-color .3s ease}
.cs-gate-input::placeholder{color:rgba(28,36,58,.4)}
.cs-gate-input:focus{border-color:rgba(28,36,58,.6)}
.cs-gate-submit{width:min(330px,72vw);padding:13px 16px;background:#1c2a4a;color:#f7f2e5;border:none;border-radius:6px;font-family:Georgia,serif;font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:background .3s ease}
.cs-gate-submit:hover{background:#26365c}
.cs-gate-back{background:none;border:none;padding:0;font-family:Georgia,serif;font-weight:700;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(20,27,46,.8);cursor:pointer;transition:color .3s ease}
.cs-gate-back:hover{color:rgba(20,27,46,1)}
@media (max-width:520px){.cs-gate-clarity{width:300px;height:300px}.cs-gate-halo{width:300px;height:300px}.cs-gate-badge{width:min(220px,58vw)}.cs-gate-label{font-size:9.5px;letter-spacing:.13em;margin-top:10px}}

.cs-gate-label{margin-top:22px!important;line-height:1.5}
.cs-gate-overlay.cs-gate-unlocking .cs-gate-label{position:absolute;bottom:0;left:0;right:0}
.cs-gate-form{gap:16px!important;margin-top:28px!important}
.cs-gate-form-label{margin-bottom:4px;line-height:1.4}
.cs-gate-input,.cs-gate-submit{padding:15px 16px!important}
.cs-gate-back{margin-top:6px;padding:8px 12px!important}
.cs-gate-overlay.cs-gate-unlocking .cs-gate-form{max-height:300px!important}
@media (max-width:520px){.cs-gate-label{margin-top:18px!important}.cs-gate-form{gap:14px!important;margin-top:22px!important}}
