/* Contacto: una "transmisión" a Digital Space */
html.ct-open{overflow:hidden}
.ct{position:fixed;inset:0;z-index:600;display:grid;place-items:center;padding:18px;opacity:0;visibility:hidden;transition:opacity .5s var(--expo),visibility 0s .5s}
.ct.is-open{opacity:1;visibility:visible;transition:opacity .5s var(--expo)}
.ct-bg{position:absolute;inset:0;background:radial-gradient(60% 50% at 30% 30%,rgba(255,140,70,.14),transparent 70%),radial-gradient(50% 50% at 80% 80%,rgba(182,220,255,.12),transparent 70%),rgba(4,5,8,.9);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2)}
.ct-stars{position:absolute;inset:0;width:100%;height:100%}
.ct-x{position:absolute;top:18px;right:18px;z-index:3;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:grid;place-items:center;transition:transform .5s var(--expo),border-color .3s}
.ct-x:hover{transform:rotate(90deg);border-color:var(--amber)}
.ct-x::before,.ct-x::after{content:"";position:absolute;width:16px;height:1px;background:var(--paper);transform:rotate(45deg)}.ct-x::after{transform:rotate(-45deg)}
.ct-panel{position:relative;z-index:2;width:min(980px,100%);max-height:calc(100svh - 36px);overflow:auto;display:grid;grid-template-columns:minmax(200px,300px) 1fr;gap:clamp(18px,4vw,56px);align-items:center;padding:clamp(18px,4vw,48px);border:1px solid rgba(255,255,255,.12);border-radius:28px;background:linear-gradient(160deg,rgba(255,255,255,.06),rgba(255,255,255,.015));transform:translateY(24px) scale(.98);transition:transform .7s var(--expo)}
.ct.is-open .ct-panel{transform:none}
.ct-mark{position:relative;aspect-ratio:1;width:100%}
.ct-mark svg{width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 26px rgba(255,150,70,.22));transition:filter .8s}
.ct-mark .b-star{transform-box:fill-box;transform-origin:center;transform:scale(0);opacity:0}
.ct.sent .ct-mark .b-star{animation:starPop 1s cubic-bezier(.2,1.2,.3,1) forwards}
.ct.sent .ct-mark svg{animation:eclipseFlash 1.4s ease-out;filter:drop-shadow(0 0 40px rgba(255,200,140,.5))}
.ct-mark g.moonb{transition:transform .9s var(--expo)}
.ct-mark .glow{transition:opacity .9s}
.ct-main{min-width:0}
.ct-phases{display:flex;gap:9px;margin-bottom:22px}
.ct-phases .ph{margin:0;width:11px;height:11px;opacity:.35;transition:opacity .4s,transform .4s}
.ct-phases .ph.on{opacity:1;transform:scale(1.35)}.ct-phases .ph.done{opacity:.75}
.ct-kicker{font:500 11px 'JetBrains Mono',monospace;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin:0 0 12px}
.ct-q{font:400 clamp(32px,5vw,58px)/1.03 'Instrument Serif',serif;letter-spacing:-.015em;margin:0 0 10px}
.ct-q em{font-style:italic;background:linear-gradient(90deg,#FFB35C,#FF5B1F);-webkit-background-clip:text;background-clip:text;color:transparent}
.ct-hint{font:300 15px/1.5 'Inter Tight',sans-serif;color:#a9b0bc;margin:0 0 22px;max-width:520px}
.ct-body{min-height:90px}
.ct-step{animation:ctIn .6s var(--expo)}
@keyframes ctIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
.ct-in{width:100%;background:none;border:0;border-bottom:1px solid rgba(255,255,255,.3);color:var(--paper);font:400 clamp(24px,3.4vw,34px) 'Instrument Serif',serif;padding:8px 0 10px;border-radius:0;outline:0;transition:border-color .3s,box-shadow .3s}
.ct-in::placeholder{color:#5f6877}
.ct-in:focus{border-color:var(--amber);box-shadow:0 1px 0 0 var(--amber)}
textarea.ct-in{resize:none;min-height:120px;font-size:clamp(20px,2.4vw,26px);line-height:1.35;border:1px solid rgba(255,255,255,.22);border-radius:16px;padding:14px 16px}
textarea.ct-in:focus{box-shadow:0 0 0 1px var(--amber)}
.ct-row{display:grid;gap:18px;margin-top:6px}
.ct-lab{display:block;font:500 11px 'JetBrains Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:#8b93a1;margin:0 0 4px}
.ct-chips{display:flex;flex-wrap:wrap;gap:10px}
.ct-chip{padding:11px 18px;border-radius:99px;border:1px solid rgba(255,255,255,.22);font:400 15px 'Inter Tight',sans-serif;color:#d9d5ca;transition:transform .4s var(--expo),background .3s,color .3s,border-color .3s}
.ct-chip:hover{border-color:var(--amber);transform:translateY(-2px)}
.ct-chip[aria-pressed=true]{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.ct-check{display:flex;gap:12px;align-items:flex-start;font:300 14px/1.45 'Inter Tight',sans-serif;color:#b3b9c5;margin-top:4px;cursor:pointer}
.ct-check input{margin-top:3px;accent-color:#FF5B1F;width:18px;height:18px;flex:none}
.ct-check a{color:var(--ice);text-decoration:underline}
.ct-sum{display:grid;gap:10px;margin:0;padding:0}
.ct-sum div{display:grid;grid-template-columns:110px 1fr;gap:14px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.ct-sum dt{font:500 11px 'JetBrains Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:#7f8794;padding-top:3px}
.ct-sum dd{margin:0;font:300 15px/1.45 'Inter Tight',sans-serif;color:#e4e0d6;word-break:break-word}
.ct-err{min-height:22px;margin:14px 0 0;font:400 14px 'Inter Tight',sans-serif;color:#ff9a76}
.ct-nav{display:flex;gap:12px;align-items:center;margin-top:8px;flex-wrap:wrap}
.ct-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.ct-ok{text-align:left}
.ct-ok p{font:300 17px/1.55 'Inter Tight',sans-serif;color:#cfd3db;max-width:520px}
.ct-fallback{margin-top:14px;padding:14px 16px;border:1px dashed rgba(255,255,255,.28);border-radius:14px;font:300 14px/1.5 'Inter Tight',sans-serif;color:#cfd3db}
@media (max-width:760px){
 .ct{padding:0;place-items:end center}
 .ct-panel{grid-template-columns:1fr;border-radius:24px 24px 0 0;max-height:94svh;gap:6px;padding:20px 20px 24px}
 .ct-mark{width:min(130px,34vw);margin:0 auto -4px}
 .ct-x{top:12px;right:12px}
 .ct-sum div{grid-template-columns:86px 1fr}
}
@media (prefers-reduced-motion:reduce){.ct,.ct-panel,.ct-step{transition:none;animation:none}}
