#av-vignette {
    padding: 0; margin: auto; border: 0; background: transparent; color: #19374b;
    width: min(810px, calc(100% - 32px)); max-width: none; max-height: 95vh;
    overflow: auto; font: 16px/1.45 Arial, sans-serif;
}
#av-vignette:not([open]) { display: none; }
#av-vignette::backdrop { background: rgba(15, 22, 30, .70); }
#av-vignette * { box-sizing: border-box; }
#av-vignette form { margin: 0; }
#av-vignette .av-vg-close {
    display: flex; gap: 8px; align-items: center; margin: 0 0 6px auto; padding: 0 12px;
    height: 36px; border: 0; border-radius: 5px; background: white; color: #19374b;
    font: bold 14px/1 Arial, sans-serif; cursor: pointer;
}
.av-vg-close span { font-size: 23px; }
#av-vignette button:focus-visible { outline: 3px solid #199ac2; outline-offset: -3px; }
#av-vignette .av-vg-card {
    display: grid; grid-template-columns: 57% 43%; width: 100%; height: auto; padding: 0;
    white-space: normal; text-align: left; overflow: hidden; border: 1px solid #cfdee5; border-radius: 12px;
    background: #fff; color: #18364b; font: inherit; cursor: pointer;
}
#av-vignette .av-vg-informed { border-top: 5px solid #209eb8; }
.av-vg-copy { display: flex; align-items: flex-start; flex-direction: column; justify-content: center; padding: 26px 36px; }
.av-vg-brand, .av-vg-small-brand { font-weight: bold; font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: #11879e; }
.av-vg-informed .av-vg-brand span { text-transform: none; font-weight: normal; letter-spacing: 0; color: #607986; }
.av-vg-title { display: block; margin: 14px 0 10px; font: bold 35px/1.06 Arial, sans-serif; letter-spacing: -.035em; }
.av-vg-body { color: #486071; font: 16px/1.4 Arial, sans-serif; }
.av-vg-cta { display: inline-flex; gap: 12px; align-items: center; padding: 12px 17px; margin-top: 13px; border-radius: 5px; background: #185c75; color: white; font: bold 14px/1.25 Arial, sans-serif; }
.av-vg-art { position: relative; display: grid; align-items: center; padding: 32px 7%; background: #f4f8f9; overflow: hidden; }
.av-vg-report, .av-vg-back { display: block; border-radius: 8px; }
.av-vg-report { position: relative; padding: 18px; color: #17374e; background: #fff; border: 1px solid #d9e5ea; box-shadow: 0 6px 18px #17374e14; }
.av-vg-report-title { display: flex; align-items: center; justify-content: space-between; gap: 6px; margin-bottom: 10px; font: bold 15px/1.25 Georgia, serif; }
.av-vg-report-title small { color: #527587; font: 12px/1.2 Arial, sans-serif; }
.av-vg-row { display: flex; align-items: center; gap: 9px; border-top: 1px solid #e3eaee; padding: 8px 0; font: 13px/1.3 Arial, sans-serif; }
.av-vg-row svg { width: 17px; height: 17px; flex: none; }
#av-vignette .av-vg-listing { background: #fff8ef; border: 0; }
.av-vg-listing .av-vg-copy { padding: 29px 34px 24px; }
.av-vg-listing .av-vg-title { font: bold 38px/.98 Georgia, serif; letter-spacing: -.025em; }
.av-vg-listing em { display: block; font-style: normal; color: #c55139; }
.av-vg-listing .av-vg-brand, .av-vg-small-brand { color: #b64730; }
.av-vg-listing .av-vg-cta { background: #bf5137; }
.av-vg-listing .av-vg-art { background: radial-gradient(ellipse at top right,#33586a 0 51%,transparent 52%), #203e50; padding: 26px 6% 37px 22%; }
.av-vg-listing .av-vg-report { transform: rotate(5deg); box-shadow: 0 9px 20px #10293855; }
.av-vg-small-brand { display: block; font: bold 10px/1.4 Arial, sans-serif; letter-spacing: .13em; margin-bottom: 8px; }
.av-vg-listing .av-vg-report-title { font-size: 21px; }
.av-vg-listing .av-vg-row { font-weight: bold; padding: 10px 0; }
.av-vg-back { position: absolute; left: 7%; top: 13%; width: 57%; padding: 18px; background: #dce7e9; color: #597482; font: 12px/1.4 Arial, sans-serif; transform: rotate(-8deg); }
.av-vg-back span { display: block; height: 72px; background: #b9cdd1; margin: 10px 0; }
@media (max-width: 620px) {
    #av-vignette .av-vg-card { grid-template-columns: 1fr; }
    #av-vignette .av-vg-copy { padding: 20px 22px; }
    #av-vignette .av-vg-title { font-size: 29px; }
    #av-vignette .av-vg-art { padding: 13px 15%; }
    #av-vignette .av-vg-report { padding: 12px 15px; }
    #av-vignette .av-vg-row { padding: 4px 0; }
    .av-vg-listing .av-vg-report { transform: rotate(3deg); }
}
@media (max-height: 520px) and (max-width: 620px) { .av-vg-art { display: none; } }
