.ys-popup{box-sizing:border-box;width:min(600px,calc(100vw - 32px));max-height:calc(100dvh - 48px);padding:0;border:1px solid #dce3d9;border-radius:24px;background:#fbfcf7;color:#204a3e;font-family:Centra,Arial,sans-serif;box-shadow:0 24px 90px #092d2526;overflow:auto;overscroll-behavior:contain}
.ys-popup::backdrop{background:#13291fe0;opacity:.46;backdrop-filter:blur(5px)}
.ys-popup *{box-sizing:border-box}
.ys-popup[open]{animation:ys-popup-enter .16s ease-out}
.ys-popup__header{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:28px 32px 20px;background:#fbfcf7;z-index:1}
.ys-popup__title{margin:0;font-size:34px;line-height:1.15;font-weight:400;letter-spacing:-1px;color:#204a3e}
.ys-popup__close{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:#204a3e;cursor:pointer}
.ys-popup__close:hover{background:#e9eee4}
.ys-popup__close svg{width:20px;height:20px}
.ys-popup__body{padding:0 32px 32px;font-size:16px;line-height:1.6}
.ys-popup__intro{margin:0 0 24px;color:#58675d;font-size:17px;line-height:1.5}
.ys-contact-form{display:grid;gap:20px;margin:0}
.ys-contact-field{display:grid;gap:8px}
.ys-contact-field label{font-size:15px;color:#204a3e;line-height:1.4}
.ys-contact-field input,.ys-contact-field textarea{width:100%;min-height:50px;border:1px solid #cbd6c7;border-radius:12px;background:#fff;padding:12px 14px;font:inherit;font-size:16px;line-height:1.5;color:#204a3e;box-shadow:none;transition:border-color .15s}
.ys-contact-field textarea{min-height:140px;max-height:260px;resize:vertical}
.ys-contact-field input:focus,.ys-contact-field textarea:focus{outline:2px solid #34745d;outline-offset:2px;border-color:#34745d}
.ys-popup button:focus-visible,.ys-popup a:focus-visible,.site-footer a[data-support-popup]:focus-visible{outline:2px solid #34745d;outline-offset:4px}
.ys-contact-submit{width:100%;min-height:52px;border:0;border-radius:12px;background:#204a3e;color:#fff;font:inherit;font-size:16px;font-weight:500;cursor:pointer}
.ys-contact-submit:hover{background:#153f31}
.ys-contact-submit:disabled{cursor:wait;opacity:.7}
.ys-contact-privacy{margin:0;font-size:13px;line-height:1.5;color:#647165}
.ys-contact-error{margin:0;border-radius:10px;padding:12px 14px;background:#f7e8e2;color:#7d352e;font-size:15px}
.ys-contact-error[hidden],.ys-contact-success[hidden],.ys-contact-form[hidden],.ys-popup__intro[hidden]{display:none}
.ys-contact-success{padding:10px 0 0}
.ys-contact-success h2{font-size:27px;font-weight:400;letter-spacing:-.5px;line-height:1.25;margin:0 0 12px}
.ys-contact-success p{color:#58675d;margin:0 0 28px}
.ys-contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.ys-popup--policy{width:min(740px,calc(100vw - 32px))}
.ys-policy-content{font-size:16px;line-height:1.7;color:#3c5146}
.ys-policy-content h2{font-size:27px;line-height:1.25;font-weight:400;letter-spacing:-.5px;color:#204a3e;margin:32px 0 16px;padding-top:22px;border-top:1px solid #dce3d9}
.ys-policy-content h3{font-size:19px;line-height:1.35;font-weight:500;color:#204a3e;margin:24px 0 10px}
.ys-policy-content p{margin:0 0 16px;font-size:16px;line-height:1.7}
.ys-policy-content a{color:#204a3e;text-decoration:underline;text-underline-offset:3px}
.ys-policy-content .ys-policy-company{color:#204a3e;font-size:18px}
.ys-policy-content .ys-policy-date{font-size:13px;color:#69766b}
.ys-contact-page{max-width:580px;margin:48px auto;padding:0 24px 40px;font-family:Centra,Arial,sans-serif;color:#204a3e}
.ys-contact-page h1{font-size:42px;font-weight:400;letter-spacing:-1px;line-height:1.2;margin:0 0 20px}
@keyframes ys-popup-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:480px){.ys-popup{border-radius:20px;max-height:calc(100dvh - 24px);width:calc(100vw - 24px)}.ys-popup__header{padding:22px 22px 16px;gap:10px}.ys-popup__title{font-size:29px;letter-spacing:-.8px}.ys-popup__body{padding:0 22px 24px}.ys-popup--policy .ys-popup__title{font-size:27px}.ys-contact-form{gap:18px}.ys-contact-field textarea{min-height:124px}}
@media(prefers-reduced-motion:reduce){.ys-popup[open]{animation:none}.ys-contact-field input,.ys-contact-field textarea{transition:none}}
