/* ===== Contact Form Layout ===== */
.contact-grid{display:grid;grid-template-columns:1fr 380px;gap:64px;align-items:start}

/* ===== Form Elements ===== */
.form-group{margin-bottom:28px}
.form-label{display:block;font-size:14px;font-weight:700;margin-bottom:8px;color:var(--ink)}
.form-label .required{font-size:11px;font-weight:700;color:#fff;background:var(--orange);padding:2px 8px;border-radius:4px;margin-left:8px;vertical-align:middle}
.form-label .optional{font-size:11px;font-weight:500;color:var(--gray-400);margin-left:8px}
.form-input,.form-textarea,.form-select{width:100%;padding:14px 16px;border:2px solid var(--gray-200);border-radius:12px;font-family:var(--font-jp);font-size:14px;color:var(--ink);background:#fff;transition:border-color .3s;outline:none;appearance:none}
.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--accent)}
.form-input::placeholder,.form-textarea::placeholder{color:var(--gray-400)}
.form-textarea{min-height:180px;resize:vertical}
.form-select{background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%239c9c96' stroke-width='2' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px;cursor:pointer}
.form-checkbox-group{display:flex;flex-direction:column;gap:12px}
.form-checkbox{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:14px;color:var(--gray-600)}
.form-checkbox input[type="checkbox"]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}
.form-privacy{font-size:13px;color:var(--gray-600);line-height:1.8;margin-bottom:32px}
.form-privacy a{color:var(--accent);text-decoration:none}
.form-privacy a:hover{text-decoration:underline}
.btn-submit{display:block;width:100%;padding:18px 36px;border-radius:100px;font-family:var(--font-jp);font-size:16px;font-weight:700;text-decoration:none;transition:all .3s;cursor:pointer;border:none;background:var(--accent);color:#fff;text-align:center}
.btn-submit:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,102,255,.4)}

/* ===== Sidebar ===== */
.contact-sidebar{position:sticky;top:120px}
.sidebar-card{background:var(--gray-100);border-radius:var(--radius);padding:32px;margin-bottom:24px}
.sidebar-card h3{font-size:16px;font-weight:900;margin-bottom:16px}
.sidebar-info{display:flex;flex-direction:column;gap:16px;margin-top:16px}
.sidebar-info-item{display:flex;align-items:flex-start;gap:12px}
.sidebar-info-icon{font-size:20px;flex-shrink:0;margin-top:2px}
.sidebar-info-item .info-label{font-size:12px;font-weight:700;color:var(--gray-400);letter-spacing:.5px}
.sidebar-info-item .info-value{font-size:14px;color:var(--ink);font-weight:500}
.sidebar-note{background:var(--ink);color:#fff;border-radius:var(--radius);padding:28px;font-size:13px;line-height:1.9}
.sidebar-note strong{color:var(--accent-light);display:block;margin-bottom:8px;font-size:14px}

/* ===== Form States ===== */
.form-success{text-align:center;padding:64px 32px;background:var(--gray-100);border-radius:var(--radius)}
.form-success-icon{font-size:48px;margin-bottom:16px}
.form-success h3{font-size:24px;font-weight:900;margin-bottom:12px}
.form-success p{font-size:14px;color:var(--gray-600);line-height:1.9}
.form-error-box{background:#fff0f0;border:2px solid #ffcccc;border-radius:12px;padding:20px 24px;margin-bottom:32px;color:#cc0000;font-size:14px;line-height:1.8}
.form-error-box strong{display:block;margin-bottom:8px}
.honeypot{position:absolute;left:-9999px;opacity:0;height:0;width:0;overflow:hidden}

/* ===== Responsive ===== */
@media(max-width:768px){
  .contact-grid{grid-template-columns:1fr;gap:40px}
  .contact-sidebar{position:static}
}
