:root {
  color-scheme: light;
  --cf-primary: #351C15; --cf-primary-dark: #1e0f0a;
  --cf-accent: #FFB500; --cf-accent-dark: #e6a300; --cf-accent-light: #fff3d0;
  --cf-green: #64A70B; --cf-green-light: #e8f5d4;
  --cf-bg: #f5f0eb; --cf-card: #ffffff;
  --cf-text: #1e0f0a; --cf-text-secondary: #6b5648; --cf-text-muted: #9c8979;
  --cf-border: #e0d5ca; --cf-border-focus: #FFB500;
  --cf-success: #64A70B; --cf-success-bg: #e8f5d4; --cf-success-border: #b5d98a;
  --cf-error: #c42b1c; --cf-error-bg: #fdf0ee; --cf-error-border: #f5c6c0;
  --cf-shadow-lg: 0 12px 40px rgba(53,28,21,0.10);
  --cf-font: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --cf-font-display: 'Playfair Display', Georgia, serif;
  --cf-radius: 12px; --cf-radius-sm: 8px;
  --cf-transition: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.contact-page *, .contact-page *::before, .contact-page *::after { box-sizing: border-box; }
.contact-page { min-height:100vh; display:flex; align-items:center; justify-content:center; padding:40px 20px; position:relative; overflow:hidden; }
.contact-page::before { content:''; position:absolute; top:-50%; left:-50%; width:200%; height:200%; background:radial-gradient(ellipse at 20% 30%,rgba(255,181,0,0.06)0%,transparent 50%),radial-gradient(ellipse at 80% 70%,rgba(53,28,21,0.04)0%,transparent 50%); animation:bgFloat 20s ease-in-out infinite; z-index:-1; }
@keyframes bgFloat{0%,100%{transform:translate(0,0)}33%{transform:translate(-10px,15px)}66%{transform:translate(10px,-10px)}}
.form-container{width:100%;max-width:580px;position:relative}
.form-card{background:var(--cf-card);border-radius:var(--cf-radius);box-shadow:var(--cf-shadow-lg);overflow:hidden;animation:cardEnter .6s cubic-bezier(.16,1,.3,1) both}
@keyframes cardEnter{from{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.form-card::before{content:'';display:block;height:5px;background:linear-gradient(90deg,var(--cf-primary),#644117,var(--cf-accent),#644117,var(--cf-primary));background-size:200% 100%;animation:gradientShift 4s ease-in-out infinite}
@keyframes gradientShift{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
.form-header{text-align:center;padding:40px 40px 8px}
.form-header__icon{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,var(--cf-primary),#644117);margin-bottom:20px;animation:iconFloat 3s ease-in-out infinite;box-shadow:0 4px 16px rgba(53,28,21,.2)}
@keyframes iconFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.form-header__icon svg{width:28px;height:28px;color:var(--cf-accent)}
.form-header h1{font-family:var(--cf-font-display);font-size:1.75rem;font-weight:700;color:var(--cf-text);margin:0 0 8px}
.form-header p{font-family:var(--cf-font);font-size:.95rem;color:var(--cf-text-secondary);margin:0;line-height:1.5}
.form-body{padding:32px 40px 40px}
.form-group{margin-bottom:24px;position:relative;animation:fieldEnter .5s cubic-bezier(.16,1,.3,1) both}
.form-group:nth-child(1){animation-delay:.1s}.form-group:nth-child(2){animation-delay:.15s}.form-group:nth-child(3){animation-delay:.2s}.form-group:nth-child(4){animation-delay:.25s}
@keyframes fieldEnter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.control-label{display:block;font-family:var(--cf-font);font-size:.85rem;font-weight:600;color:var(--cf-text);margin-bottom:8px}
.control-label .required-dot{display:inline-block;width:5px;height:5px;background:var(--cf-accent);border-radius:50%;margin-left:4px;vertical-align:super}
.form-control{display:block;width:100%;padding:14px 16px;font-family:var(--cf-font);font-size:.95rem;color:var(--cf-text);background:var(--cf-card);border:1.5px solid var(--cf-border);border-radius:var(--cf-radius-sm);outline:none;transition:border-color var(--cf-transition),box-shadow var(--cf-transition),background-color var(--cf-transition);-webkit-appearance:none}
.form-control::placeholder{color:var(--cf-text-muted)}
.form-control:hover{border-color:#c7b8a8}
.form-control:focus{border-color:var(--cf-border-focus);box-shadow:0 0 0 3px rgba(255,181,0,.15);background:#fffdf7}
textarea.form-control{resize:vertical;min-height:120px;line-height:1.6}
.form-control.is-valid{border-color:var(--cf-success);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364A70B' stroke-width='2.5'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:42px}
.form-control.is-valid:focus{box-shadow:0 0 0 3px rgba(100,167,11,.12)}
.form-control.is-invalid{border-color:var(--cf-error);background-color:var(--cf-error-bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23c42b1c' stroke-width='2.5'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cline x1='15' y1='9' x2='9' y2='15'/%3E%3Cline x1='9' y1='9' x2='15' y2='15'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:16px;padding-right:42px}
textarea.form-control.is-valid,textarea.form-control.is-invalid{background-position:right 14px top 14px}
@keyframes shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(5px)}60%{transform:translateX(-4px)}80%{transform:translateX(2px)}}
.form-group.shake{animation:shake .5s cubic-bezier(.36,.07,.19,.97) both}
.invalid-feedback{display:block;margin-top:6px;font-family:var(--cf-font);font-size:.8rem;color:var(--cf-error);font-weight:500}.invalid-feedback:empty{margin-top:0}
.form-captcha{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}
.form-captcha__image-wrapper{display:flex;align-items:center;gap:8px;flex-shrink:0}
.form-captcha__image{display:block;border-radius:var(--cf-radius-sm);border:1.5px solid var(--cf-border);height:52px;width:auto}
.form-captcha__refresh{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--cf-bg);border:1.5px solid var(--cf-border);cursor:pointer;color:var(--cf-text-secondary);transition:all var(--cf-transition)}
.form-captcha__refresh:hover{background:var(--cf-accent-light);border-color:var(--cf-accent);color:var(--cf-primary);transform:rotate(180deg)}
.form-captcha__refresh svg{width:14px;height:14px}
.form-captcha__input{flex:1;min-width:140px;margin-bottom:0}
.form-captcha__input .form-control{letter-spacing:4px;font-weight:600;text-align:center;font-size:1.1rem}
.form-hp{position:absolute;left:-9999px;top:-9999px;opacity:0;height:0;width:0;overflow:hidden;pointer-events:none}
.form-error{padding:14px 18px;background:var(--cf-error-bg);border:1px solid var(--cf-error-border);border-radius:var(--cf-radius-sm);color:var(--cf-error);font-family:var(--cf-font);font-size:.88rem;font-weight:500;margin-bottom:20px;animation:slideDown .3s ease}
.form-error::before{content:'⚠ '}.form-error_hide{display:none}
@keyframes slideDown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.form-submit{margin-top:28px}
.form-submit button{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:16px 32px;font-family:var(--cf-font);font-size:1rem;font-weight:600;color:var(--cf-primary);background:linear-gradient(135deg,var(--cf-accent),#e6a300);border:none;border-radius:var(--cf-radius-sm);cursor:pointer;position:relative;overflow:hidden;transition:all var(--cf-transition);box-shadow:0 4px 15px rgba(255,181,0,.35);letter-spacing:.02em}
.form-submit button::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transition:left .5s ease}
.form-submit button:hover::before{left:100%}
.form-submit button:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(255,181,0,.45)}
.form-submit button:active{transform:translateY(0)}
.form-submit button:disabled{cursor:not-allowed;opacity:.8}.form-submit button:disabled:hover{transform:none}
.form-submit button svg{width:18px;height:18px;transition:transform var(--cf-transition)}
.form-submit button:hover svg{transform:translateX(3px)}
.btn-spinner{display:inline-block;width:22px;height:22px;border:2.5px solid rgba(53,28,21,.2);border-top-color:var(--cf-primary);border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.form-success{text-align:center;padding:52px 40px;animation:successEnter .6s cubic-bezier(.16,1,.3,1) both}
@keyframes successEnter{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
.form-success_hide{display:none}
.form-success__checkmark{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;margin-bottom:24px}
.form-success__checkmark-circle{width:80px;height:80px;border-radius:50%;background:var(--cf-success-bg);border:2px solid var(--cf-success-border);display:flex;align-items:center;justify-content:center;animation:checkPulse 2s ease-in-out infinite}
@keyframes checkPulse{0%,100%{box-shadow:0 0 0 0 rgba(100,167,11,.15)}50%{box-shadow:0 0 0 16px rgba(100,167,11,0)}}
.form-success__checkmark svg{width:36px;height:36px;color:var(--cf-success)}
.form-success h2{font-family:var(--cf-font-display);font-size:1.5rem;font-weight:700;color:var(--cf-text);margin:0 0 12px}
.form-success p{font-family:var(--cf-font);font-size:.95rem;color:var(--cf-text-secondary);margin:0 0 32px;line-height:1.6}
.form-success__actions{display:flex;flex-direction:column;gap:12px;align-items:center}
.btn-home{display:inline-flex;align-items:center;gap:8px;padding:14px 32px;font-family:var(--cf-font);font-size:.95rem;font-weight:600;color:var(--cf-primary);background:linear-gradient(135deg,var(--cf-accent),#e6a300);border:none;border-radius:var(--cf-radius-sm);text-decoration:none;cursor:pointer;transition:all var(--cf-transition);box-shadow:0 4px 15px rgba(255,181,0,.3)}
.btn-home:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(255,181,0,.4);color:var(--cf-primary)}
.btn-home svg{width:18px;height:18px}
.btn-another{display:inline-flex;align-items:center;gap:6px;padding:10px 20px;font-family:var(--cf-font);font-size:.85rem;font-weight:500;color:var(--cf-text-secondary);background:none;border:1.5px solid var(--cf-border);border-radius:var(--cf-radius-sm);cursor:pointer;transition:all var(--cf-transition)}
.btn-another:hover{border-color:var(--cf-accent);color:var(--cf-primary);background:var(--cf-accent-light)}
.form-footer{padding:16px 40px;background:#faf6f0;border-top:1px solid var(--cf-border);text-align:center}
.form-footer p{font-family:var(--cf-font);font-size:.78rem;color:var(--cf-text-muted);margin:0}
.form-footer svg{width:12px;height:12px;vertical-align:-1px;margin-right:2px;color:#644117}
@media(max-width:640px){.contact-page{padding:20px 12px;align-items:flex-start}.form-header{padding:28px 24px 4px}.form-header h1{font-size:1.4rem}.form-body{padding:24px 24px 32px}.form-captcha{flex-direction:column}.form-captcha__input{min-width:100%}.form-footer{padding:14px 24px}.form-success{padding:36px 24px}}
