.contact-page{max-width:1040px;margin:0 auto;padding:1.5rem 1.25rem 4rem;color:var(--text-primary)}.cf-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(1.5rem,5vw,4rem);align-items:start}.cf-aside{position:-webkit-sticky;position:sticky;top:2rem;padding-top:.5rem}.cf-kicker{display:block;font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--accent-gold);margin-bottom:.9rem}.cf-title{margin:0 0 1rem;font-family:var(--serif);font-size:clamp(2rem,4.5vw,2.6rem);font-weight:500;line-height:1.1;letter-spacing:-.01em;color:var(--text-primary)}.cf-intro{margin:0 0 2rem;font-size:1rem;line-height:1.65;color:var(--text-secondary);max-width:42ch}.cf-reassure{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.4rem}.cf-reassure li{display:flex;align-items:flex-start;gap:.85rem}.cf-reassure-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:11px;background:var(--accent-gold-bg);color:var(--accent-gold);flex-shrink:0}.cf-reassure-title{display:block;font-size:.92rem;font-weight:600;color:var(--text-primary);margin-bottom:.15rem}.cf-reassure-text{display:block;font-size:.86rem;line-height:1.5;color:var(--text-secondary)}.cf-panel{border:1px solid var(--border-default);border-radius:20px;background:var(--bg-card);padding:clamp(1.5rem,3vw,2.25rem);box-shadow:var(--shadow-soft)}.cf-form{display:flex;flex-direction:column;gap:1.35rem}.cf-form-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding-bottom:1.25rem;border-bottom:1px solid var(--border-light)}.cf-form-heading{margin:0;font-family:var(--serif);font-size:1.35rem;font-weight:500;color:var(--text-primary)}.cf-required-hint{font-size:.78rem;color:var(--text-muted)}.cf-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.cf-field{display:flex;flex-direction:column;gap:.45rem;min-width:0}.cf-field label{font-size:.85rem;font-weight:600;color:var(--text-primary)}.cf-star{color:var(--accent-gold)}.cf-field input,.cf-field textarea{width:100%;padding:.8rem .95rem;border:1px solid var(--border-default);border-radius:12px;font-size:.95rem;color:var(--text-primary);background:var(--bg-primary);font-family:inherit;box-sizing:border-box;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.cf-field textarea{resize:vertical;min-height:130px;line-height:1.6}.cf-field input::placeholder,.cf-field textarea::placeholder{color:var(--text-muted)}.cf-field input:focus,.cf-field textarea:focus{border-color:var(--accent-gold);box-shadow:0 0 0 3px var(--accent-gold-bg)}.cf-error{display:flex;align-items:center;gap:.55rem;margin:0;padding:.85rem 1.05rem;background:var(--bg-card);border:1px solid var(--border-light);border-left:3px solid var(--accent-error);border-radius:12px;color:var(--text-secondary);font-size:.88rem;line-height:1.45}.cf-error svg{color:var(--accent-error);flex-shrink:0}.cf-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;align-self:flex-start;padding:.85rem 1.75rem;background:var(--accent-gold);color:#fff;border:none;border-radius:12px;font-size:.95rem;font-weight:600;font-family:inherit;cursor:pointer;transition:background .2s ease,opacity .2s ease}.cf-btn:hover:not(:disabled){background:var(--accent-gold-hover)}.cf-btn:focus-visible{outline:2px solid var(--accent-gold);outline-offset:2px}.cf-btn:disabled{opacity:.6;cursor:not-allowed}.cf-btn-soft{background:transparent;color:var(--accent-gold);border:1px solid var(--accent-gold-soft)}.cf-btn-soft:hover:not(:disabled){background:var(--accent-gold-bg)}.cf-success{display:flex;flex-direction:column;align-items:flex-start;padding:.5rem 0}.cf-success-mark{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;margin-bottom:1.4rem;background:var(--accent-success-bg, rgba(111, 143, 106, .16));color:var(--accent-success)}.cf-success-title{margin:0 0 .7rem;font-family:var(--serif);font-size:1.65rem;font-weight:500;color:var(--text-primary)}.cf-success-text{margin:0 0 1.75rem;font-size:.98rem;line-height:1.6;color:var(--text-secondary);max-width:44ch}@media (max-width: 860px){.cf-layout{grid-template-columns:1fr;gap:2rem}.cf-aside{position:static}.cf-intro{max-width:none}}@media (max-width: 560px){.contact-page{padding:1rem 1rem 3rem}.cf-row{grid-template-columns:1fr}.cf-btn{align-self:stretch}}
