.contact-page{padding-block:2rem 3rem;}.contact-header{max-width:640px;margin-bottom:2rem;}.contact-header-title{font-family:var(--font-serif);font-size:2rem;line-height:1.2;color:var(--color-ink);margin:0 0 0.5rem;}.contact-header-subtitle{color:var(--color-ink-soft);font-size:1rem;line-height:1.6;margin:0;}.contact-layout{display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:start;}@media (min-width:900px){.contact-layout{grid-template-columns:1.6fr 1fr;gap:2rem;}}.contact-form-panel,.contact-info-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:1.5rem;}.contact-panel-heading{font-family:var(--font-serif);font-size:1.25rem;color:var(--color-ink);margin:0 0 1rem;}.contact-alert{border-radius:var(--radius-sm);padding:0.85rem 1rem;margin-bottom:1.25rem;font-size:0.9rem;line-height:1.5;}.contact-alert strong{display:block;margin-bottom:0.25rem;}.contact-alert ul{margin:0.35rem 0 0;padding-left:1.2rem;}.contact-alert--success{background:var(--color-primary-tint);border:1px solid var(--color-primary-light);color:var(--color-primary-dark);}.contact-alert--error{background:#fdecec;border:1px solid #e58a8a;color:#8a1f1f;}[data-theme="dark"] .contact-alert--error{background:#2a1414;border-color:#7a3535;color:#f3a9a9;}.contact-form{display:flex;flex-direction:column;gap:1.1rem;}.contact-field{display:flex;flex-direction:column;gap:0.4rem;}.contact-field label{font-size:0.85rem;font-weight:600;color:var(--color-ink);}.contact-field input,.contact-field textarea{font:inherit;color:var(--color-ink);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:0.65rem 0.75rem;transition:border-color var(--transition),box-shadow var(--transition);}.contact-field input:focus,.contact-field textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-accent);}.contact-field textarea{resize:vertical;min-height:140px;}.contact-field.has-error input,.contact-field.has-error textarea{border-color:#d64545;}.contact-field-error{font-size:0.8rem;color:#b02a2a;}[data-theme="dark"] .contact-field-error{color:#f3a9a9;}.contact-submit-btn{align-self:flex-start;font:inherit;font-weight:600;color:#fff;background:var(--color-primary);border:none;border-radius:var(--radius-sm);padding:0.75rem 1.75rem;cursor:pointer;transition:background var(--transition);}.contact-submit-btn:hover,.contact-submit-btn:focus-visible{background:var(--color-primary-dark);}.opk-contact-hp{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}.contact-info-list{list-style:none;margin:0 0 1.5rem;padding:0;display:flex;flex-direction:column;gap:1rem;}.contact-info-item{display:flex;flex-direction:column;gap:0.2rem;}.contact-info-label{font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;color:var(--color-primary);}.contact-info-value{font-size:0.95rem;color:var(--color-ink);line-height:1.5;}.contact-info-value a{color:var(--color-ink);text-decoration:none;}.contact-info-value a:hover,.contact-info-value a:focus-visible{color:var(--color-primary);text-decoration:underline;}.contact-map-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.35rem;min-height:220px;border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-ink-soft);text-align:center;padding:1rem;}.contact-map-placeholder-label{font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--color-ink-soft);}.contact-map-placeholder-text{font-size:0.9rem;}