.contact-page{min-height:100vh;background:radial-gradient(circle at top,#f2f5f0 0,#f9f6f1 55%,#ffffff 100%);color:#1c1b18;padding:48px 20px 80px}.contact-header{max-width:980px;margin:0 auto 32px;display:flex;flex-direction:column;gap:12px}.contact-back{font-size:14px;color:#5d4a36;text-decoration:none;align-self:flex-start}.contact-header h1{font-size:clamp(28px,4vw,40px);letter-spacing:.02em;margin:0}.contact-header p{margin:0;color:#3f3527;line-height:1.7}.contact-errors{max-width:980px;margin:0 auto 24px;padding:16px 20px;border-radius:14px;background:#fff4f0;border:1px solid #f1c6b2;color:#8d3f1a}.contact-confirm,.contact-form{max-width:980px;margin:0 auto;background:#ffffff;border-radius:20px;padding:32px;box-shadow:0 24px 80px rgba(70,52,30,.12)}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:20px;gap:20px}.contact-confirm label,.contact-form label{display:flex;flex-direction:column;gap:8px;font-weight:600;font-size:14px;color:#2d241b}.contact-form input,.contact-form select,.contact-form textarea{border:1px solid #d9cdc1;border-radius:10px;padding:10px 12px;font-size:15px;font-family:inherit;background:#fdfbf9}.contact-message textarea{min-height:160px;resize:vertical}.contact-photo{margin-top:20px;background:#f6f4ef;border:1px solid #e6ddd2;border-radius:16px;padding:16px 18px;display:none}.contact-photo-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.contact-photo-title{font-weight:700}.contact-photo-header p{margin:6px 0 0;color:#5d4a36;font-size:13px}.contact-photo-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-bottom:12px}.contact-photo-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border-radius:12px;border:1px solid rgba(47,110,100,.2);background:#fff;font-weight:600;cursor:pointer}.contact-photo-button.secondary{background:rgba(47,110,100,.1)}.contact-photo-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.contact-photo-clear{border:none;background:transparent;color:#7a4a2a;font-size:13px;font-weight:600;cursor:pointer}.contact-photo-preview{display:grid;grid-gap:8px;gap:8px}.contact-photo-preview img{width:100%;max-height:220px;object-fit:cover;border-radius:12px}.contact-photo-preview span{font-size:12px;color:#6b5a4a}.contact-photo-confirm{margin:20px 0 0;display:grid;grid-gap:10px;gap:10px}.contact-photo-confirm img{width:100%;max-height:260px;object-fit:cover;border-radius:12px}.contact-photo-confirm span{font-size:12px;color:#6b5a4a}.contact-honeypot{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.contact-notes{margin-top:24px;background:#f7f2eb;border-radius:14px;padding:18px 20px}.contact-notes h3{margin:0 0 10px;font-size:16px}.contact-notes ul{margin:0;padding-left:18px;color:#514235;line-height:1.6}.contact-consent{margin-top:20px;display:flex;align-items:center;gap:10px;font-weight:600}.contact-action,.contact-submit{margin-top:24px;padding:12px 22px;border-radius:999px;border:none;background:#6a553c;color:#fff;font-size:15px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.contact-action:hover,.contact-submit:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(106,85,60,.2)}.contact-confirm-list{display:grid;grid-template-columns:160px 1fr;grid-gap:12px 20px;gap:12px 20px;margin:0 0 24px}.contact-confirm-list dt{font-weight:600;color:#5b4937}.contact-confirm-list dd{margin:0;color:#2b221a;line-height:1.6}.contact-actions{display:flex;flex-wrap:wrap;gap:12px}.contact-action.secondary{background:#f2ece5;color:#5b4937}.contact-status{margin-top:16px;font-size:14px;color:#6f5d4b}.contact-thanks{max-width:820px;margin:0 auto;text-align:center;background:#ffffff;border-radius:24px;padding:48px 28px;box-shadow:0 24px 80px rgba(70,52,30,.12)}.contact-thanks h2{margin-top:0;font-size:clamp(26px,4vw,34px)}.contact-thanks p{color:#3f3527;line-height:1.7}@media (max-width:640px){.contact-confirm,.contact-form{padding:24px}.contact-confirm-list{grid-template-columns:1fr}.contact-photo{display:block}}