/* ===== contacto ===== */
section#contact.contact{position:relative;min-height:100vh;padding:clamp(90px,12vh,140px) clamp(18px,6vw,96px);background:#0B0B0D;border-top:1px solid #2a2823;display:grid;align-items:center;overflow:clip}
.ct-bg{position:absolute;inset:0;pointer-events:none}.ct-wave{position:absolute;inset:0;width:100%;height:100%}
.ct-glow{position:absolute;inset:-20%;background:radial-gradient(ellipse 45% 50% at 74% 50%,rgba(214,174,107,.16),transparent 70%),radial-gradient(ellipse 40% 40% at 8% 90%,rgba(127,182,176,.12),transparent 70%)}
.ct-wrap{position:relative;z-index:1;width:min(1320px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,560px);gap:clamp(30px,5vw,90px);align-items:center}
.ct-left>*,.ct-card{opacity:0;transform:translateY(34px);transition:opacity .9s,transform 1s cubic-bezier(.2,.8,.2,1)}
.ct-in .ct-left>*,.ct-in .ct-card{opacity:1;transform:none}
.ct-in .ct-left>:nth-child(2){transition-delay:.1s}.ct-in .ct-left>:nth-child(3){transition-delay:.25s}.ct-in .ct-left>:nth-child(4){transition-delay:.35s}.ct-in .ct-left>:nth-child(5){transition-delay:.45s}.ct-in .ct-card{transition-delay:.3s}
.ct-h{margin:14px 0 26px;font:500 clamp(42px,5.6vw,88px)/.98 var(--sw-font-display,'Bodoni Moda',serif);color:#F3EFE6;letter-spacing:-.035em}
.ct-h em{background:linear-gradient(100deg,#B98B3E,#F0D9A8 45%,#D6AE6B 70%,#B98B3E);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:ctshine 6s linear infinite}
@keyframes ctshine{to{background-position:-220% 0}}
.ct-live{display:inline-flex;align-items:center;gap:10px;margin:0 0 28px;padding:8px 16px;border:1px solid #2f4a45;border-radius:999px;background:rgba(14,20,19,.7);font:500 12px ui-monospace,Menlo,monospace;letter-spacing:.14em;text-transform:uppercase;color:#9fd0ca}
.ct-live i{width:8px;height:8px;border-radius:50%;background:#7fb6b0;box-shadow:0 0 0 0 rgba(127,182,176,.7);animation:ctping 2s infinite}.ct-live b{color:#F0D9A8;font-weight:500}
@keyframes ctping{70%{box-shadow:0 0 0 10px rgba(127,182,176,0)}100%{box-shadow:0 0 0 0 rgba(127,182,176,0)}}
.ct-mail{--mx:0px;--my:0px;display:flex;align-items:center;gap:18px;width:max-content;max-width:100%;padding:18px 26px;border:1px solid #D6AE6B88;border-radius:18px;background:rgba(20,18,12,.6);backdrop-filter:blur(8px);text-decoration:none;color:#F3EFE6;transform:translate(var(--mx),var(--my));transition:transform .25s,border-color .25s,background .25s,box-shadow .3s;position:relative}
.ct-mail:hover{border-color:#D6AE6B;background:rgba(214,174,107,.1);box-shadow:0 0 50px rgba(214,174,107,.2)}
.ct-mail-l{position:absolute;top:-9px;left:20px;padding:0 8px;background:#0B0B0D;font:500 10px ui-monospace,Menlo,monospace;letter-spacing:.18em;text-transform:uppercase;color:#7fb6b0}
.ct-mail-a{font:500 clamp(18px,2vw,26px) var(--sw-font-body,Archivo,sans-serif)}.ct-mail b{font-size:22px;color:#D6AE6B;transition:transform .3s}.ct-mail:hover b{transform:translate(4px,-4px)}
.ct-where{margin:20px 0 0;font:500 11px ui-monospace,Menlo,monospace;letter-spacing:.2em;text-transform:uppercase;color:#6f6a5f}
.ct-card{position:relative;padding:clamp(22px,3vw,38px);border-radius:24px;background:linear-gradient(160deg,rgba(26,24,18,.88),rgba(11,11,13,.92));border:1px solid #3a3426;box-shadow:0 40px 100px #000c,inset 0 1px 0 rgba(240,217,168,.12);backdrop-filter:blur(14px)}
.ct-edge{position:absolute;inset:-1px;border-radius:24px;padding:1px;background:conic-gradient(from var(--a,0deg),transparent 0 70%,#D6AE6B 85%,transparent);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:ctspin 7s linear infinite;pointer-events:none}
@property --a{syntax:'<angle>';inherits:false;initial-value:0deg}@keyframes ctspin{to{--a:360deg}}
.ct-step{display:flex;align-items:center;gap:12px;margin:0 0 14px;color:#F3EFE6}.ct-step span{font:500 11px ui-monospace,Menlo,monospace;letter-spacing:.16em;color:#D6AE6B}.ct-step b{font:500 16px var(--sw-font-body,Archivo,sans-serif)}
.ct-chips{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px}
.ct-chip{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;text-align:start;padding:14px 16px;border-radius:14px;border:1px solid #2f2c24;background:#111113;color:#cfc8b8;cursor:pointer;transition:border-color .25s,background .25s,transform .25s,box-shadow .3s}
.ct-chip i{grid-row:1/3;font-style:normal;font-size:22px;color:#6f6a5f;transition:color .25s,transform .4s}.ct-chip span{font:500 14px/1.25 var(--sw-font-body,Archivo,sans-serif);color:inherit}.ct-chip small{font:500 10px ui-monospace,Menlo,monospace;letter-spacing:.14em;text-transform:uppercase;color:#6f6a5f}
.ct-chip:hover{border-color:#D6AE6B88;transform:translateY(-2px)}
.ct-chip.on{border-color:#D6AE6B;background:linear-gradient(135deg,rgba(214,174,107,.2),rgba(214,174,107,.04));color:#F3EFE6;box-shadow:0 0 30px rgba(214,174,107,.18)}.ct-chip.on i{color:#F0D9A8;transform:scale(1.18) rotate(90deg)}
.ct-sel{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}
.ct-field{position:relative;margin-bottom:6px}
.ct-field textarea{width:100%;min-height:150px;resize:vertical;padding:18px 18px 34px;border-radius:14px;border:1px solid #2f2c24;background:#0d0d0f;color:#F3EFE6;font:16px/1.55 var(--sw-font-body,Archivo,sans-serif);outline:0;transition:border-color .25s,box-shadow .35s}
.ct-field textarea:focus{border-color:#D6AE6B;box-shadow:0 0 0 4px rgba(214,174,107,.14),0 0 40px rgba(214,174,107,.12)}
.ct-count{position:absolute;right:14px;bottom:10px;font:500 10px ui-monospace,Menlo,monospace;letter-spacing:.12em;color:#6f6a5f;pointer-events:none}
#contact .form-end{display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between;margin-top:14px}#contact .form-end small{flex:1 1 220px;color:#8d887c;font-size:12px;line-height:1.5}
.ct-send{--mx:0px;--my:0px;position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:14px;padding:18px 30px;border:0;border-radius:999px;background:linear-gradient(120deg,#D6AE6B,#F0D9A8 50%,#D6AE6B);background-size:200% 100%;color:#0B0B0D;font:600 16px var(--sw-font-body,Archivo,sans-serif);cursor:pointer;transform:translate(var(--mx),var(--my));transition:transform .2s,background-position .6s,box-shadow .3s;box-shadow:0 10px 40px rgba(214,174,107,.3)}
.ct-send:hover{background-position:100% 0;box-shadow:0 14px 60px rgba(214,174,107,.55)}.ct-send span:last-child{font-size:20px;transition:transform .3s}.ct-send:hover span:last-child{transform:translate(4px,-4px)}
.ct-send::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:ctsweep 3.6s ease-in-out infinite}@keyframes ctsweep{60%,100%{left:130%}}
#contact .privacy-form-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:18px;align-items:center}
@media(max-width:980px){.ct-wrap{grid-template-columns:1fr}.ct-h{font-size:clamp(44px,12vw,80px)}}
@media(max-width:520px){.ct-chips{grid-template-columns:1fr}.ct-mail{padding:16px 18px}}
@media(prefers-reduced-motion:reduce){.ct-left>*,.ct-card{opacity:1;transform:none;transition:none}.ct-h em,.ct-edge,.ct-send::after,.ct-live i{animation:none}}
