/* Group Uno contact form – floating labels, topic chips, instant validation, animated send/tick */
.cf-card{position:relative;max-width:760px;margin:38px auto 8px;text-align:left;padding:34px 36px 30px;background:linear-gradient(160deg,#ffffff14,#ffffff06);border:1px solid #ffffff26;box-shadow:0 30px 70px -30px #00140d99}
.cf-card::before{content:"";position:absolute;left:0;top:0;width:64px;height:2px;background:var(--gold)}
.cf-card-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:22px}
.cf-card-head h3{margin:0;font:400 30px/1.1 'Cormorant Garamond',Georgia,serif;color:#fff}
.cf-card-head span{font-size:12.5px;color:#b9cbbf;letter-spacing:.04em}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:18px 18px}
.contact-form .cf-full{grid-column:1/-1}
/* topic chips */
.cf-topics{border:0;margin:0 0 4px;padding:0;display:flex;flex-wrap:wrap;gap:9px}
.cf-topics legend{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:12px;padding:0}
.cf-chip{position:relative;cursor:pointer}
.cf-chip input{position:absolute;opacity:0;width:1px;height:1px}
.cf-chip span{display:inline-block;padding:9px 15px;border:1px solid #ffffff38;color:#e6eee8;font-size:13.5px;font-weight:500;transition:background .18s,border-color .18s,color .18s,transform .18s}
.cf-chip:hover span{border-color:var(--gold);transform:translateY(-1px)}
.cf-chip input:checked+span{background:var(--gold);border-color:var(--gold);color:#17372c;font-weight:700}
.cf-chip input:focus-visible+span{outline:2px solid var(--gold);outline-offset:3px}
/* floating-label fields */
.cf-field{position:relative}
.cf-field input,.cf-field textarea{width:100%;box-sizing:border-box;padding:24px 15px 9px;border:0;border-bottom:1px solid #ffffff55;background:linear-gradient(var(--gold),var(--gold)) no-repeat left bottom/0% 2px,#ffffff10;color:#fff;font:16px/1.45 Manrope,Arial,sans-serif;border-radius:0;transition:background-size .3s ease,background-color .2s,border-color .2s;-webkit-appearance:none;appearance:none}
.cf-field textarea{min-height:140px;resize:vertical;padding-top:28px}
.cf-field label{position:absolute;left:15px;top:17px;font-size:15px;color:#c9d8ce;pointer-events:none;transform-origin:left top;transition:transform .18s ease,color .18s ease,top .18s ease}
.cf-field label .cf-opt{color:#9fb5a8;font-size:.85em}
.cf-field input:focus+label,.cf-field input:not(:placeholder-shown)+label,.cf-field textarea:focus+label,.cf-field textarea:not(:placeholder-shown)+label{transform:translateY(-10px) scale(.76);color:var(--gold)}
.cf-field input:focus,.cf-field textarea:focus{outline:none;background-color:#ffffff1a;background-size:100% 2px}
.cf-field.cf-bad input,.cf-field.cf-bad textarea{border-bottom-color:#f6b37a;background-color:#f6b37a14}
.cf-field.cf-good input,.cf-field.cf-good textarea{border-bottom-color:#9fd3b0}
.cf-field .cf-tick{position:absolute;right:12px;top:19px;width:18px;height:18px;opacity:0;transform:scale(.6);transition:opacity .2s,transform .2s;color:#9fd3b0}
.cf-field.cf-good .cf-tick{opacity:1;transform:scale(1)}
.cf-msg-err{display:block;min-height:0;font-size:12.5px;color:#f6c48a;margin-top:6px}
.cf-msg-err:empty{display:none}
.cf-count{position:absolute;right:12px;bottom:10px;font-size:11.5px;color:#9fb5a8;pointer-events:none}
/* consent + send */
.contact-form .cf-consent{display:flex;gap:11px;align-items:flex-start;font-size:13px;line-height:1.55;color:#c9d8ce;margin:2px 0 0;cursor:pointer}
.contact-form .cf-consent input{width:18px;height:18px;flex:none;margin-top:2px;accent-color:#d1b46f}
.cf-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:4px}
.cf-send{position:relative;display:inline-flex;align-items:center;gap:12px;border:0;cursor:pointer;padding:16px 26px;background:var(--gold);color:#17372c;font:700 15px/1 Manrope,Arial,sans-serif;letter-spacing:.01em;overflow:hidden;transition:background .2s,transform .12s,box-shadow .2s;box-shadow:0 10px 24px -12px #d1b46faa}
.cf-send:hover{background:#e4ca88;box-shadow:0 14px 30px -12px #d1b46fcc}
.cf-send:active{transform:translateY(1px) scale(.99)}
.cf-send svg{width:18px;height:18px;transition:transform .25s ease}
.cf-send:hover svg{transform:translateX(4px)}
.cf-send .cf-spin{display:none;width:18px;height:18px;border:2px solid #17372c44;border-top-color:#17372c;border-radius:50%;animation:cf-spin .7s linear infinite}
.cf-send.is-sending{pointer-events:none;opacity:.92}
.cf-send.is-sending .cf-spin{display:inline-block}.cf-send.is-sending svg{display:none}
@keyframes cf-spin{to{transform:rotate(360deg)}}
.cf-status{font-size:14px;margin:0;color:#e6eee8}
.cf-status.cf-err{color:#f6c48a}
.contact-form .cf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cf-shake{animation:cf-shake .38s ease}
@keyframes cf-shake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
/* success */
.cf-done{text-align:center;padding:26px 8px 14px;animation:cf-pop .45s cubic-bezier(.2,.9,.3,1.2)}
.cf-done:focus{outline:none}
.cf-check{width:74px;height:74px;display:block;margin:0 auto 18px}
.cf-check circle{fill:none;stroke:var(--gold);stroke-width:2;stroke-dasharray:166;stroke-dashoffset:166;animation:cf-draw .6s ease forwards}
.cf-check path{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:48;stroke-dashoffset:48;animation:cf-draw .35s .5s ease forwards}
.cf-done h3{font:400 34px/1.15 'Cormorant Garamond',Georgia,serif;margin:0 0 8px;color:#fff}
.cf-done p{margin:0 auto;max-width:440px;color:#d0ded6}
@keyframes cf-draw{to{stroke-dashoffset:0}}
@keyframes cf-pop{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
/* entrance */
.cf-anim .cf-card{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.cf-anim .cf-card.cf-in{opacity:1;transform:none}
.contact .contact-or{margin:44px auto 0;color:#b9cbbf;font-size:12px;letter-spacing:.2em;display:flex;align-items:center;justify-content:center;gap:14px}
.contact .contact-or::before,.contact .contact-or::after{content:"";width:48px;height:1px;background:#ffffff30}
@media(max-width:620px){.cf-card{padding:26px 18px 22px;margin-top:30px}.contact-form{grid-template-columns:1fr}.cf-actions{flex-direction:column;align-items:stretch}.cf-send{justify-content:center;width:100%}.cf-card-head h3{font-size:26px}}
@media(prefers-reduced-motion:reduce){.cf-anim .cf-card,.cf-done,.cf-shake,.cf-check circle,.cf-check path,.cf-field label,.cf-chip span,.cf-send svg{animation:none!important;transition:none!important}.cf-anim .cf-card{opacity:1;transform:none}.cf-check circle,.cf-check path{stroke-dashoffset:0}}
