.intro .explore-virtues{display:inline-flex;align-items:center;gap:7px;margin-top:12px;padding:5px 0;color:#f3e6ce;font:13px/1.5 Arial,sans-serif;text-decoration:underline;text-underline-offset:5px;text-transform:none;letter-spacing:0}
.intro .explore-virtues:hover{color:#fff8e9}
.vb-dialog{width:min(900px,94vw);max-height:88dvh;overflow:auto;background:#f7eedc;color:#203b44;border:1px solid #c5a16c;border-radius:20px;padding:35px;box-sizing:border-box;position:fixed}
.vb-dialog::backdrop{background:#07131acc;backdrop-filter:blur(5px)}
.vb-dialog .vb-close{position:absolute;right:13px;top:10px;border:0;background:transparent;color:#203b44;padding:8px;font:26px/1 Arial;cursor:pointer}
.vb-dialog .vb-eyebrow,.vb-page .vb-eyebrow{color:#95613f;font:10px/1.5 Arial,sans-serif;letter-spacing:1.8px;text-transform:uppercase;margin:0 30px 10px 0}
.vb-dialog #vb-title{font:34px/1.2 Georgia,serif;margin:0 30px 12px 0;color:#203b44}
.vb-dialog .vb-description{font:14px/1.6 Arial,sans-serif;color:#625b50}
.vb-group{margin-top:27px}.vb-group h2,.vb-group h3{font:24px/1.3 Georgia,serif;color:#203b44;margin:0 0 13px;border-bottom:1px solid #ddcdb4;padding-bottom:10px}
.vb-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.vb-card{display:flex;flex-direction:column;gap:7px;padding:14px;border:1px solid #ddcdb4;border-radius:8px;background:#fff9ef;color:#203b44;text-decoration:none;min-width:0}
.vb-card strong{font:18px/1.3 Georgia,serif}.vb-card span{font:12px/1.55 Arial,sans-serif;color:#6c6559}.vb-card:hover{background:#ecdfca;border-color:#ae8f64}.vb-card:focus-visible,.vb-close:focus-visible{outline:2px solid #9d6244;outline-offset:3px}
.vb-page{margin:0;background:#f7eedc;color:#203b44;font:16px/1.6 Arial,sans-serif}.vb-page header,.vb-page main{max-width:1050px;margin:auto;padding:25px}.vb-page header a{color:#203b44}.vb-page h1{font:40px/1.2 Georgia,serif;margin:12px 0 20px}
@media(max-width:600px){.intro .explore-virtues{font-size:12px;margin-top:7px}.vb-dialog{padding:28px 18px;max-height:90dvh}.vb-dialog #vb-title{font-size:29px}.vb-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vb-card{padding:12px}.vb-card strong{font-size:17px}.vb-page header,.vb-page main{padding:20px}}
/* A stroke-based arrow renders identically on iOS and desktop. */
.intro .explore-virtues .explore-arrow{display:block;width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;flex:none}
.vb-controls{margin-top:20px;padding:16px;background:#f0e4d0;border:1px solid #dfcfb5;border-radius:10px}
.vb-controls label{display:block;font:12px/1.5 Arial,sans-serif;color:#6d5641;margin-bottom:6px}
.vb-controls select{display:block;width:100%;min-height:46px;padding:10px 35px 10px 12px;border:1px solid #bfa581;border-radius:7px;background:#fff9ef;color:#203b44;font:16px/1.4 Arial,sans-serif;cursor:pointer}
.vb-controls select:focus-visible{outline:2px solid #9d6244;outline-offset:3px}
.vb-controls .vb-count{margin:10px 0 0;font:12px/1.6 Arial,sans-serif;letter-spacing:0;color:#6c6559}
.vb-group h2,.vb-group h3{display:flex;align-items:baseline;justify-content:space-between;gap:10px;flex-wrap:wrap}
.vb-group h2 small,.vb-group h3 small{font:11px/1.4 Arial,sans-serif;color:#7f684d;white-space:nowrap}
.vb-group[hidden]{display:none!important}
