.jp-contact-page{--jp-green:#1d4a36;--jp-deep:#102d22;--jp-moss:#55715b;--jp-sand:#f3efe6;--jp-line:rgba(29,74,54,.14);font-family:Inter,system-ui,-apple-system,sans-serif;color:#173127;background:#f7f8f4;min-height:100vh}.jp-contact-page *{box-sizing:border-box}.jp-contact-shell{width:min(1180px,calc(100% - 40px));margin:auto}.jp-contact-hero{padding:92px 0 84px;background:radial-gradient(circle at 78% 18%,rgba(197,173,112,.22),transparent 28%),linear-gradient(135deg,#102d22,#1d4a36 62%,#345f45);color:#fff;position:relative;overflow:hidden}.jp-contact-hero:after{content:"";position:absolute;inset:auto -8% -180px 35%;height:310px;border-radius:50%;background:rgba(255,255,255,.04);transform:rotate(-8deg)}.jp-contact-kicker{display:inline-flex;align-items:center;gap:8px;color:#b99b56;font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.jp-contact-hero .jp-contact-kicker{color:#e1cb91}.jp-contact-hero h1{font-size:clamp(40px,6vw,76px);line-height:.98;letter-spacing:-.05em;max-width:820px;margin:18px 0 22px}.jp-contact-hero p{font-size:19px;line-height:1.7;max-width:720px;color:rgba(255,255,255,.8);margin:0}.jp-contact-main{padding:76px 0 96px}.jp-contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:34px;align-items:stretch}.jp-contact-info,.jp-contact-form-card{background:#fff;border:1px solid var(--jp-line);border-radius:28px;box-shadow:0 20px 55px rgba(16,45,34,.08)}.jp-contact-info{padding:42px;background:linear-gradient(160deg,#fff,#f1f3ec)}.jp-contact-mark{width:68px;height:68px;border-radius:21px;display:grid;place-items:center;font-size:34px;background:var(--jp-deep);box-shadow:0 14px 25px rgba(16,45,34,.2);margin-bottom:28px}.jp-contact-info h2,.jp-contact-form-card h2{font-size:34px;line-height:1.08;letter-spacing:-.035em;margin:10px 0 16px;color:var(--jp-deep)}.jp-contact-info>p{color:#65736b;line-height:1.7;margin:0 0 28px}.jp-contact-detail{display:flex;gap:14px;padding:18px 0;border-top:1px solid var(--jp-line);align-items:flex-start}.jp-contact-detail>span{width:40px;height:40px;border-radius:13px;background:#e9efe8;display:grid;place-items:center}.jp-contact-detail div{display:flex;flex-direction:column;gap:4px}.jp-contact-detail small{font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:#8a948e}.jp-contact-detail a,.jp-contact-detail strong{color:var(--jp-deep);font-size:14px;text-decoration:none;line-height:1.45}.jp-contact-scope{margin-top:20px;padding:20px;border-radius:18px;background:#e6eee6;border:1px solid rgba(29,74,54,.1)}.jp-contact-scope strong{color:var(--jp-deep)}.jp-contact-scope p{margin:6px 0 0;color:#66736b;line-height:1.55;font-size:14px}.jp-contact-form-card{padding:42px}.jp-contact-notice{padding:15px 18px;border-radius:14px;margin:0 0 20px;font-weight:700}.jp-contact-notice.success{background:#e5f4e8;color:#245d35}.jp-contact-notice.error{background:#fdebea;color:#8b302b}.jp-contact-form{display:flex;flex-direction:column;gap:17px}.jp-contact-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.jp-contact-form label{display:flex;flex-direction:column;gap:8px}.jp-contact-form label>span{font-size:13px;font-weight:850;color:#30463a}.jp-contact-form input,.jp-contact-form select,.jp-contact-form textarea{width:100%;border:1px solid #d8dfd7;background:#fbfcfa;color:#173127;border-radius:14px;padding:15px 16px;font:inherit;outline:none;transition:.2s}.jp-contact-form input:focus,.jp-contact-form select:focus,.jp-contact-form textarea:focus{border-color:#55715b;box-shadow:0 0 0 4px rgba(85,113,91,.12);background:#fff}.jp-contact-form textarea{resize:vertical;min-height:155px}.jp-contact-privacy{font-size:12px;color:#7b877f;margin:0}.jp-contact-form button{border:0;border-radius:14px;background:var(--jp-deep);color:#fff;padding:16px 22px;font-weight:900;font-size:15px;cursor:pointer;display:flex;justify-content:center;gap:10px;transition:.2s}.jp-contact-form button:hover{transform:translateY(-2px);background:var(--jp-green)}.jp-contact-hp{position:absolute!important;left:-9999px!important}
@media(max-width:900px){.jp-contact-grid{grid-template-columns:1fr}.jp-contact-hero{padding:72px 0}.jp-contact-main{padding:50px 0 72px}}
@media(max-width:600px){.jp-contact-shell{width:min(100% - 24px,1180px)}.jp-contact-hero{padding:56px 0}.jp-contact-hero p{font-size:16px}.jp-contact-main{padding:28px 0 50px}.jp-contact-info,.jp-contact-form-card{padding:25px;border-radius:22px}.jp-contact-info h2,.jp-contact-form-card h2{font-size:28px}.jp-contact-row{grid-template-columns:1fr}}
