.vnl-library,.vnl-library *{box-sizing:border-box}
.vnl-library{--vnl-primary:#082b4c;--vnl-accent:#ff7a00;color:#122d43;font-family:inherit}
.vnl-header{max-width:790px;margin:0 auto 46px;text-align:center}
.vnl-eyebrow{display:block;margin-bottom:11px;color:var(--vnl-accent);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.vnl-header h1{margin:0;color:var(--vnl-primary);font-size:clamp(38px,5vw,62px);font-weight:850;letter-spacing:-.045em;line-height:1.04}
.vnl-header p{max-width:680px;margin:18px auto 0;color:#607487;font-size:17px;line-height:1.65}
.vnl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.vnl-grid.is-single{grid-template-columns:minmax(0,430px);justify-content:center}
.vnl-empty{padding:34px;border:1px dashed #cbd9df;border-radius:18px;color:#607487;background:#f7fafb;text-align:center}
.vnl-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;border:1px solid #dce6eb;border-radius:22px;background:#fff;box-shadow:0 16px 44px rgba(8,43,76,.09);transition:transform .25s ease,box-shadow .25s ease}
.vnl-card:hover{transform:translateY(-5px);box-shadow:0 24px 58px rgba(8,43,76,.15)}
.vnl-card__media{position:relative;height:390px;overflow:hidden;background:linear-gradient(145deg,#092d4d,#041b2d)}
.vnl-card__media img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .4s ease}
.vnl-card:hover .vnl-card__media img{transform:scale(1.025)}
.vnl-card__placeholder{display:grid;width:100%;height:100%;place-items:center;background:radial-gradient(circle at 50% 35%,rgba(255,122,0,.2),transparent 42%),linear-gradient(145deg,#0b3559,#041b2d)}
.vnl-card__placeholder span{display:grid;width:100px;height:124px;place-items:center;border:2px solid rgba(255,255,255,.78);border-radius:8px;color:#fff;font-size:18px;font-weight:900;letter-spacing:.08em}
.vnl-card__type{position:absolute;right:16px;bottom:16px;left:16px;width:max-content;max-width:calc(100% - 32px);padding:8px 11px;border:1px solid rgba(255,255,255,.2);border-radius:99px;color:#fff;background:rgba(3,22,38,.87);backdrop-filter:blur(8px);font-size:10px;font-weight:800;letter-spacing:.04em}
.vnl-card__body{display:flex;min-height:285px;flex:1;flex-direction:column;padding:24px}
.vnl-card__meta{display:flex;gap:8px;margin-bottom:12px}
.vnl-card__meta span{padding:5px 8px;border-radius:99px;color:#536d80;background:#eef4f6;font-size:9px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.vnl-card h2{margin:0;color:var(--vnl-primary);font-size:22px;font-weight:800;letter-spacing:-.025em;line-height:1.2}
.vnl-card p{margin:13px 0 22px;color:#64788a;font-size:13px;line-height:1.65}
.vnl-card__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto}
.vnl-button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:11px 15px;border:1px solid transparent;border-radius:9px;font:inherit;font-size:12px;font-weight:800;line-height:1.2;cursor:pointer;transition:transform .2s ease,background .2s ease,color .2s ease}
.vnl-button:hover{transform:translateY(-2px)}
.vnl-button--primary{color:#fff;background:var(--vnl-accent);box-shadow:0 10px 24px rgba(255,122,0,.24)}
.vnl-button--ghost{border-color:#cedce3;color:var(--vnl-primary);background:#fff}
.vnl-button--ghost:hover{border-color:var(--vnl-primary);background:#f5f8fa}
.vnl-button--disabled{width:100%;margin-top:auto;color:#788a95;background:#edf2f4;cursor:not-allowed}
.vnl-button--disabled:hover{transform:none}
.vnl-button:disabled{opacity:.72;cursor:wait}
.vnl-card.is-unavailable{filter:saturate(.65)}
.vnl-card.is-unavailable:hover{transform:none}
.vnl-modal[hidden]{display:none!important}
.vnl-modal{position:fixed;z-index:100003;inset:0;display:grid;place-items:center;padding:22px}
.vnl-modal__backdrop{position:absolute;inset:0;background:rgba(2,17,29,.79);backdrop-filter:blur(7px)}
.vnl-dialog{position:relative;z-index:1;display:grid;grid-template-columns:.78fr 1.22fr;width:min(980px,100%);max-height:min(760px,calc(100vh - 44px));overflow:auto;border-radius:22px;background:#fff;box-shadow:0 28px 90px rgba(0,0,0,.38)}
.vnl-close{position:absolute;z-index:3;top:12px;right:12px;display:grid;width:38px;height:38px;place-items:center;border:1px solid #d9e3e8;border-radius:99px;color:var(--vnl-primary);background:#fff;font:inherit;font-size:25px;line-height:1;cursor:pointer}
.vnl-dialog__media{position:relative;min-height:620px;padding:32px;background:linear-gradient(145deg,var(--vnl-primary),#041b2d)}
.vnl-dialog__media img{width:100%;height:100%;max-height:520px;object-fit:cover;object-position:top center;border-radius:13px;box-shadow:0 22px 48px rgba(0,0,0,.3)}
.vnl-dialog__media>div{position:absolute;right:42px;bottom:42px;left:42px;padding:13px 14px;border-radius:10px;color:#fff;background:rgba(3,18,30,.88)}
.vnl-dialog__media span,.vnl-dialog__media small{display:block}
.vnl-dialog__media span{font-size:11px;font-weight:800}
.vnl-dialog__media small{margin-top:4px;color:#c8d7df;font-size:9px}
.vnl-dialog__content{padding:45px}
.vnl-dialog__content h2{margin:0;color:var(--vnl-primary);font-size:32px;font-weight:850;letter-spacing:-.035em;line-height:1.1}
.vnl-dialog__content>p{margin:16px 0 22px;color:#627688;font-size:13px;line-height:1.65}
.vnl-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.vnl-form__grid label{display:grid;gap:6px}
.vnl-form__grid label>span{color:#294052;font-size:9px;font-weight:750}
.vnl-form__grid input,.vnl-form__grid select{width:100%;min-height:46px;padding:10px 12px;border:1px solid #cbdadd;border-radius:8px;color:#102537;background:#fff;font:inherit;font-size:11px;outline:none}
.vnl-form__grid input:focus,.vnl-form__grid select:focus{border-color:var(--vnl-accent);box-shadow:0 0 0 3px rgba(255,122,0,.14)}
.vnl-wide{grid-column:1/-1}
.vnl-consent{display:flex;align-items:flex-start;gap:8px;margin:14px 0;color:#617281;font-size:9px;line-height:1.5}
.vnl-consent input{margin:1px 0 0;accent-color:var(--vnl-accent)}
.vnl-submit{width:100%}
.vnl-status{min-height:18px;margin-top:10px;font-size:10px;font-weight:700;text-align:center}
.vnl-status.is-success{color:#087f75}
.vnl-status.is-error{color:#b3261e}
.vnl-privacy{display:block;margin-top:5px;color:#7b8a93;font-size:8px;text-align:center}
.vnl-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
body.vnl-modal-open,body.vnl-promo-open{overflow:hidden}

.vnl-promo-popup,.vnl-promo-popup *{box-sizing:border-box}
.vnl-promo-popup[hidden]{display:none!important}
.vnl-promo-popup{position:fixed;z-index:100004;inset:0;display:grid;place-items:center;padding:22px;font-family:inherit}
.vnl-promo-popup__backdrop{position:absolute;inset:0;background:rgba(2,17,29,.78);backdrop-filter:blur(8px)}
.vnl-promo-popup__dialog{position:relative;z-index:1;display:grid;grid-template-columns:310px minmax(0,1fr);width:min(850px,100%);max-height:calc(100vh - 44px);overflow:auto;border:1px solid rgba(255,255,255,.18);border-radius:24px;background:#fff;box-shadow:0 34px 110px rgba(0,0,0,.42);animation:vnlPromoIn .45s cubic-bezier(.2,.8,.2,1)}
.vnl-promo-popup__close{position:absolute;z-index:3;top:13px;right:13px;display:grid;width:39px;height:39px;place-items:center;border:1px solid #dce5e9;border-radius:50%;color:var(--vnl-popup-primary);background:#fff;font:inherit;font-size:25px;line-height:1;cursor:pointer}
.vnl-promo-popup__media{position:relative;min-height:520px;padding:30px;background:linear-gradient(150deg,var(--vnl-popup-primary),#041b2d)}
.vnl-promo-popup__media:before{position:absolute;inset:0;background:radial-gradient(circle at 45% 25%,rgba(255,122,0,.22),transparent 42%);content:''}
.vnl-promo-popup__media img{position:relative;z-index:1;width:100%;height:100%;max-height:440px;object-fit:cover;object-position:top center;border-radius:12px;box-shadow:0 22px 48px rgba(0,0,0,.34)}
.vnl-promo-popup__media>span{position:absolute;z-index:2;right:42px;bottom:40px;left:42px;padding:9px 12px;border:1px solid rgba(255,255,255,.16);border-radius:99px;color:#fff;background:rgba(2,17,29,.88);font-size:9px;font-weight:800;letter-spacing:.06em;text-align:center;text-transform:uppercase}
.vnl-promo-popup__content{display:flex;min-width:0;flex-direction:column;justify-content:center;padding:56px 50px}
.vnl-promo-popup__badge{display:block;margin-bottom:13px;color:var(--vnl-popup-accent);font-size:10px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.vnl-promo-popup__content h2{margin:0;color:var(--vnl-popup-primary);font-size:clamp(30px,4vw,42px);font-weight:850;letter-spacing:-.045em;line-height:1.05}
.vnl-promo-popup__content>p{margin:19px 0;color:#617587;font-size:14px;line-height:1.7}
.vnl-promo-popup__content ul{display:grid;gap:9px;margin:0 0 25px;padding:0;list-style:none}
.vnl-promo-popup__content li{position:relative;padding-left:22px;color:#324d60;font-size:12px;font-weight:700}
.vnl-promo-popup__content li:before{position:absolute;left:0;color:var(--vnl-popup-accent);font-weight:900;content:'✓'}
.vnl-promo-popup__button{display:inline-flex;min-height:54px;align-items:center;justify-content:center;gap:10px;padding:14px 22px;border-radius:10px;color:#fff!important;background:var(--vnl-popup-accent);box-shadow:0 12px 28px rgba(255,122,0,.28);font-size:13px;font-weight:850;text-decoration:none!important;transition:transform .2s ease,filter .2s ease}
.vnl-promo-popup__button:hover{transform:translateY(-2px);filter:brightness(.96)}
.vnl-promo-popup__content>small{display:block;margin-top:10px;color:#7b8b95;font-size:9px;line-height:1.5;text-align:center}
.vnl-floating-cta{position:fixed;z-index:99988;right:24px;bottom:24px;display:inline-flex;min-height:58px;align-items:center;gap:11px;padding:9px 16px 9px 9px;border:1px solid rgba(255,255,255,.2);border-radius:16px;color:#fff!important;background:linear-gradient(135deg,var(--vnl-popup-primary),#041b2d);box-shadow:0 16px 42px rgba(3,25,43,.3);font-family:inherit;font-size:13px;font-weight:850;line-height:1.2;text-decoration:none!important;transition:transform .2s ease,box-shadow .2s ease}
.vnl-floating-cta:hover{transform:translateY(-3px);box-shadow:0 22px 52px rgba(3,25,43,.38)}
.vnl-floating-cta__icon{display:grid;width:40px;height:40px;place-items:center;border-radius:11px;color:#fff;background:var(--vnl-popup-accent);font-size:8px;font-weight:900;letter-spacing:.04em}
.vnl-floating-cta__arrow{color:var(--vnl-popup-accent);font-size:19px;line-height:1;transition:transform .2s ease}
.vnl-floating-cta:hover .vnl-floating-cta__arrow{transform:translateX(3px)}
.vnl-ui-active .vnl-floating-cta{opacity:0;transform:translateY(12px);pointer-events:none}
@keyframes vnlPromoIn{from{opacity:0;transform:translateY(18px) scale(.975)}to{opacity:1;transform:none}}

@media(max-width:1024px){.vnl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vnl-grid.is-single{grid-template-columns:minmax(0,430px)}.vnl-floating-cta{display:none!important}}
@media(max-width:767px){.vnl-header{margin-bottom:30px;text-align:left}.vnl-header h1{font-size:38px}.vnl-header p{font-size:15px}.vnl-grid,.vnl-grid.is-single{grid-template-columns:1fr;gap:20px}.vnl-card__media{height:320px}.vnl-card__body{min-height:0}.vnl-dialog{grid-template-columns:1fr}.vnl-dialog__media{display:none}.vnl-dialog__content{padding:38px 22px 25px}.vnl-form__grid{grid-template-columns:1fr}.vnl-wide{grid-column:auto}.vnl-promo-popup{align-items:end;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.vnl-promo-popup__dialog{display:block;width:100%;max-height:calc(100dvh - 16px);border-radius:20px}.vnl-promo-popup__media{display:none}.vnl-promo-popup__content{padding:46px 23px 24px}.vnl-promo-popup__content h2{font-size:31px}.vnl-promo-popup__content>p{font-size:13px}.vnl-promo-popup__close{top:9px;right:9px}}
@media(max-width:420px){.vnl-card__actions{grid-template-columns:1fr}.vnl-card__media{height:285px}}
@media(prefers-reduced-motion:reduce){.vnl-library *,.vnl-promo-popup *,.vnl-floating-cta{animation:none!important;transition:none!important}}
