.contact-page{min-height:100vh;padding-top:calc(var(--nav-height) + var(--space-16));padding-bottom:var(--space-16)}.contact-page .container{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-16);gap:var(--space-16);align-items:start}.contact-info{position:relative}.contact-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--color-accent-dim);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;color:var(--color-accent);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--space-8)}.contact-badge-dot{width:8px;height:8px;background:var(--color-accent);border-radius:50%;animation:pulse-dot 2s ease-in-out infinite}.contact-title{font-family:var(--font-heading);font-size:var(--text-5xl);font-weight:700;line-height:1.1;margin-bottom:var(--space-6);text-transform:uppercase}.contact-title .accent{color:var(--color-accent);font-style:italic}.contact-subtitle{font-size:var(--text-base);color:var(--color-text-muted);line-height:1.7;margin-bottom:var(--space-10);max-width:420px}.contact-cards{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-4);gap:var(--space-4);margin-bottom:var(--space-8)}.contact-card{background:var(--color-surface);border:1px solid var(--color-border-dim);border-radius:var(--radius-lg);padding:var(--space-6);transition:all var(--duration-normal) var(--ease-out)}.contact-card:hover{border-color:var(--color-border);box-shadow:var(--shadow-glow)}.contact-card-icon{color:var(--color-accent);margin-bottom:var(--space-3)}.contact-card-label{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:600;margin-bottom:var(--space-1)}.contact-card-value{font-size:var(--text-sm);color:var(--color-text-muted)}.contact-map{width:100%;height:200px;background:var(--color-surface);border:1px solid var(--color-border-dim);border-radius:var(--radius-lg);overflow:hidden;position:relative}.contact-map-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-surface) 0,var(--color-surface-2) 100%);position:relative}.contact-map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,140,26,.05) 1px,transparent 0),linear-gradient(90deg,rgba(255,140,26,.05) 1px,transparent 0);background-size:30px 30px}.contact-map-pin{z-index:1;color:var(--color-accent)}.contact-form-wrapper,.contact-map-pin{position:relative}.contact-form{gap:var(--space-6)}.contact-form,.form-group{display:flex;flex-direction:column}.form-group{gap:var(--space-2)}.form-label{font-family:var(--font-heading);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted)}.form-input,.form-textarea{width:100%;padding:var(--space-4) var(--space-5);background:var(--color-surface);border:1px solid var(--color-border-dim);border-radius:var(--radius-md);color:var(--color-text);font-size:var(--text-base);transition:all var(--duration-normal) var(--ease-out)}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-dim)}.form-input:focus,.form-textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-dim)}.form-textarea{min-height:140px;resize:vertical}.form-submit{width:100%;padding:var(--space-5);background:var(--color-accent);color:#000;font-family:var(--font-heading);font-size:var(--text-base);font-weight:700;text-transform:uppercase;letter-spacing:.1em;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;gap:var(--space-3);transition:all var(--duration-normal) var(--ease-out);cursor:pointer;margin-top:var(--space-4)}.form-submit:hover{background:var(--color-accent-2);box-shadow:var(--shadow-glow-strong);transform:translateY(-2px)}@media (max-width:1024px){.contact-page .container{grid-template-columns:1fr;gap:var(--space-12)}.contact-title{font-size:var(--text-4xl)}}@media (max-width:480px){.contact-cards{grid-template-columns:1fr}}.contact-project-preview{margin-bottom:var(--space-8);padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:rgba(255,140,26,.03)}.preview-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border-dim)}.preview-header h3{font-family:var(--font-heading);font-size:var(--text-sm);font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text)}.preview-content{display:flex;flex-direction:column;gap:var(--space-2)}.preview-item{display:flex;justify-content:space-between;font-size:var(--text-sm)}.preview-item span{color:var(--color-text-dim)}.preview-item strong{color:var(--color-accent)}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-4);gap:var(--space-4)}@media (max-width:640px){.form-row{grid-template-columns:1fr}}.toast-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:fade-in .3s var(--ease-out)}.toast{position:relative;max-width:420px;width:90%;padding:var(--space-10);text-align:center;animation:toast-in .4s var(--ease-out)}.toast-icon{color:var(--color-accent);margin-bottom:var(--space-4)}.toast-title{font-family:var(--font-heading);font-size:var(--text-2xl);font-weight:700;margin-bottom:var(--space-3)}.toast-desc{font-size:var(--text-sm);color:var(--color-text-muted);line-height:1.7;margin-bottom:var(--space-6)}.toast-close-btn{display:inline-flex;padding:var(--space-3) var(--space-8)}.toast-x{position:absolute;top:var(--space-4);right:var(--space-4);color:var(--color-text-dim);cursor:pointer;transition:color var(--duration-fast)}.toast-x:hover{color:var(--color-text)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes toast-in{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}