.skip-link{position:absolute;top:-100%;left:0;background:#1a1a1a;color:#fff;padding:12px 20px;font-size:14px;font-weight:600;text-decoration:none;border-radius:0 0 6px;z-index:9999;transition:top .15s}.skip-link:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}*:focus-visible{outline:2px solid #0066cc;outline-offset:3px;border-radius:2px}.site-helper-wrap{position:fixed;right:20px;bottom:20px;z-index:1200}@keyframes helperBob{0%{transform:translateY(0)}50%{transform:translateY(-8px)}to{transform:translateY(0)}}.site-helper-wrap{position:fixed;right:20px;bottom:20px;z-index:1200;animation:helperBob 2.8s ease-in-out infinite;will-change:transform}.site-helper-wrap.is-open{animation:none}@media(prefers-reduced-motion:reduce){.site-helper-wrap{animation:none}}.site-helper-toggle{width:62px;height:62px;border:none;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#1f1b17;color:#fff;cursor:pointer;box-shadow:0 18px 42px #0000002e,0 10px 24px #1f1b1733;transition:transform .22s ease,box-shadow .22s ease,background .22s ease}.site-helper-toggle:hover{transform:translateY(-2px) scale(1.02);background:#000;box-shadow:0 22px 46px #00000038,0 12px 28px #1f1b173d}.site-helper-toggle svg{width:28px;height:28px;fill:currentColor}.site-helper{position:absolute;right:0;bottom:76px;width:min(380px,calc(100vw - 24px));opacity:0;visibility:hidden;transform:translateY(10px) scale(.98);transform-origin:bottom right;transition:opacity .22s ease,visibility .22s ease,transform .22s ease;pointer-events:none}.site-helper.is-open{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto}.site-helper-shell{position:relative;border-radius:12px;background:#fff;border:1px solid rgba(31,27,23,.08);box-shadow:0 18px 48px #00000029,inset 0 1px #ffffff57;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);overflow:hidden}.site-helper-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px 12px;border-bottom:1px solid rgba(31,27,23,.08)}.site-helper-title{margin:0;font-family:Fraunces,serif;color:#1f1b17;font-size:1rem;font-weight:600}.site-helper-reset{margin:3px 0 0;padding:0;border:none;background:none;color:#1f1b1780;font-size:.76rem;font-weight:600;text-decoration:underline;text-underline-offset:2px;cursor:pointer;transition:color .2s ease}.site-helper-reset:hover{color:#1f1b17}.site-helper-close{position:relative;width:34px;height:34px;flex-shrink:0;box-sizing:border-box;padding:0;margin:0;border:none;background:none;color:#1f1b17;cursor:pointer;transition:transform .2s ease,opacity .2s ease}.site-helper-close svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.site-helper-close:hover{opacity:.7;transform:rotate(90deg)}.helper-log{display:grid;gap:10px;padding:16px 18px 74px;max-height:280px;overflow-y:auto}.helper-row{display:flex;align-items:flex-end;gap:6px;max-width:88%;animation:helperDeepFade .22s ease-out both}.helper-row-user{justify-self:end}.helper-row-assistant{justify-self:start}.helper-avatar{position:relative;flex:none;width:28px;height:28px;border-radius:50%;background:#1f1b17;color:#fff}.helper-avatar svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:23px;height:23px}.helper-line{padding:10px 14px;border-radius:18px;line-height:1.4;font-size:.95rem}.helper-line-user{border-bottom-right-radius:5px;background:#1f1b171a;color:#1f1b17}.helper-line-assistant{border-bottom-left-radius:5px;background:#1f1b170d;color:#1f1b17}.helper-typing{display:flex;align-items:center;gap:4px;padding:14px 16px}.helper-typing span{width:6px;height:6px;border-radius:50%;background:#1f1b1766;animation:helperTypingBounce 1.2s ease-in-out infinite}.helper-typing span:nth-child(2){animation-delay:.15s}.helper-typing span:nth-child(3){animation-delay:.3s}@keyframes helperTypingBounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}@media(prefers-reduced-motion:reduce){.helper-row,.helper-links,.helper-inline-form,.helper-inline-form-success,.helper-deep-wrap{animation:none}.helper-typing span{animation:none;opacity:.7}}.helper-links{display:flex;flex-wrap:wrap;gap:10px;padding:0 18px 16px;animation:helperDeepFade .22s ease-out both}.helper-link-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 15px;border-radius:999px;background:#1f1b17;color:#fff;border:1px solid #1f1b17;font-size:.9rem;font-weight:700;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.helper-link-btn:hover{transform:translateY(-1px);background:#000;border-color:#000;box-shadow:0 10px 24px #0003}.helper-form{position:absolute;left:0;right:0;bottom:0;display:flex;gap:10px;padding:10px 18px 18px;background:none}.helper-form input{flex:1;min-height:40px;padding:0 14px;border-radius:12px;border:1px solid rgba(31,27,23,.1);background:#fff;color:#1f1b17;font:inherit;outline:none}.helper-form input:focus{border-color:#1f1b173d;box-shadow:0 0 0 4px #1f1b1714}.helper-form button{min-height:40px;padding:0 18px;border:none;border-radius:12px;background:#1f1b17;color:#fff;font:inherit;font-weight:700;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}.helper-form button:hover{transform:translateY(-1px);background:#000;box-shadow:0 12px 26px #1f1b1733}@media(max-width:720px){.site-helper-wrap{right:12px;bottom:12px}.site-helper{width:calc(100vw - 24px);bottom:74px}.site-helper-toggle{width:58px;height:58px}}.mobile-nav{visibility:hidden}.mobile-nav.is-open{visibility:visible}.site-footer .footer-links{display:flex;flex-direction:column;align-items:center;gap:10px}.helper-inline-form{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:14px;background:#1f1b170f;border:1px solid rgba(31,27,23,.12);animation:helperDeepFade .4s cubic-bezier(.22,1,.36,1) both}.helper-inline-form-label{margin:0 0 2px;font-size:.82rem;font-weight:700;color:#1f1b17;letter-spacing:.02em}.helper-inline-form input,.helper-inline-form textarea{width:100%;padding:9px 12px;border-radius:10px;border:1px solid rgba(31,27,23,.1);background:#fff;color:#1f1b17;font:inherit;font-size:.9rem;outline:none;box-sizing:border-box;resize:none}.helper-inline-form input:focus,.helper-inline-form textarea:focus{border-color:#1f1b174d;box-shadow:0 0 0 3px #1f1b1714}.helper-inline-form-submit{align-self:flex-end;min-height:38px;padding:0 16px;border:none;border-radius:10px;background:#1f1b17;color:#fff;font:inherit;font-size:.9rem;font-weight:700;cursor:pointer;transition:background .2s ease,transform .2s ease}.helper-inline-form-submit:hover{background:#000;transform:translateY(-1px)}.helper-inline-form-submit:disabled{opacity:.6;cursor:default;transform:none}.helper-inline-form-status{margin:0;font-size:.82rem;color:#b04040}.helper-inline-form-success{margin:0;padding:12px;border-radius:14px;background:#1f1b1714;border:1px solid rgba(31,27,23,.16);font-size:.92rem;font-weight:600;color:#1f1b17;animation:helperDeepFade .3s ease-out both;text-align:center}.helper-deep-wrap{margin-top:10px;animation:helperDeepFade .8s cubic-bezier(.22,1,.36,1) both}@keyframes helperDeepFade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.helper-deep-btn{display:inline-flex;align-items:center;gap:7px;padding:0 16px;min-height:40px;border-radius:999px;background:linear-gradient(135deg,#1a1a2e,#16213e);color:#c8dcffeb;font-size:.88rem;font-weight:700;letter-spacing:.03em;text-decoration:none;border:1px solid rgba(120,160,255,.18);box-shadow:0 4px 18px #00000047;transition:box-shadow .35s ease,border-color .35s ease,transform .2s ease}.helper-deep-btn:after{content:"→";font-size:.9em;opacity:.6}.helper-deep-btn:hover{transform:translateY(-1px);border-color:#78a0ff66;box-shadow:0 0 18px #64a0ff2e,0 6px 24px #00000052}@view-transition{navigation:auto}:root{--vt-x: 50%;--vt-y: 50%}@media(prefers-reduced-motion:no-preference){::view-transition-old(root){animation:none}::view-transition-new(root){animation:vt-radial-in .5s cubic-bezier(.65,0,.35,1)}}@keyframes vt-radial-in{0%{clip-path:circle(0% at var(--vt-x) var(--vt-y))}to{clip-path:circle(140% at var(--vt-x) var(--vt-y))}}
