@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500&family=Inter:wght@400;500;600&display=swap');

.ssf-form{font-family:'Inter',system-ui,sans-serif;max-width:720px;margin:0 auto;background:#FFFEFC;padding:48px;border:1px solid #E8E8E8;color:#000}
.ssf-form *{box-sizing:border-box}
.ssf-form__grid{display:flex;flex-direction:column;gap:28px}
.ssf-form__row{display:flex;flex-direction:column}
.ssf-form__row--half{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.ssf-form__label{font-size:11px;letter-spacing:.25em;text-transform:uppercase;color:#000;font-weight:500;margin-bottom:12px}
.ssf-req{color:#8A8A8A;margin-left:4px}
.ssf-form__input,.ssf-form__select,.ssf-form__textarea{font-family:inherit;font-size:15px;padding:14px 16px;border:1px solid #D8D8D8;background:#FAFAFA;color:#000;width:100%;transition:border-color .3s ease,background .3s ease;border-radius:0;-webkit-appearance:none;appearance:none}
.ssf-form__input:focus,.ssf-form__select:focus,.ssf-form__textarea:focus{outline:none;border-color:#000;background:#FFFEFC}
.ssf-form__textarea{resize:vertical;min-height:120px;font-family:inherit;line-height:1.6}
.ssf-form__count{font-size:11px;color:#8A8A8A;margin-top:8px;align-self:flex-end;letter-spacing:.1em}
.ssf-form__selectWrap{position:relative}
.ssf-form__selectWrap::after{content:"";position:absolute;right:20px;top:50%;width:8px;height:8px;border-right:1px solid #000;border-bottom:1px solid #000;transform:translateY(-75%) rotate(45deg);pointer-events:none}
.ssf-form__radios{display:flex;flex-wrap:wrap;gap:10px}
.ssf-form__radio{display:inline-flex;align-items:center;padding:12px 20px;border:1px solid #D8D8D8;background:#FAFAFA;cursor:pointer;transition:all .3s ease;font-size:14px;color:#4A4642;position:relative}
.ssf-form__radio input{position:absolute;opacity:0;pointer-events:none}
.ssf-form__radio:hover{border-color:#000;color:#000}
.ssf-form__radio.is-checked{background:#000;color:#FFFEFC;border-color:#000}
.ssf-form__check{display:flex;align-items:center;gap:12px;padding:16px 20px;border:1px solid #D8D8D8;background:#FAFAFA;cursor:pointer;transition:all .3s ease;font-size:14.5px;color:#4A4642}
.ssf-form__check:hover{border-color:#000}
.ssf-form__check input{width:18px;height:18px;accent-color:#000;flex-shrink:0;margin:0}
.ssf-form__check.is-checked{border-color:#000;color:#000}
.ssf-form__file{position:relative}
.ssf-form__file input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;z-index:2}
.ssf-form__fileLabel{display:flex;align-items:center;gap:14px;padding:22px 20px;border:1px dashed #B0B0B0;background:#FAFAFA;cursor:pointer;transition:all .3s ease;position:relative;z-index:1}
.ssf-form__file:hover .ssf-form__fileLabel{border-color:#000;background:#F2F2F2}
.ssf-form__fileIcon{font-family:'Cormorant Garamond',serif;font-size:28px;color:#8A8A8A;font-weight:400;line-height:1}
.ssf-form__file:hover .ssf-form__fileIcon{color:#000}
.ssf-form__fileText{font-size:13.5px;color:#4A4642;line-height:1.5}
.ssf-form__fileList{margin-top:12px;display:flex;flex-direction:column;gap:6px}
.ssf-form__fileItem{font-size:12.5px;color:#4A4642;padding:8px 14px;background:#F2F2F2;border-left:2px solid #000;display:flex;justify-content:space-between;align-items:center;gap:10px}
.ssf-form__fileRemove{background:none;border:none;color:#8A8A8A;cursor:pointer;font-size:16px;padding:0 4px;line-height:1}
.ssf-form__fileRemove:hover{color:#000}
.ssf-form__submit{align-items:flex-start;margin-top:8px}
.ssf-form__btn{font-family:inherit;font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;background:#000;color:#FFFEFC;border:1px solid #000;padding:18px 42px;cursor:pointer;transition:all .4s cubic-bezier(.2,.8,.2,1);display:inline-flex;align-items:center;gap:10px;min-width:200px;justify-content:center}
.ssf-form__btn:hover:not(:disabled){background:transparent;color:#000;transform:translateY(-2px)}
.ssf-form__btn:disabled{opacity:.6;cursor:wait}
.ssf-form__btnSpinner[hidden]{display:none !important}
.ssf-form__btnSpinner{width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:ssfSpin .8s linear infinite;display:inline-block}
.ssf-form__btnSpinner::before,.ssf-form__btnSpinner::after{content:none !important;display:none !important}
@keyframes ssfSpin{to{transform:rotate(360deg)}}
.ssf-form__message{padding:20px 24px;font-size:14.5px;line-height:1.65;border:1px solid}
.ssf-form__message--success{background:#F0F7F2;border-color:#2E6B42;color:#1F4A2E}
.ssf-form__message--error{background:#FAF0F0;border-color:#8B2E2E;color:#5C1F1F}
.ssf-form__input.has-error,.ssf-form__select.has-error,.ssf-form__textarea.has-error{border-color:#8B2E2E;background:#FAF5F5}

@media (max-width:640px){
  .ssf-form{padding:32px 24px}
  .ssf-form__row--half{grid-template-columns:1fr}
  .ssf-form__radios{flex-direction:column}
  .ssf-form__radio{width:100%;justify-content:flex-start}
  .ssf-form__btn{width:100%}
}
