.contact-section{padding:clamp(48px,6vw,80px) clamp(20px,5vw,72px) clamp(80px,12vw,160px);background:var(--cream)}.contact-container{max-width:1440px;margin:0 auto;display:grid;grid-template-columns:1fr 1.6fr;gap:clamp(48px,8vw,128px);align-items:start}.contact-info{position:sticky;top:104px;opacity:0;transform:translateY(32px);animation:fadeUp .8s var(--ease-out) .4s forwards}.contact-info-heading{font-size:22px;font-weight:600;color:var(--ink);letter-spacing:.03em;line-height:1.6;margin-bottom:20px}.contact-info-text{font-size:14px;font-weight:300;line-height:2.1;color:var(--mid);margin-bottom:40px}.contact-meta{display:flex;flex-direction:column;gap:24px}.contact-meta-label{font-family:var(--body-en);font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);margin-bottom:6px}.contact-meta-value{font-size:14px;font-weight:400;color:var(--ink);line-height:1.6}.contact-meta-value a{color:var(--accent);transition:opacity .3s}.contact-meta-value a:hover{opacity:.7}.contact-form-area{opacity:0;transform:translateY(32px);animation:fadeUp .8s var(--ease-out) .55s forwards}.form-card{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:clamp(32px,4vw,56px)}.form-card-heading{font-size:18px;font-weight:600;color:var(--ink);margin-bottom:8px;letter-spacing:.02em}.form-card-desc{font-size:13.5px;font-weight:300;color:var(--mid);line-height:1.9;margin-bottom:32px}.contact-form{display:flex;flex-direction:column;gap:28px}.form-fieldset{border:none;padding:0}.form-legend{font-size:14px;font-weight:500;color:var(--ink);letter-spacing:.02em;margin-bottom:14px;display:block}.required{color:var(--accent);font-weight:600}.radio-group{display:flex;flex-wrap:wrap;gap:10px}.radio-label{display:flex;align-items:center;cursor:pointer;padding:10px 18px;border-radius:4px;border:1px solid var(--line);background:var(--cream);transition:all .3s var(--ease-out)}.radio-label:hover{border-color:var(--accent)}.radio-label:has(input:checked){border-color:var(--accent);background:#1a5cd60a}.radio-label input[type=radio]{appearance:none;-webkit-appearance:none;width:16px;height:16px;border:1.5px solid var(--line);border-radius:50%;margin-right:10px;position:relative;flex-shrink:0;transition:border-color .2s}.radio-label input[type=radio]:checked{border-color:var(--accent)}.radio-label input[type=radio]:checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;border-radius:50%;background:var(--accent)}.radio-text{font-size:13.5px;font-weight:400;color:var(--ink);letter-spacing:.01em}.form-group{display:flex;flex-direction:column;gap:8px}.form-label{font-size:14px;font-weight:500;color:var(--ink);letter-spacing:.02em}.form-input,.form-textarea{font-family:var(--body-jp);font-size:14px;font-weight:400;color:var(--ink);background:var(--cream);border:1px solid var(--line);border-radius:4px;padding:14px 16px;outline:none;transition:border-color .3s,box-shadow .3s}.form-input::placeholder,.form-textarea::placeholder{color:var(--subtle);font-weight:300}.form-input:focus,.form-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #1a5cd614}.form-textarea{resize:vertical;min-height:140px}.form-submit{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--body-jp);font-size:14px;font-weight:500;letter-spacing:.06em;color:var(--white);background:var(--ink);border:none;padding:16px 48px;border-radius:4px;cursor:pointer;transition:all .4s var(--ease-out);position:relative;overflow:hidden;align-self:flex-start;margin-top:4px}.form-submit:before{content:"";position:absolute;inset:0;background:var(--accent);transform:translateY(101%);transition:transform .45s var(--ease-out)}.form-submit:hover:before{transform:translateY(0)}.form-submit span,.form-submit svg{position:relative;z-index:1}.form-submit svg{width:14px;height:14px;transition:transform .3s}.form-submit:hover svg{transform:translate(3px)}.form-thanks{display:none;text-align:center;padding:56px 24px}.form-thanks.is-show{display:block}.thanks-icon{width:56px;height:56px;border-radius:50%;background:#1a5cd614;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:var(--accent)}.thanks-icon svg{width:24px;height:24px}.thanks-heading{font-size:20px;font-weight:600;color:var(--ink);margin-bottom:12px;letter-spacing:.03em}.thanks-text{font-size:14px;font-weight:300;line-height:2;color:var(--mid)}.form-note{margin-top:24px;font-size:12.5px;font-weight:300;color:var(--mute);line-height:1.8;text-align:center}@media(max-width:1024px){.contact-container{grid-template-columns:1fr;gap:48px}.contact-info{position:static}}
