.contact-us-page{background-color:var(--bg);min-height:100vh;display:flex;flex-direction:column;position:relative;overflow-x:hidden}.contact-hero{padding:120px 48px 80px;text-align:center;position:relative;z-index:1}.contact-hero h1{font-family:var(--font-heading);font-size:clamp(36px,5vw,48px);font-weight:600;color:var(--cream);margin-bottom:.75rem;line-height:1.1;letter-spacing:-.02em}.contact-subtitle{font-family:var(--font-body);font-size:1.125rem;color:var(--cream-dim);max-width:560px;margin:0 auto}.contact-us-content{max-width:1000px;margin:0 auto;padding:0 48px 120px;position:relative;z-index:1}.contact-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem;align-items:start}.contact-card{background-color:var(--card);border-radius:14px;padding:2.25rem;border:1px solid var(--border);transition:border-color .3s ease;height:100%;display:flex;flex-direction:column}.contact-card:hover{border-color:var(--blue-dim)}.card-icon{font-size:2.5rem;margin-bottom:1.25rem}.contact-card h3{font-family:var(--font-heading);font-size:1.25rem;color:var(--cream);margin-bottom:.75rem;font-weight:600}.contact-text p{font-family:var(--font-body);color:var(--cream-muted);line-height:1.6;margin-bottom:1.5rem;font-size:1rem}.contact-details{display:flex;flex-direction:column;gap:.75rem}.contact-link{display:flex;align-items:center;gap:.75rem;color:var(--cream-dim);font-family:var(--font-body);font-size:1rem;font-weight:500;padding:.75rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:8px;transition:border-color .2s ease,color .2s ease;text-decoration:none}.contact-link:hover{border-color:var(--blue-dim);color:var(--cream)}.contact-link .icon{font-size:1.25rem}.company-info-grid{display:grid;gap:1.25rem;margin-bottom:1.5rem}.info-item{display:flex;flex-direction:column;gap:.25rem}.info-item .label{font-family:var(--font-body);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--cream-muted);font-weight:600}.info-item .value{font-family:var(--font-body);color:var(--cream-dim);font-size:1rem;line-height:1.4}.value-link{color:var(--blue);font-family:var(--font-body);font-size:1rem;font-weight:500;transition:color .2s;text-decoration:none}.value-link:hover{color:var(--blue-bright)}.verkkolaskutus-link{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.875rem;background:transparent;border:1px solid var(--blue-dim);color:var(--blue);border-radius:8px;font-family:var(--font-body);font-weight:600;font-size:.95rem;transition:background .2s ease,color .2s ease;margin-top:auto;text-decoration:none}.verkkolaskutus-link:hover{background:var(--blue-dim);color:var(--cream)}.contact-name{font-family:var(--font-body);font-size:1.1rem;font-weight:700;color:var(--cream);margin-bottom:.25rem}.contact-title{font-family:var(--font-body);font-size:.8rem;color:var(--cream-muted);margin-bottom:.75rem;font-weight:400}.contact-intro{margin-bottom:1.5rem;color:var(--cream-muted);line-height:1.6}.contact-person-group{background:var(--surface);border-radius:10px;padding:1.25rem;border:1px solid var(--border)}.contact-person-group .contact-name{margin-bottom:.5rem;font-size:1.15rem;color:var(--blue)}.contact-form-section{max-width:600px;margin:0 auto 2rem}.contact-form-card .form-intro{font-family:var(--font-body);color:var(--cream-muted);line-height:1.6;margin-bottom:1.5rem;font-size:1rem}.contact-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-group label{font-family:var(--font-body);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--cream-muted);font-weight:600}.form-group input,.form-group textarea{font-family:var(--font-body);font-size:1rem;color:var(--cream);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem;transition:border-color .2s ease;outline:none;resize:vertical}.form-group input:focus,.form-group textarea:focus{border-color:var(--blue-dim)}.form-submit-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem;background:var(--blue);border:none;color:var(--cream);border-radius:8px;font-family:var(--font-body);font-weight:600;font-size:.95rem;cursor:pointer;transition:background .2s ease}.form-submit-btn:hover{background:var(--blue-bright)}@media (max-width: 768px){.contact-hero{padding:80px 24px 48px}.contact-hero h1{word-break:break-word}.contact-us-content{padding:0 24px 80px}.contact-cards{grid-template-columns:1fr}.contact-card{padding:1.5rem}.contact-link{font-size:.95rem;padding:.65rem .75rem;word-break:break-all}}.form-success{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2rem;color:#4ade80;text-align:center}.form-error{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;margin-bottom:1rem;background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#ef4444;font-size:.9rem}
