/* ===== contact ===== */
.contact{max-width:640px;padding:28px 0 80px}
.contact h1{font-size:clamp(2.2rem,5vw,3.4rem);margin-bottom:14px}
.contact .lead{font-family:var(--serif);font-size:clamp(1.25rem,2.2vw,1.5rem);line-height:1.35;color:var(--ink);margin-bottom:22px;font-variation-settings:"opsz" 48,"SOFT" 30}
.wa{display:flex;gap:14px;align-items:center;background:var(--ink);color:#fff;border-radius:12px;padding:16px 18px;text-decoration:none;margin-bottom:22px}
.wa-ico{font-size:1.6rem;flex:none}
.wa b{display:block;font-weight:500;font-size:1.05rem}
.wa small{display:block;font-size:13px;opacity:.8;margin-top:2px}
.qa{border-top:1px solid var(--line);padding:4px 0}
.qa:last-of-type{border-bottom:1px solid var(--line);margin-bottom:28px}
.qa summary{cursor:pointer;padding:12px 0;font-weight:500;font-size:16px;list-style:none;display:flex;justify-content:space-between;gap:12px}
.qa summary::-webkit-details-marker{display:none}
.qa summary::after{content:"+";color:var(--ink-3);font-size:1.3rem;line-height:1}
.qa[open] summary::after{content:"–"}
.qa p{color:var(--ink-2);font-size:15px;padding-bottom:14px}
.cform{display:flex;flex-direction:column;gap:16px}
.cf-h{font-family:var(--serif);font-size:1.5rem;margin-bottom:4px}
.cform label{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--ink-2)}
.cform label em{font-style:normal;color:var(--ink-3)}
.cform input[type=text],.cform input[type=email],.cform input[type=tel],.cform select,.cform textarea{width:100%;padding:14px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:16px;color:var(--ink);background:#fff;min-height:48px}
.cform textarea{resize:vertical;min-height:150px}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:2px solid var(--apricot);border-color:transparent}
.cform .invalid input,.cform .invalid textarea{border-color:#B0483A}
.cform .err{font-size:13px;color:#B0483A;display:none}
.cform .invalid .err{display:block}
.when{border:0;padding:0;display:flex;flex-direction:column;gap:10px}
.when legend{font-size:14px;color:var(--ink-2);margin-bottom:8px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{flex-direction:row}
.chips input{position:absolute;opacity:0;width:0;height:0}
.chips span{display:inline-block;padding:11px 16px;border:1px solid var(--ink);border-radius:999px;font-size:14.5px;color:var(--ink);min-height:44px;line-height:20px}
.chips input:checked+span{background:var(--apricot);border-color:var(--apricot)}
.chips input:focus-visible+span{outline:2px solid var(--apricot);outline-offset:2px}
.consent{flex-direction:row!important;align-items:flex-start;gap:10px!important;font-size:13.5px}
.consent input{width:20px;height:20px;margin-top:1px;flex:none}
.cform .btn{width:100%;justify-content:center;padding:16px;font-size:17px;min-height:52px}
.cf-note{font-size:13px;color:var(--ink-3);text-align:center;margin-top:-6px}
.sent{padding:32px 0}
.sent h2{margin-bottom:12px}
.sent p{color:var(--ink-2);margin-bottom:14px}
@media (max-width:520px){.contact{padding-top:18px}.chips span{padding:10px 14px}}
@media (max-width:620px){.contact{padding-left:10px;padding-right:10px}}
