.contact-hero .lead{margin:18px auto 0;max-width:600px}.contact-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:34px;max-width:1000px;margin:10px auto 0;align-items:start}.contact-aside{display:flex;flex-direction:column;gap:16px}.cm-card{background:var(--card2);border:1px solid rgba(var(--borderRGB),.28);border-radius:22px;padding:24px;position:relative;overflow:hidden;transition:transform .18s,box-shadow .18s}.cm-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(var(--accentRGB),.14)}.cm-ic{width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent),var(--accentLight));margin-bottom:14px}.cm-ic-line{display:block;width:44px;height:44px;border-radius:11px;margin-bottom:14px}.cm-card h3{font-family:var(--jp);font-weight:600;font-size:16px;color:var(--ink);margin:0 0 5px;letter-spacing:.03em}.cm-card p{font-family:var(--jp);font-size:12.5px;line-height:1.8;color:var(--ink2);margin:0 0 14px}.cm-card .cm-link{font-family:var(--jp);font-size:12.5px;font-weight:600;color:var(--accent);display:inline-flex;align-items:center;gap:6px;text-decoration:none}.cm-card .cm-link:hover{gap:9px}.cm-hours{font-family:var(--jp);font-size:11.5px;line-height:1.9;color:var(--mute);padding:18px 24px;background:rgba(var(--accentRGB),.05);border-radius:18px;border:1px dashed rgba(var(--borderRGB),.32)}.cm-hours b{color:var(--ink2);font-weight:600}.contact-form{background:#fff;border:1px solid rgba(var(--borderRGB),.26);border-radius:26px;padding:34px 34px 30px;box-shadow:0 20px 50px rgba(var(--accentRGB),.1)}.cf-row{margin-bottom:19px}.cf-row.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.cf-label{display:block;font-family:var(--jp);font-size:12.5px;font-weight:600;color:var(--ink);letter-spacing:.04em;margin-bottom:8px}.cf-label .req{color:var(--accent);font-size:11px;margin-left:5px}.cf-input,.cf-select,.cf-textarea{width:100%;box-sizing:border-box;font-family:var(--jp);font-size:14px;color:var(--ink);background:var(--accentVeil);border:1px solid rgba(var(--borderRGB),.32);border-radius:13px;padding:13px 15px;transition:border-color .15s,box-shadow .15s,background .15s}.cf-textarea{min-height:150px;resize:vertical;line-height:1.7}.cf-input::placeholder,.cf-textarea::placeholder{color:var(--mute)}.cf-input:focus,.cf-select:focus,.cf-textarea:focus{outline:none;border-color:var(--accent);background:#fff;box-shadow:0 0 0 3px rgba(var(--accentRGB),.14)}.cf-select{appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23A28BB8' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;padding-right:38px}.cf-check{display:flex;align-items:flex-start;gap:10px;margin:4px 0 22px}.cf-check input{margin-top:3px;width:16px;height:16px;accent-color:var(--accent);flex:none;cursor:pointer}.cf-check label{font-family:var(--jp);font-size:12px;line-height:1.7;color:var(--ink2);cursor:pointer}.cf-check a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.cf-submit{width:100%}.cf-note{font-family:var(--jp);font-size:11px;color:var(--mute);text-align:center;margin:14px 0 0;line-height:1.7}.cf-error{display:none;margin:14px 0 0;padding:12px 14px;border-radius:12px;background:#d23a4e1a;color:#b23048;font-family:var(--jp);font-size:12.5px;text-align:center}.cf-success{display:none;text-align:center;padding:24px 10px 14px}.contact-form.sent .cf-body{display:none}.contact-form.sent .cf-success{display:block}.cf-success img{width:112px;margin-bottom:12px}.cf-success h3{font-family:var(--jp-display);font-weight:600;font-size:21px;color:var(--ink);margin:0 0 10px;letter-spacing:.03em}.cf-success p{font-family:var(--jp);font-size:13.5px;line-height:1.9;color:var(--ink2);margin:0 auto;max-width:360px}@media(max-width:860px){.contact-layout{grid-template-columns:1fr;gap:24px}}@media(max-width:560px){.cf-row.two{grid-template-columns:1fr}.contact-form{padding:26px 22px}}
