*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#FAF9F5;color:#1a1a1a;font-family:'DM Sans',-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.55}a{color:inherit}img{max-width:100%}
.vgl-nav{position:sticky;top:0;z-index:50;background:rgba(250,249,245,.96);border-bottom:1px solid #e5e1d8;backdrop-filter:blur(12px)}
.vgl-nav-inner{height:74px;max-width:1180px;margin:0 auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.vgl-nav-logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:#0e0e0e}
.vgl-nav-logo-mark{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid #d9d4c6;background:#fff;font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:15px}
.vgl-nav-logo-text{font-family:'Instrument Serif',Georgia,serif;font-weight:400;font-size:26px;line-height:1;color:hsl(143.04,66.14%,37.06%);white-space:nowrap}
.vgl-nav-logo-text em{font-weight:400;font-style:italic}
.vgl-nav-menu{display:flex;align-items:center;gap:28px}
.vgl-nav-links{display:flex;align-items:center;gap:30px;list-style:none;margin:0;padding:0}
.vgl-nav-links a{font-family:'Newsreader',Georgia,serif;text-decoration:none;color:#5e5a51;font-size:17px;font-weight:500}
.vgl-nav-links a:hover,.vgl-nav-links .nav-directory-link{color:#0e0e0e}
.vgl-nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border-radius:999px;background:#0e0e0e;color:#fff!important;text-decoration:none;font-family:'DM Sans',sans-serif;font-weight:600;font-size:12px;letter-spacing:.12em;text-transform:uppercase;padding:0 20px}
.vgl-nav-cta:hover{background:#1f1f1d}
.vgl-nav-toggle{display:none;background:transparent;border:0;color:#0e0e0e;padding:8px;cursor:pointer}
@media(max-width:880px){.vgl-nav-inner{height:64px;padding:0 18px}.vgl-nav-toggle{display:inline-flex}.vgl-nav-menu{display:none;position:absolute;left:0;right:0;top:64px;background:#FAF9F5;border-bottom:1px solid #e5e1d8;padding:18px;flex-direction:column;align-items:flex-start;gap:16px}.vgl-nav-menu.active{display:flex}.vgl-nav-links{flex-direction:column;align-items:flex-start;gap:14px}}

.dih-hub { --teal:#00BFB2; --teal-dark:#00a89c; --black:#000000; --dark:#1a1a1a; --muted:#6b7280; --border:#e5e7eb; --card:#ffffff; --bg-soft:#f9fafb; --bg-cream:#fafaf7; color:var(--dark) !important; max-width:none; margin:0; padding:0; font-family:'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif; }
.dih-hub *, .dih-hub *::before, .dih-hub *::after { box-sizing:border-box; }
.dih-hub h1, .dih-hub h2, .dih-hub h3, .dih-hub h4 { font-family:'Playfair Display', Georgia, serif; }
.dih-hub p { color:inherit; }
.dih-hub a { color:var(--teal) !important; }
.dih-hub a:hover { color:var(--teal-dark) !important; }
.dih-hub .hub-cat-card, .dih-hub .hub-result-card, .dih-hub .hub-suggest-card { color:var(--dark) !important; text-decoration:none !important; }
.dih-hub .hub-cat-card:hover, .dih-hub .hub-result-card:hover { color:var(--dark) !important; }
.dih-hub .hub-cat-name, .dih-hub .hub-result-name { color:var(--dark) !important; }
.dih-hub .hub-section-title { color:var(--dark) !important; }
.dih-hub .hub-hero { background:#FAF9F5; color:#1f1f1d; padding:7rem 2rem 5.5rem; margin:0; text-align:center; }
.dih-hub .hub-hero-inner { max-width:720px; margin:0 auto; }
.dih-hub .hub-eyebrow { font-family:'DM Sans',sans-serif; font-size:.7rem; font-weight:600; letter-spacing:.32em; text-transform:uppercase; color:#7a7569 !important; margin:0 0 2rem; }
.dih-hub .hub-title { font-family:'Playfair Display',Georgia,serif; font-size:clamp(3.5rem,8vw,5.5rem); font-weight:400; margin:0 0 1.5rem; letter-spacing:-.02em; line-height:1; color:#0e0e0e !important; }
.dih-hub .hub-title em { font-style:italic; font-weight:400; color:var(--teal) !important; }
.dih-hub .hub-title-dot { color:#0e0e0e; }
.dih-hub .hub-subtitle { font-size:1.08rem; color:#5e5a51; margin:0 auto 3.25rem; max-width:540px; line-height:1.55; font-weight:400; }
.dih-hub .hub-form { max-width:640px; margin:0 auto 1.75rem; display:flex; gap:.625rem; align-items:center; }
.dih-hub .hub-search-wrap { position:relative; flex:1; min-width:0; }
.dih-hub .hub-search { width:100%; padding:1.1rem 3rem 1.1rem 1.5rem; font-size:1rem; font-family:inherit; border:1px solid #d9d4c6; border-radius:999px; background:#fff; color:#1f1f1d; transition:border-color .2s, box-shadow .2s; outline:none; }
.dih-hub .hub-search::placeholder { color:#a39d8f; }
.dih-hub .hub-search:focus { border-color:#0e0e0e; box-shadow:0 0 0 3px rgba(14,14,14,.06); }
.dih-hub .hub-clear { position:absolute; top:50%; right:.875rem; transform:translateY(-50%); background:none; border:none; font-size:1.25rem; color:#a39d8f; cursor:pointer; padding:.25rem .4rem; line-height:1; }
.dih-hub .hub-clear:hover { color:#0e0e0e; }
.dih-hub .hub-ask { padding:1.1rem 1.75rem; font-size:.8rem; font-weight:600; font-family:inherit; letter-spacing:.12em; text-transform:uppercase; background:#0e0e0e; color:#fff !important; border:none; border-radius:999px; cursor:pointer; transition:background .15s; flex-shrink:0; }
.dih-hub .hub-ask:hover { background:#1f1f1d; }
@media (max-width:520px){ .dih-hub .hub-form { flex-direction:column; gap:.5rem; } .dih-hub .hub-ask { width:100%; } }
.dih-hub .hub-chips { font-size:.92rem; color:#7a7569; margin:0 auto 2.5rem; max-width:680px; line-height:1.8; }
.dih-hub .hub-chips-label { font-family:'DM Sans',sans-serif; font-size:.7rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:#a39d8f; margin-right:.875rem; }
.dih-hub .hub-chip { background:none; border:none; padding:0; font-family:'Playfair Display',Georgia,serif; font-style:italic; font-size:.95rem; color:#1f1f1d; cursor:pointer; transition:color .15s; border-bottom:1px solid transparent; padding-bottom:1px; }
.dih-hub .hub-chip:hover { color:var(--teal) !important; border-bottom-color:var(--teal); }
.dih-hub .hub-chip-sep { color:#c9c4b7; margin:0 .625rem; font-style:normal; }
.dih-hub .hub-disclosure { font-family:'DM Sans',sans-serif; font-size:.72rem; color:#a39d8f; margin:0; line-height:1.5; letter-spacing:.02em; }
.dih-hub .hub-disclosure strong { color:#7a7569; font-weight:600; }
.dih-hub .hub-disclosure a { color:#7a7569 !important; text-decoration:underline; text-underline-offset:2px; }
.dih-hub .hub-disclosure a:hover { color:var(--teal) !important; }
.dih-hub .hub-body { background:#FAF9F5; padding:5rem 2rem 6rem; border-top:1px solid #e5e1d8; }
.dih-hub .hub-body-inner { max-width:1180px; margin:0 auto; }
.dih-hub .hub-summary { margin-top:1.5rem; font-size:.9rem; color:var(--muted); font-family:'DM Mono',monospace; text-transform:uppercase; letter-spacing:.1em; }
.dih-hub .hub-summary strong { color:var(--dark); font-weight:700; }
.dih-hub .hub-section { margin-bottom:4rem; }
.dih-hub .hub-section:last-child { margin-bottom:0; }
.dih-hub .hub-section-head { display:flex; align-items:baseline; gap:.875rem; margin-bottom:1.5rem; padding-bottom:1rem; border-bottom:1px solid #e5e1d8; }
.dih-hub .hub-section-icon { font-size:1.1rem; line-height:1; opacity:.7; }
.dih-hub .hub-section-title { font-family:'DM Sans',sans-serif; font-size:.78rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:#0e0e0e; margin:0; }
.dih-hub .hub-section-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:1.25rem; }
.dih-hub .hub-cat-card { display:block; padding:1.75rem 1.75rem 1.5rem; background:#fff; border:1px solid #e5e1d8; border-radius:8px; text-decoration:none !important; color:#0e0e0e !important; min-height:120px; transition:border-color .2s, transform .2s; }
.dih-hub .hub-cat-card:hover { border-color:var(--teal); transform:translateY(-2px); }
.dih-hub .hub-cat-card.is-empty { opacity:.5; }
.dih-hub .hub-cat-icon { font-size:1.65rem; line-height:1; margin-bottom:.9rem; }
.dih-hub .hub-cat-name { font-family:'Playfair Display',Georgia,serif; font-weight:600; font-size:1.2rem; margin:0 0 .625rem; color:#0e0e0e !important; line-height:1.25; letter-spacing:-.01em; }
.dih-hub .hub-cat-count { font-family:'DM Sans',sans-serif; font-size:.78rem; color:#7a7569; margin:0; font-weight:500; }
.dih-hub .hub-cat-count strong { color:var(--teal); font-weight:600; }
.dih-hub .hub-summary { font-family:'DM Sans',sans-serif; font-size:.78rem; font-weight:500; letter-spacing:.16em; text-transform:uppercase; color:#7a7569; margin-bottom:2rem; padding-bottom:1rem; border-bottom:1px solid #e5e1d8; }
.dih-hub .hub-summary strong { color:#0e0e0e; font-weight:600; }
.dih-hub .hub-results { display:grid; grid-template-columns:repeat(auto-fill, minmax(340px, 1fr)); gap:1.25rem; }
.dih-hub .hub-result-card { display:flex; flex-direction:column; padding:1.75rem 1.75rem 1.5rem; background:#fff; border:1px solid #e5e1d8; border-radius:8px; text-decoration:none !important; color:#0e0e0e !important; position:relative; min-height:180px; transition:border-color .2s, transform .2s; }
.dih-hub .hub-result-card:hover { border-color:var(--teal); transform:translateY(-2px); }
.dih-hub .hub-result-card.is-featured { border-left:2px solid var(--teal); }
.dih-hub .hub-badge { display:inline-block; font-family:'DM Sans',sans-serif; font-size:.68rem; font-weight:600; text-transform:uppercase; letter-spacing:.14em; padding:.3rem .65rem; margin-bottom:.875rem; align-self:flex-start; border-radius:4px; }
.dih-hub .hub-badge.featured { background:var(--teal); color:#fff; }
.dih-hub .hub-result-name { font-family:'Playfair Display',Georgia,serif; font-weight:600; font-size:1.25rem; margin:0 0 .4rem; line-height:1.25; color:#0e0e0e !important; letter-spacing:-.01em; }
.dih-hub .hub-result-meta { font-size:.9rem; color:#7a7569; margin:0 0 .5rem; line-height:1.45; }
.dih-hub .hub-result-rating { font-size:.85rem; color:#7a7569; margin-bottom:.4rem; }
.dih-hub .hub-result-rating strong { color:#0e0e0e; font-weight:600; }
.dih-hub .hub-result-cat { font-family:'DM Sans',sans-serif; font-size:.72rem; color:var(--teal); font-weight:600; text-transform:uppercase; letter-spacing:.14em; margin-top:auto; padding-top:1rem; }
.dih-hub .hub-loading { text-align:center; color:#a39d8f; padding:4rem 1rem; font-family:'DM Sans',sans-serif; font-size:.78rem; text-transform:uppercase; letter-spacing:.2em; font-weight:500; }
.dih-hub .hub-empty { grid-column:1/-1; text-align:center; padding:4rem 1rem; color:#7a7569; font-size:1rem; line-height:1.55; }
.dih-hub .hub-empty strong { color:#0e0e0e; display:block; margin-bottom:.75rem; font-family:'Playfair Display',Georgia,serif; font-size:1.5rem; font-weight:600; font-style:italic; }
.dih-hub .hub-suggestions { display:flex; justify-content:center; flex-wrap:wrap; gap:.5rem; margin-top:1.25rem; }
.dih-hub .hub-suggest-card { display:inline-block; padding:.5rem 1.125rem; background:transparent; border:1px solid #d9d4c6; border-radius:999px; text-decoration:none !important; color:#0e0e0e !important; font-size:.85rem; font-weight:500; transition:all .15s; }
.dih-hub .hub-suggest-card:hover { border-color:var(--teal); color:var(--teal) !important; }
@media (max-width:640px) {
  .dih-hub .hub-hero { padding:4rem 1.5rem 3.5rem; }
  .dih-hub .hub-body { padding:3rem 1.5rem 4rem; }
  .dih-hub .hub-form { flex-direction:column; }
  .dih-hub .hub-ask { width:100%; }
  .dih-hub .hub-section-grid, .dih-hub .hub-results { grid-template-columns:1fr; gap:1rem; }
  .dih-hub .hub-chips { font-size:.85rem; }
  .dih-hub .hub-chip-sep { margin:0 .4rem; }
}

.dih-hub .crumbs{font-family:'DM Sans',sans-serif;font-size:.78rem;color:#7a7569;margin-bottom:1.25rem;letter-spacing:.02em}
.dih-hub .crumbs a{color:#7a7569!important;text-decoration:none}
.dih-hub .crumbs a:hover{color:var(--teal)!important}
.dih-hub .hub-hero.is-page{padding:4.5rem 2rem 3rem;text-align:left}
.dih-hub .hub-hero.is-page .hub-hero-inner{max-width:1180px;margin:0 auto}
.dih-hub .hub-page-icon{font-size:2.4rem;line-height:1;margin:0 0 1rem}
.dih-hub .hub-hero.is-page .hub-title{font-size:clamp(2.5rem,6vw,4rem)}
.dih-hub .hub-hero.is-page .hub-subtitle{margin:1rem 0 0;max-width:680px}
.dih-hub .hub-result-rating span{color:#a39d8f}
.dih-hub .hub-badge.select{background:#0e0e0e;color:#fff}
.dih-hub .dih-detail{max-width:1180px;margin:0 auto;padding:3rem 2rem 5rem}
.dih-hub .dih-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:2.5rem;align-items:start;margin-top:1.75rem}
.dih-hub .dih-detail h1{font-family:'Playfair Display',Georgia,serif;font-weight:600;font-size:clamp(2.2rem,5vw,3.2rem);line-height:1.06;margin:.4rem 0 .5rem;color:#0e0e0e;letter-spacing:-.01em}
.dih-hub .dih-detail-cat{font-family:'DM Sans',sans-serif;font-size:.72rem;color:var(--teal);font-weight:600;text-transform:uppercase;letter-spacing:.14em}
.dih-hub .dih-detail-rating{color:#5e5a51;font-size:.95rem;margin:.5rem 0 0}
.dih-hub .dih-detail-rating strong{color:#0e0e0e}
.dih-hub .dih-detail-about{font-size:1.05rem;color:#3a382f;line-height:1.7;margin:1.5rem 0 0}
.dih-hub .dih-detail-section{border-top:1px solid #e5e1d8;padding-top:1.5rem;margin-top:2rem}
.dih-hub .dih-about-section{border-top:0;padding-top:0;margin-top:1.5rem}
.dih-hub .dih-detail-section h2{font-family:'Playfair Display',Georgia,serif;font-weight:600;font-size:1.5rem;margin:0 0 1rem;color:#0e0e0e}
.dih-hub .dih-about-copy p{font-size:1.02rem;color:#3a382f;line-height:1.7;margin:0 0 1rem}
.dih-hub .dih-about-copy p:last-child{margin-bottom:0}
.dih-hub .dih-tags{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0}
.dih-hub .dih-tags li{background:#fff;border:1px solid #e5e1d8;border-radius:999px;padding:.4rem .8rem;font-size:.85rem;color:#5e5a51}
.dih-hub .dih-side{background:#fff;border:1px solid #e5e1d8;border-radius:8px;padding:1.5rem;position:sticky;top:96px}
.dih-hub .dih-side .row{padding:.8rem 0;border-bottom:1px solid #f0ede4}
.dih-hub .dih-side .row:last-of-type{border-bottom:0}
.dih-hub .dih-side .row span{display:block;font-family:'DM Mono',monospace;font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:#a39d8f;margin-bottom:.3rem}
.dih-hub .dih-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;margin-top:1rem;border-radius:999px;background:#0e0e0e;color:#fff!important;text-decoration:none;padding:.85rem 1rem;font-weight:600;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}
.dih-hub .dih-btn:hover{background:#1f1f1d}
.dih-hub .dih-btn.secondary{background:#fff;color:#0e0e0e!important;border:1px solid #d9d4c6}
.dih-hub .dih-btn.secondary:hover{border-color:var(--teal)}
.dih-hub .dih-faq details{border-top:1px solid #e5e1d8;padding:1rem 0}
.dih-hub .dih-faq details:last-child{border-bottom:1px solid #e5e1d8}
.dih-hub .dih-faq summary{cursor:pointer;font-weight:600;font-family:'DM Sans',sans-serif;color:#0e0e0e}
.dih-hub .dih-faq p{color:#5e5a51;margin:.75rem 0 0}
@media(max-width:860px){.dih-hub .dih-detail-grid{grid-template-columns:1fr}.dih-hub .dih-side{position:static}}
