.contact-section{background:var(--noir);border-top:1px solid var(--border);padding:10rem 4rem;position:relative;overflow:hidden}.contact-bg-image{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.contact-bg-image img{object-fit:cover;object-position:center;opacity:.04;filter:grayscale()contrast(1.1);width:100%;height:100%;transform:scale(1.02)}.contact-glow{background:radial-gradient(800px circle at var(--glow-x,50%) var(--glow-y,50%), #b8860b0d 0%, transparent 50%);pointer-events:none;z-index:0;transition:background .3s;position:absolute;inset:0}.contact-grain{opacity:.025;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-size:128px;position:absolute;inset:0}.contact-lines{pointer-events:none;z-index:0;justify-content:space-between;display:flex;position:absolute;inset:0}.contact-lines span{background:linear-gradient(#0000 0%,#00000008 30% 70%,#0000 100%);width:1px}.contact-inner{z-index:1;grid-template-columns:1fr 1.15fr;align-items:start;gap:6rem;max-width:1400px;margin:0 auto;display:grid;position:relative}.contact-left{opacity:0;padding-top:1rem;transition:all .9s cubic-bezier(.16,1,.3,1);transform:translateY(40px)}.contact-section--visible .contact-left{opacity:1;transform:translateY(0)}.contact-title{font-family:var(--serif);color:var(--white);letter-spacing:-.02em;margin-bottom:1.5rem;font-size:clamp(2.4rem,4vw,3.8rem);font-weight:600;line-height:1.15}.contact-title em{color:var(--accent);font-style:italic;font-weight:500}.contact-lead{color:var(--text-secondary);max-width:480px;margin-bottom:3rem;font-size:1.05rem;line-height:1.8}.contact-promises{flex-direction:column;gap:1.5rem;display:flex}.contact-promise{background:var(--charbon);border:1px solid var(--border);border-radius:12px;align-items:flex-start;gap:1rem;padding:1.2rem 1.5rem;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex}.contact-promise:hover{border-color:var(--accent);transform:translate(4px);box-shadow:0 4px 24px #b8860b0f}.contact-promise-icon{background:var(--accent-dim);width:40px;height:40px;color:var(--accent);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.contact-promise strong{color:var(--white);margin-bottom:.15rem;font-size:.88rem;font-weight:600;display:block}.contact-promise span{color:var(--text-muted);font-size:.8rem}.contact-right{opacity:0;transition:all .9s cubic-bezier(.16,1,.3,1) .2s;transform:translateY(50px)}.contact-section--visible .contact-right{opacity:1;transform:translateY(0)}.contact-form-card{background:var(--charbon);border:1px solid var(--border);border-radius:20px;transition:border-color .4s;overflow:hidden;box-shadow:0 24px 80px #0000000f}.contact-form-card:hover{border-color:#b8860b33}.contact-form-progress{background:var(--surface);height:3px;position:relative;overflow:hidden}.contact-form-progress-fill{background:linear-gradient(90deg, var(--accent), #d4a017);height:100%;transition:width .6s cubic-bezier(.16,1,.3,1);position:relative}.contact-form-progress-fill:after{content:"";background:var(--accent);border-radius:50%;width:8px;height:7px;position:absolute;top:-2px;right:0;box-shadow:0 0 12px #b8860b80}.contact-form-header{padding:2rem 2.5rem 0}.contact-form-steps{gap:2.5rem;display:flex}.contact-step-dot{opacity:.4;align-items:center;gap:.6rem;transition:all .4s;display:flex}.contact-step-dot--active{opacity:.7}.contact-step-dot--current{opacity:1}.contact-step-num{border:1.5px solid var(--border);width:28px;height:28px;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:.65rem;font-weight:600;transition:all .4s;display:flex}.contact-step-dot--active .contact-step-num{border-color:var(--accent);color:var(--accent)}.contact-step-dot--current .contact-step-num{background:var(--accent);border-color:var(--accent);color:#fafaf8;box-shadow:0 0 16px #b8860b4d}.contact-step-label{color:var(--text-muted);letter-spacing:.03em;font-size:.75rem;font-weight:500;transition:color .3s}.contact-step-dot--current .contact-step-label{color:var(--white)}.contact-form-body{min-height:380px;padding:2rem 2.5rem}.contact-form-panel{animation:.5s cubic-bezier(.16,1,.3,1) contactPanelIn}@keyframes contactPanelIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.contact-form-question{font-family:var(--serif);color:var(--white);letter-spacing:-.01em;margin-bottom:.5rem;font-size:1.4rem;font-weight:600}.contact-form-hint{color:var(--text-muted);margin-bottom:1.5rem;font-size:.88rem;line-height:1.6}.contact-type-grid{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:1.5rem;margin-bottom:2rem;display:grid}.contact-type-card{background:var(--noir);border:1.5px solid var(--border);cursor:pointer;text-align:left;border-radius:14px;flex-direction:column;gap:.8rem;padding:1.4rem 1.2rem;transition:all .35s cubic-bezier(.16,1,.3,1);display:flex;position:relative}.contact-type-card:hover{border-color:var(--border-hover);transform:translateY(-2px);box-shadow:0 8px 24px #0000000a}.contact-type-card--selected{background:#b8860b0a;border-color:var(--accent)!important;box-shadow:0 0 0 1px #b8860b26,0 8px 32px #b8860b0f!important}.contact-type-icon{background:var(--surface);width:44px;height:44px;color:var(--text-secondary);border-radius:12px;justify-content:center;align-items:center;transition:all .35s;display:flex}.contact-type-card--selected .contact-type-icon{background:var(--accent-dim);color:var(--accent)}.contact-type-label{color:var(--text);font-size:.85rem;font-weight:600;transition:color .3s}.contact-type-card--selected .contact-type-label{color:var(--white)}.contact-type-check{background:var(--accent);color:#fafaf8;opacity:0;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;transition:all .35s cubic-bezier(.34,1.56,.64,1);display:flex;position:absolute;top:.8rem;right:.8rem;transform:scale(.5)}.contact-type-card--selected .contact-type-check{opacity:1;transform:scale(1)}.contact-budget-section{margin-top:.5rem}.contact-field-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.6rem;font-size:.72rem;font-weight:600;display:block}.contact-budget-grid{flex-wrap:wrap;gap:.5rem;display:flex}.contact-budget-chip{background:var(--noir);border:1.5px solid var(--border);color:var(--text-secondary);cursor:pointer;font-size:.8rem;font-weight:500;font-family:var(--sans);border-radius:100px;padding:.5rem 1.1rem;transition:all .3s cubic-bezier(.16,1,.3,1)}.contact-budget-chip:hover{border-color:var(--border-hover);color:var(--text)}.contact-budget-chip--selected{border-color:var(--accent);background:var(--accent-dim);color:var(--accent);font-weight:600}.contact-fields{flex-direction:column;gap:1.2rem;margin-top:1.5rem;display:flex}.contact-field-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.contact-field-wrapper{align-items:center;display:flex;position:relative}.contact-field-icon{color:var(--text-muted);pointer-events:none;transition:color .3s;position:absolute;left:1rem}.contact-field-wrapper:focus-within .contact-field-icon{color:var(--accent)}.contact-field{background:var(--noir);border:1.5px solid var(--border);width:100%;font-family:var(--sans);color:var(--text);border-radius:12px;outline:none;padding:.9rem 1rem .9rem 3rem;font-size:.9rem;transition:all .3s cubic-bezier(.16,1,.3,1)}.contact-field::placeholder{color:var(--text-muted);opacity:.6}.contact-field:focus{border-color:var(--accent);box-shadow:0 0 0 3px #b8860b1a}.contact-field--textarea{resize:vertical;min-height:160px;padding:1rem;line-height:1.7}.contact-field-wrapper--textarea{flex-direction:column;align-items:stretch}.contact-field-wrapper--textarea .contact-field-icon{display:none}.contact-field--textarea{padding-left:1rem}.contact-textarea-count{color:var(--text-muted);opacity:.6;font-size:.7rem;position:absolute;bottom:.7rem;right:1rem}.contact-error{color:var(--error);background:#c5303014;border:1px solid #c5303033;border-radius:8px;margin-top:1rem;padding:.8rem 1rem;font-size:.85rem}.contact-form-footer{border-top:1px solid var(--border);justify-content:space-between;align-items:center;padding:1.5rem 2.5rem 2rem;display:flex}.contact-btn-back{border:1px solid var(--border);font-family:var(--sans);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:.5rem;padding:.7rem 1.2rem;font-size:.82rem;font-weight:500;transition:all .3s;display:inline-flex}.contact-btn-back:hover{border-color:var(--border-hover);color:var(--text)}.contact-btn-next,.contact-btn-submit{background:var(--accent);font-family:var(--sans);color:#fafaf8;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.6rem;padding:.8rem 1.8rem;font-size:.85rem;font-weight:600;transition:all .35s cubic-bezier(.16,1,.3,1);display:inline-flex}.contact-btn-next:hover,.contact-btn-submit:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 8px 24px #b8860b40}.contact-btn-next--disabled,.contact-btn-submit--disabled{opacity:.4;pointer-events:none;box-shadow:none!important;transform:none!important}.contact-btn-loader{border:2px solid #ffffff4d;border-top-color:#fafaf8;border-radius:50%;width:18px;height:18px;animation:.6s linear infinite contactSpin}@keyframes contactSpin{to{transform:rotate(360deg)}}.contact-success-panel{text-align:center;flex-direction:column;align-items:center;padding:2rem 0;display:flex}.contact-success-icon{width:80px;height:80px;color:var(--success);background:#2d8a4e1a;border-radius:50%;justify-content:center;align-items:center;margin-bottom:1.5rem;animation:.6s cubic-bezier(.34,1.56,.64,1) contactSuccessPop;display:flex}@keyframes contactSuccessPop{0%{opacity:0;transform:scale(0)}50%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.contact-success-title{font-family:var(--serif);color:var(--white);margin-bottom:.8rem;font-size:1.6rem;font-weight:600}.contact-success-text{color:var(--text-secondary);max-width:380px;margin-bottom:2rem;font-size:.95rem;line-height:1.7}.contact-success-summary{flex-direction:column;gap:.8rem;width:100%;max-width:340px;display:flex}.contact-summary-item{background:var(--noir);border:1px solid var(--border);border-radius:8px;justify-content:space-between;padding:.7rem 1rem;display:flex}.contact-summary-label{color:var(--text-muted);font-size:.78rem;font-weight:500}.contact-summary-value{color:var(--text);font-size:.82rem;font-weight:600}@media (width<=1280px){.contact-section{padding:6rem 3rem}.contact-inner{gap:4rem}.contact-lead{margin-bottom:2rem}.contact-form-body{min-height:340px}}@media (width<=1024px){.contact-section{padding:5rem 2.5rem}.contact-inner{grid-template-columns:1fr;gap:2.5rem}.contact-left{padding-top:0}.contact-promises{flex-direction:row;gap:1rem}.contact-promise{text-align:center;flex-direction:column;flex:1;align-items:center}}@media (width<=768px){.contact-section{padding:3rem 1.5rem}.contact-inner{gap:2rem}.contact-lead{display:none}.contact-promises{flex-direction:row;gap:.5rem}.contact-promise{text-align:center;flex-direction:column;flex:1;align-items:center;min-width:0;padding:.8rem .5rem}.contact-promise span{display:none}.contact-promise-icon{border-radius:8px;width:32px;height:32px}.contact-promise strong{font-size:.72rem}.contact-form-header{padding:1.2rem 1.2rem 0}.contact-form-body{min-height:300px;padding:1.2rem}.contact-form-footer{padding:1rem 1.2rem 1.2rem}.contact-type-grid{grid-template-columns:1fr 1fr;gap:.5rem}.contact-type-card{gap:.5rem;padding:1rem .8rem}.contact-type-icon{width:36px;height:36px}.contact-type-label{font-size:.75rem}.contact-field-row{grid-template-columns:1fr}.contact-form-steps{gap:1.5rem}.contact-step-label{display:none}.contact-form-question{font-size:1.15rem}.contact-title{font-size:clamp(2rem,6vw,2.8rem)}}@media (width<=480px){.contact-section{padding:2.5rem 1rem}.contact-form-card{border-radius:14px}.contact-form-header{padding:1rem 1rem 0}.contact-form-body{min-height:280px;padding:1rem}.contact-form-footer{padding:.8rem 1rem 1rem}.contact-budget-grid{grid-template-columns:1fr 1fr;display:grid}.contact-budget-chip{text-align:center;padding:.4rem .6rem;font-size:.72rem}.contact-type-card{padding:.8rem}.contact-type-icon{width:32px;height:32px}.contact-type-label{font-size:.7rem}}
