.contact-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:clamp(40px,6vw,96px);align-items:start}.contact-side{position:sticky;top:calc(var(--header-height) + 40px)}.contact-intro{font-family:var(--font-serif);font-weight:600;font-size:1.1rem;line-height:2.1;letter-spacing:.06em;color:var(--ai);padding-left:20px;border-left:2px solid var(--shu);word-break:keep-all;overflow-wrap:anywhere}.desktop-only{display:none}@media(min-width:768px){.desktop-only{display:inline}}.contact-form{padding:clamp(28px,4vw,56px);background:var(--white);border-top:2px solid var(--ai)}.form-group+.form-group{margin-top:28px}.form-group label{display:flex;align-items:center;gap:10px;margin-bottom:10px;font-family:var(--font-serif);font-weight:700;letter-spacing:.08em;color:var(--ai)}.required{padding:1px 8px;border:1px solid var(--shu);color:var(--shu);font-family:var(--font-sans);font-size:.7rem;font-weight:500;letter-spacing:.1em}.form-group input,.form-group select,.form-group textarea{width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:0;background:var(--kinari);color:var(--sumi);font-family:var(--font-sans);font-size:1rem;transition:border-color .3s,background .3s,box-shadow .3s}.form-group input::placeholder,.form-group textarea::placeholder{color:#a39d93}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--ai);background:#fff;box-shadow:0 0 0 3px #22406a1f}.form-group select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:44px;background-image:linear-gradient(45deg,transparent 50%,var(--ai) 50%),linear-gradient(135deg,var(--ai) 50%,transparent 50%);background-position:calc(100% - 22px) 52%,calc(100% - 16px) 52%;background-size:6px 6px;background-repeat:no-repeat;cursor:pointer}.form-group textarea{resize:vertical;line-height:1.8}.privacy-consent{padding:18px 20px;background:var(--kinari);border-left:2px solid var(--shu)}.form-group .checkbox-label{display:flex;align-items:flex-start;gap:12px;margin:0;font-family:var(--font-sans);font-size:.9rem;font-weight:500;letter-spacing:.04em;line-height:1.8;color:var(--sumi);cursor:pointer}.form-group .checkbox-label input{flex:none;width:20px;height:20px;margin-top:4px;padding:0;accent-color:var(--shu)}.checkbox-label a{color:var(--ai);text-decoration:underline;text-underline-offset:3px}.checkbox-label .required{margin-left:4px}.form-actions{margin-top:40px}.btn-submit{justify-content:center;width:100%;padding:18px 28px;font-family:var(--font-sans);font-size:1rem;cursor:pointer}.btn-submit:disabled{background:#9a9590;border-color:#9a9590;cursor:not-allowed}.contact-form.submitting{opacity:.7;pointer-events:none}.form-message{margin-top:28px;padding:16px 20px;font-size:.95rem;line-height:1.8;animation:messageIn .4s ease}.form-message.success{background:#eef2f7;border-left:3px solid var(--ai);color:var(--ai-deep)}.form-message.error{background:#fbefee;border-left:3px solid var(--shu);color:#8a1d22;white-space:pre-line}@keyframes messageIn{0%{opacity:0;translate:0 -8px}}@media(max-width:960px){.contact-grid{grid-template-columns:1fr;gap:32px}.contact-side{position:static}}@media(max-width:480px){.contact-form{margin-inline:calc(var(--gutter) * -1);padding:28px var(--gutter)}}
