.contact-grid{display:grid;grid-template-columns:1.15fr .85fr;grid-gap:clamp(32px,5vw,72px);gap:clamp(32px,5vw,72px);align-items:start}.cform{background:#fff}.cform .row2{display:grid;grid-template-columns:1fr 1fr;grid-gap:18px;gap:18px}.field{display:grid;grid-gap:8px;gap:8px;margin-bottom:18px}.field label{font-size:14px;color:var(--fg-2)}.field label .req{color:#b88600}.field input,.field select,.field textarea{height:52px;padding:0 16px;border-radius:var(--radius-2);border:1px solid var(--gv-line);background:#fff;font:inherit;font-size:15px;color:var(--fg-1);transition:border-color var(--dur-fast)}.field textarea{height:auto;padding:14px 16px;min-height:120px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gv-yellow);box-shadow:0 0 0 3px rgba(245,180,0,.18)}.cform .btn{margin-top:6px}.cform .fine{font-size:12.5px;color:var(--fg-3);margin-top:14px}.cform .field-hint{font-size:13px;color:var(--fg-3);margin:-4px 0 18px}.cform .field-hint .req{color:#b88600}.form-done{text-align:center;padding:40px 8px;border:1px solid var(--gv-line);border-radius:var(--radius-3);background:var(--gv-cream)}.form-done .ok{width:58px;height:58px;border-radius:50%;background:var(--gv-yellow);color:var(--gv-ink);display:grid;place-items:center;margin:0 auto 18px;font-size:26px}.form-done h2{font-size:26px;margin-bottom:10px}.form-done p{color:var(--fg-2);max-width:40ch;margin:0 auto}.form-error{color:#b42318;background:#fef3f2;border:1px solid #fda29b;border-radius:var(--radius-2,8px);padding:10px 14px;margin:4px 0 14px;font-size:14px}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.info-card{border:1px solid var(--gv-line);border-radius:var(--radius-3);overflow:hidden}.info-card .head{background:var(--gv-ink);color:#fff;padding:26px}.info-card .head .big{display:inline-flex;align-items:center;gap:12px;font-size:clamp(22px,2.4vw,30px);font-weight:500;letter-spacing:-.01em}.info-card .head .big .dot{background:var(--gv-yellow);width:11px;height:11px}.info-card .head .sub{color:var(--fg-on-dark-2);font-size:14px;margin-top:8px}.info-rows{padding:8px 26px 22px}.irow{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--gv-line)}.irow:last-child{border-bottom:0}.irow .ic{flex:0 0 auto;width:38px;height:38px;border-radius:50%;background:var(--gv-cream);display:grid;place-items:center;color:#b88600}.irow .k{font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-3);margin-bottom:3px}.irow .v{font-size:16px;color:var(--fg-1)}.irow .v a:hover{color:#b88600}.social-block{padding:0 26px 24px}.social-block .k{font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--fg-3);margin-bottom:10px}.contact-social{display:flex;gap:12px}.contact-social a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--gv-cream);color:#b88600;transition:color .15s,background .15s}.contact-social a:hover{background:var(--gv-yellow);color:var(--gv-ink)}.person-card{margin-top:24px;border:1px solid var(--gv-line);border-radius:var(--radius-3);background:var(--gv-cream);padding:22px 24px}.pc-top{display:flex;align-items:center;gap:16px}.pc-photo{width:72px;height:72px;border-radius:50%;object-fit:cover;object-position:50% 20%;display:block;flex:0 0 auto}.pc-name{font-weight:500;font-size:19px;letter-spacing:-.01em;color:var(--fg-1)}.pc-role{font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;color:#b88600;margin-top:3px}.pc-note{font-size:14px;color:var(--fg-2);margin:14px 0 12px}.pc-links{display:grid;grid-gap:4px;gap:4px}.pc-links a{font-size:15px;color:var(--fg-1)}.pc-links a:hover{color:#b88600}.map{position:relative;aspect-ratio:16/7;border-radius:var(--radius-3);overflow:hidden;background:var(--gv-sand);margin-top:56px}.map iframe,.map image-slot{width:100%;height:100%}.map iframe{position:absolute;inset:0;border:0}.map-card{position:absolute;left:24px;bottom:24px;z-index:3;background:#fff;border-radius:var(--radius-2);padding:16px 20px;box-shadow:var(--shadow-3);max-width:280px}.map-card b{display:block;font-weight:500;margin-bottom:4px}.map-card span{font-size:14px;color:var(--fg-2)}.map-card a{display:inline-block;margin-top:10px;font-size:14px;color:#b88600;border-bottom:1px solid}@media (max-width:860px){.contact-grid{grid-template-columns:1fr}}@media (max-width:520px){.cform .row2{grid-template-columns:1fr}}