
.contact-page{padding-top:64px;padding-bottom:32px}.contact-hero{display:grid;grid-template-columns:1.25fr 1fr;gap:72px;align-items:center;padding-bottom:64px}.contact-hero h1{font-size:clamp(38px,4.4vw,64px);line-height:1.08;letter-spacing:-.04em;margin:18px 0 24px}.contact-lead{max-width:580px;font-size:19px;line-height:1.8;margin-bottom:28px}.contact-intro{position:relative;overflow:hidden;padding:40px;border:1px solid #cfe4dc;border-radius:24px;background:linear-gradient(135deg,#fff,#edf8f2)}.contact-intro h2{font-size:28px;margin:14px 0}.contact-intro p{position:relative}.contact-mark{position:absolute;right:18px;top:-22px;font-size:125px;font-weight:800;letter-spacing:-.09em;color:#17865c;opacity:.055;pointer-events:none}.contact-location{display:block;margin-top:26px;padding-top:20px;border-top:1px solid #d7e5df;font-size:13px;color:#416658}.contact-offer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;border-block:1px solid #d9e3e5;padding:36px 0}.contact-offer h2{font-size:21px;margin:16px 0 12px}.contact-offer p{margin-bottom:18px}.contact-section{padding:68px 0}.contact-channels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.contact-channel{display:flex;align-items:flex-start;gap:16px;background:#fff;border:1px solid #dce5e5;border-radius:18px;padding:26px 22px;text-decoration:none;color:#17212a;transition:border-color .15s,box-shadow .15s}.contact-channel:hover{border-color:#73b99c;box-shadow:0 8px 24px #17342a09}.channel-icon{width:46px;height:46px;flex-shrink:0;display:grid;place-items:center;background:#e7f5ee;color:#12845b;border-radius:14px;font-size:26px}.contact-channel strong,.contact-channel b,.contact-channel>span>span{display:block}.contact-channel strong{font-size:20px}.contact-channel>span>span{font-size:13px;color:#536c7d;margin:8px 0 14px}.contact-channel b{font-size:14px;font-weight:600;overflow-wrap:anywhere}.pickup-card{display:grid;grid-template-columns:1.2fr 1fr;gap:64px;padding:48px;border-radius:24px;border:1px solid #cfdfdb;background:linear-gradient(120deg,#edf6f2,#f7faf9)}.pickup-card h2{font-size:clamp(28px,3vw,38px);letter-spacing:-.03em;margin:14px 0 18px}.pickup-note{font-size:14px;font-weight:600;color:#315746}.pickup-card .btn{margin-top:12px}.pickup-address{padding:28px 32px;background:#fff;border-radius:18px;border:1px solid #dce5e2}.pickup-address address{display:grid;gap:3px;margin:20px 0 24px;font-style:normal;line-height:1.7}.pickup-address address strong{font-size:22px;margin-bottom:4px}.pickup-address small{display:block;margin-top:12px;font-size:12px;color:#536c7d}.contact-help{display:flex;gap:16px;justify-content:space-between;align-items:center;padding:28px 0}.contact-page a:focus-visible{outline:3px solid #17865c;outline-offset:5px}.contact-page section[id]{scroll-margin-top:24px}@media(max-width:1000px){.contact-hero{gap:32px}.contact-channels{grid-template-columns:1fr}.contact-channel{align-items:center}.contact-channel>span>span{margin:5px 0}.pickup-card{gap:28px;padding:32px}}@media(max-width:700px){.contact-page{padding-top:32px}.contact-hero,.contact-offer,.pickup-card{grid-template-columns:1fr}.contact-hero{padding-bottom:32px}.contact-intro{padding:26px}.contact-offer{gap:28px}.contact-section{padding:40px 0}.pickup-card{padding:24px;gap:24px}.pickup-address{padding:24px}.contact-help{align-items:flex-start;flex-direction:column;gap:0}.contact-lead{font-size:17px}.contact-channel{padding:22px}.contact-page .btn{white-space:normal;text-align:center}}

/* Personal introduction: original portrait, cropped only by the layout. */
.contact-page .contact-intro{background:linear-gradient(135deg,#fff,#edf3f8);border-color:#d5e1ea}
.contact-person{display:flex;align-items:center;flex-wrap:wrap;gap:22px;margin-bottom:22px}
.contact-portrait{display:block;width:112px;height:144px;flex:0 0 112px;object-fit:cover;object-position:50% 35%;border-radius:18px;border:1px solid #d5e1ea;box-shadow:0 6px 18px #253c5010}
.contact-person-name{flex:1;min-width:140px}
.contact-person-name .kicker{margin:0 0 10px}
.contact-person-name h2{margin:0;line-height:1.2}
.contact-intro .contact-location{border-color:#d5e1ea;color:#536c7d}
