.contact-page{min-height:calc(100vh - var(--header-height-desktop));padding-top:40px;padding-bottom:var(--section-padding-desktop);display:flex;align-items:center;background:#fdfcfb;opacity:0;animation:fadeIn .8s ease-out forwards;position:relative;overflow:hidden}.contact-page .container{position:relative;z-index:2}.contact-page.visible{opacity:1}.harmony-symbol-container{position:relative;width:120px;height:120px;margin:0 auto 3rem;opacity:0;animation:fadeInSymbol 1.2s ease-out .3s forwards;z-index:1;pointer-events:auto;cursor:pointer;transition:transform .6s cubic-bezier(.4,0,.2,1)}.harmony-symbol-container:hover{transform:scale(1.05)}@keyframes fadeInSymbol{0%{opacity:0;transform:scale(.9) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.harmony-symbol{width:100%;height:100%;overflow:visible}.circle-back{transform-origin:center;animation:gentleFloat 8s ease-in-out infinite;transition:all .6s cubic-bezier(.4,0,.2,1)}.circle-front{transform-origin:center;animation:gentleFloat 8s ease-in-out infinite reverse;transition:all .6s cubic-bezier(.4,0,.2,1)}@keyframes gentleFloat{0%,to{transform:translate(0)}25%{transform:translate(2px,-1px)}50%{transform:translateY(-2px)}75%{transform:translate(-2px,-1px)}}.harmony-symbol-container:hover .circle-back{animation:breatheBack 4s ease-in-out infinite,gentleFloat 8s ease-in-out infinite}.harmony-symbol-container:hover .circle-front{animation:breatheFront 4s ease-in-out infinite,gentleFloat 8s ease-in-out infinite reverse}@keyframes breatheBack{0%,to{opacity:.5;transform:scale(1);stroke-width:1.5}50%{opacity:.7;transform:scale(1.02);stroke-width:2}}@keyframes breatheFront{0%,to{opacity:.7;transform:scale(1);stroke-width:1.5}50%{opacity:.9;transform:scale(.98);stroke-width:1}}.circle-back,.circle-front{stroke-linecap:round;stroke-linejoin:round}.contact-wrapper{max-width:540px;margin:0 auto 40px;padding:60px 40px;background:#fffffffa;border-radius:var(--radius-xl);box-shadow:0 8px 32px #0000000a;border:1px solid rgba(232,229,224,.3);position:relative;z-index:10}.contact-title{font-family:Lora,serif;font-size:clamp(2.5rem,5vw,3.5rem);font-weight:400;line-height:1.25;letter-spacing:.5px;text-align:center;color:#171717;margin-bottom:2rem}.contact-intro{font-family:Inter,sans-serif;font-size:18px;font-weight:400;line-height:1.6;text-align:center;color:#525252;margin-bottom:var(--spacing-xl)}.contact-form{display:flex;flex-direction:column;gap:24px}.form-group{display:flex;flex-direction:column}.form-group label{font-size:var(--font-size-micro);font-weight:var(--font-weight-regular);color:var(--color-text-secondary);margin-bottom:var(--spacing-xs);letter-spacing:.02em}.form-group input,.form-group textarea{padding:16px;border:1px solid var(--border-light);border-radius:var(--radius-medium);font-size:var(--font-size-body);font-family:inherit;background:var(--color-section-bg);transition:var(--transition-base);color:var(--color-text-primary)}.form-group input::-moz-placeholder,.form-group textarea::-moz-placeholder{color:var(--color-text-secondary)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-secondary)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-text-secondary);background:var(--color-main-bg);box-shadow:none}.form-group textarea{resize:vertical;min-height:120px;line-height:1.5}.consent-group{margin:24px 0 8px}.consent-label{display:grid;grid-template-columns:18px 1fr;gap:12px;cursor:pointer;font-size:14px;line-height:1.6;align-items:start}.consent-label input[type=checkbox]{cursor:pointer;width:18px;height:18px;margin:0 5px 0 0;padding:0;accent-color:#6b8e6f;position:relative;top:2px}.consent-text{color:#555;-webkit-user-select:none;-moz-user-select:none;user-select:none;line-height:1.6}.consent-text a{color:#6b8e6f;text-decoration:underline;font-weight:500}.consent-text a:hover{color:#4a6b4d}.submit-button{padding:18px 40px;background:linear-gradient(135deg,#e8ba8a,#e0b4c4);color:#fff;border:none;border-radius:60px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);margin-top:var(--spacing-md);font-family:Inter,sans-serif;letter-spacing:.8px;box-shadow:none;text-transform:uppercase}.submit-button:disabled{opacity:.6;cursor:not-allowed}.submit-button:hover{background:#7a8a4f;color:#fff;border-color:#7a8a4f;transform:translateY(-4px) scale(1.02);box-shadow:0 20px 50px #8a9a5b4d,0 8px 24px #8a9a5b26;letter-spacing:1px}.success-message{text-align:center;padding:40px;animation:fadeInScale .5s ease-out}.success-icon{width:64px;height:64px;margin:0 auto var(--spacing-lg);color:var(--color-accent-sage)}.success-icon svg{width:100%;height:100%}.success-message h2{font-family:var(--font-heading);font-size:var(--font-size-h2);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.success-message p{font-size:var(--font-size-body);color:var(--color-text-primary)}.contact-footer{margin-top:var(--spacing-xl);padding-top:var(--spacing-lg);border-top:1px solid var(--border-light);text-align:center}.alternative-contact{font-size:var(--font-size-micro);color:var(--color-text-secondary);line-height:var(--line-height-base)}.alternative-contact a{color:var(--color-text-primary);text-decoration:none;transition:var(--transition-base)}.alternative-contact a:hover{color:var(--color-text-primary);text-decoration:underline;text-underline-offset:4px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media(max-width:639px){.contact-page{padding-top:20px;padding-bottom:var(--section-padding-mobile);min-height:calc(100vh - var(--header-height-mobile));display:flex;align-items:flex-start}.harmony-symbol-container{width:80px;height:80px;margin-bottom:2rem}.harmony-symbol-container:hover{transform:scale(1.03)}.container{width:100%;padding:0 16px}.contact-wrapper{padding:36px 20px;margin:0;border-radius:16px;box-shadow:0 4px 20px #0000000f}.contact-title{font-size:2rem;line-height:1.3;margin-bottom:1rem}.contact-intro{font-size:1rem;line-height:1.5;margin-bottom:2rem}.contact-form{gap:20px}.form-group label{font-size:.8125rem;margin-bottom:6px}.form-group input,.form-group textarea{padding:14px 16px;font-size:16px;border-radius:10px;min-height:44px}.form-group textarea{min-height:100px}.consent-label input[type=checkbox]{width:16px;height:16px;min-width:16px;min-height:16px;max-width:16px;max-height:16px}.consent-label{grid-template-columns:16px 1fr;gap:10px;font-size:13px}.submit-button{width:100%;padding:16px 32px;font-size:1rem;min-height:48px;border-radius:24px;margin-top:8px}.success-message{padding:32px 20px}.success-icon{width:56px;height:56px;margin-bottom:20px}.success-message h2{font-size:1.5rem;margin-bottom:6px}.success-message p{font-size:1rem}.contact-footer{margin-top:32px;padding-top:24px}.alternative-contact{font-size:.875rem;line-height:1.5}}@media(min-width:640px)and (max-width:767px){.harmony-symbol-container{width:100px;height:100px;margin-bottom:2.5rem}.contact-wrapper{max-width:480px;padding:48px 36px}.submit-button{width:auto;min-width:200px}}@media(min-width:768px)and (max-width:1023px){.contact-page{padding-top:30px;min-height:calc(100vh - var(--header-height-tablet))}.harmony-symbol-container{width:110px;height:110px}.contact-wrapper{max-width:600px;padding:60px 48px}.contact-title{font-size:2.75rem}.form-group input,.form-group textarea{padding:16px 18px}}@media(min-width:1024px){.form-group input:hover,.form-group textarea:hover{border-color:var(--border-light)}.submit-button{transition:all .3s ease}.alternative-contact a{transition:color .3s ease}}@media(hover:none)and (pointer:coarse){.form-group input,.form-group textarea{min-height:48px}.submit-button{min-height:52px}.submit-button:active{transform:scale(.98)}}@media(prefers-contrast:high){.contact-wrapper{border:2px solid currentColor}.form-group input,.form-group textarea{border-width:2px}.submit-button{border:2px solid currentColor}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.circle-back,.circle-front,.overlap-accent,.harmony-symbol-container:hover .circle-back,.harmony-symbol-container:hover .circle-front{animation:none}}@media print{.contact-page{background:none}.submit-button,.contact-footer{display:none}}
