/* Compact, separated brand marks in the category cards. */
#temy .guide-faces{gap:7px;margin-top:10px}
main.container #temy .guide-faces span{--face:32px;margin-left:0;flex:0 0 32px;width:32px;height:32px;overflow:visible}
main.container #temy .guide-faces img{width:32px;height:32px;object-fit:contain}
main.container #temy .guide.guide-illustrated{grid-template-columns:76px minmax(0,1fr);gap:16px;padding:18px;min-height:118px}
main.container #temy .guide.guide-illustrated h3{font-size:18px;line-height:1.4;margin:0;letter-spacing:-.03em}
#temy .guide-scene{width:76px}
#temy .guide-grid{gap:14px}
#vse{scroll-margin-top:110px}
#vse .catalog-search{position:relative;max-width:none;margin:22px 0 18px}
#vse .catalog-search input{height:60px;padding:15px 48px 15px 54px;border-radius:16px;border-color:#d9e5df;box-shadow:none;background:#fff;font-size:16px}
.search-symbol{position:absolute;top:19px;left:19px;color:#147967;pointer-events:none}
.catalog-filters{display:flex;gap:8px;overflow:auto;padding:3px 3px 12px;scrollbar-width:thin;scrollbar-color:#c4d7cc transparent;overscroll-behavior-inline:contain}
.catalog-filter{display:inline-flex;align-items:center;gap:9px;min-height:46px;white-space:nowrap;padding:11px 15px;border:1px solid #d9e5df;border-radius:12px;background:#fff;color:#52635b;font:600 13px/1.4 Manrope,Arial,sans-serif;cursor:pointer;transition:background .15s,border-color .15s}
.catalog-filter span{padding:2px 6px;border-radius:5px;background:#eaf1ec;font-size:11px;font-weight:600;color:#50655a}
.catalog-filter:hover{border-color:#147967;background:#f0f7f3}
.catalog-filter.is-active{background:#107767;border-color:#107767;color:#fff}
.catalog-filter.is-active span{background:#ffffff10;color:#fff}
.catalog-options{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:10px 0 18px}
.instruction-filter{display:flex;align-items:center;gap:12px;border:1px solid #d9e5df;border-radius:12px;padding:12px 16px;background:#f0f7f3;color:#1d5c46;text-align:left;font:650 13px/1.5 Manrope,Arial,sans-serif;cursor:pointer}
.instruction-filter span{margin-left:auto;font-size:17px}
.instruction-filter.is-active{background:#d8efdf;border-color:#76aa89}
.catalog-sort{display:flex;align-items:center;gap:8px;color:#65766c;font:12px/1.5 Manrope,Arial,sans-serif;white-space:nowrap}
.catalog-sort select{max-width:150px;padding:9px 12px;border:1px solid #d9e5df;border-radius:10px;background:#fff;color:#223d30;font:inherit;cursor:pointer}
.catalog-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0}
main.container .catalog-summary p{margin:0;font-size:14px;color:#52635b}
.catalog-reset,.empty-reset{background:none;border:0;padding:8px 0;color:#176c50;font:600 13px/1.5 Manrope,Arial,sans-serif;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
main.container #vse .guide.guide-logo{grid-template-columns:64px minmax(0,1fr) 16px;gap:15px;padding:22px;min-height:134px;background:#fff;border:1px solid #e0e8e2;border-radius:18px;align-items:center}
main.container #vse .guide.guide-logo:hover{background:#f6faf7;border-color:#92b9a2;box-shadow:0 6px 20px #20452a08}
main.container #vse .guide.guide-logo .guide-mark,main.container #vse .guide.guide-logo>span.guide-mark{width:64px;height:44px;background:transparent;border:0;border-radius:0;padding:0}
main.container #vse .guide.guide-logo h3{font-size:18px;line-height:1.4;margin:0 0 5px;font-weight:700;letter-spacing:-.03em}
main.container #vse .guide.guide-logo p{font-size:12px;line-height:1.55;color:#78857d}
.instruction-badge{display:inline-block;font:550 12px/1.5 Manrope,Arial,sans-serif;color:#207052}
.availability-note{display:inline-block;font:500 11px/1.5 Manrope,Arial,sans-serif;color:#65766c;margin-top:4px}
.availability-note.is-no{color:#9d4d3e}
.availability-note.is-conditional{color:#916517}
main.container #vse .guide.guide-logo .service-type{margin:0;color:#65766c}
.payment-guide .guide-illustrations{padding:15px 0;margin:20px 0;border-top:1px solid #e3ebe5;border-bottom:1px solid #e3ebe5}
.payment-guide .guide-illustrations summary{font-size:14px}
.payment-guide .guide-figure-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.payment-guide .guide-figure-grid figure{margin:12px 0}
@media(max-width:650px){.payment-guide .guide-figure-grid{grid-template-columns:1fr}}
#vse [hidden],#vse .guide[hidden]{display:none!important}
.catalog-empty{padding:32px 24px;border:1px dashed #b9cfbf;border-radius:18px;background:#f7faf7;text-align:center}
.catalog-empty h3{margin:0 0 8px}
.catalog-empty p{color:#617266}
.catalog-filter:focus-visible,.instruction-filter:focus-visible,.catalog-sort select:focus-visible,.catalog-reset:focus-visible,.empty-reset:focus-visible{outline:3px solid #348645;outline-offset:3px}
.payment-guide .article-art{max-width:220px;justify-self:center}
.payment-guide .service-page-logo{display:block;max-width:200px;width:100%;height:110px;object-fit:contain}
.payment-guide .article-layout{grid-template-columns:220px minmax(0,1fr);align-items:start}
.payment-guide .toc{max-height:calc(100vh - 120px);overflow:auto;top:100px}
.payment-guide .article-body{max-width:810px}
.payment-guide .article-body h2{scroll-margin-top:105px;margin:40px 0 18px}
.payment-guide .article-body h3{margin:26px 0 12px}
.payment-guide .article-body li{margin:10px 0;padding-left:4px}
.payment-guide .article-body li p{margin:8px 0}
.payment-guide .article-body .callout{border-left:3px solid #71ad89;background:#f1f7f3;border-radius:0 14px 14px 0;padding:20px;margin:22px 0}
.payment-guide .article-body .table-scroll{overflow:auto;margin:20px 0;border:1px solid #dce6de;border-radius:12px}
.payment-guide table{width:100%;border-collapse:collapse;font-size:14px}
.payment-guide th,.payment-guide td{text-align:left;border-bottom:1px solid #e4ebe5;padding:12px 14px;min-width:140px}
.payment-guide th{background:#f1f7f3}
.payment-guide table tr:last-child td{border:0}
.payment-guide .source-note{font-size:13px;color:#617266;margin:25px 0}
.payment-guide .article-body a{overflow-wrap:anywhere}
.payment-guide figure{margin:24px 0}
.payment-guide figure img{max-width:100%;height:auto;border:1px solid #e1e9e3;border-radius:12px}
.payment-guide figcaption{font-size:12px;color:#65766c;line-height:1.6;margin-top:8px}
.no-js .catalog-controls,.no-js .catalog-search,.no-js .catalog-reset{display:none}
@media(max-width:900px){main.container #vse .guide.guide-logo{padding:18px;gap:12px;grid-template-columns:56px minmax(0,1fr) 14px}main.container #vse .guide.guide-logo .guide-mark,main.container #vse .guide.guide-logo>span.guide-mark{width:56px;height:40px}.payment-guide .article-layout{grid-template-columns:180px minmax(0,1fr);gap:28px}}
@media(max-width:650px){main.container #temy .guide.guide-illustrated{grid-template-columns:60px minmax(0,1fr);min-height:108px;padding:16px;gap:14px}#temy .guide-scene{width:60px}main.container #temy .guide.guide-illustrated h3{font-size:17px}main.container #temy .guide-faces span{--face:28px;flex-basis:28px;width:28px;height:28px}main.container #temy .guide-faces img{width:28px;height:28px}#temy .guide-faces{gap:6px}#vse .catalog-search input{height:56px}.search-symbol{top:17px}.catalog-options{align-items:stretch;flex-direction:column;gap:12px}.instruction-filter{font-size:13px}.catalog-sort{justify-content:flex-end}.catalog-summary{margin-top:20px}.catalog-filter{font-size:13px;min-height:44px}main.container #vse .guide.guide-logo{padding:18px;min-height:112px}.payment-guide .article-layout{display:flex}.payment-guide .article-art{align-self:flex-start;max-width:150px}.payment-guide .service-page-logo{height:65px;max-width:150px}.payment-guide .toc{max-height:none;width:100%;padding:18px;background:#f3f8f4;border:1px solid #deeadf;border-radius:14px}.payment-guide .article-body{max-width:100%}}
@media(prefers-reduced-motion:reduce){.catalog-filter{transition:none}}
@media print{.catalog-controls,.catalog-search,.catalog-summary{display:none}.payment-guide .toc{display:none}.payment-guide .article-layout{display:block}}

/* Give long wordmarks room while keeping the category badges compact. */
main.container #vse .guide-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
main.container #vse .guide.guide-logo{grid-template-columns:minmax(0,1fr) 16px;grid-template-rows:78px auto;gap:14px 10px;padding:20px;min-height:202px;align-items:start}
main.container #vse .guide.guide-logo .guide-mark,main.container #vse .guide.guide-logo>span.guide-mark{grid-column:1/-1;display:flex;align-items:center;justify-content:center;width:100%;height:78px}
main.container #vse .guide.guide-logo .guide-mark img{width:150px;max-width:100%;height:70px;object-fit:contain}
main.container #vse .guide.guide-logo>div{min-width:0;align-self:start}
main.container #vse .guide.guide-logo .arrow{align-self:center;font-size:18px}
main.container #vse .guide.guide-logo h3{font-size:17px;overflow-wrap:anywhere}
@media(max-width:1000px){main.container #vse .guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){main.container #vse .guide-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}main.container #vse .guide.guide-logo{padding:15px;grid-template-rows:65px auto;min-height:190px;gap:13px 5px}main.container #vse .guide.guide-logo .guide-mark,main.container #vse .guide.guide-logo>span.guide-mark{height:65px}main.container #vse .guide.guide-logo .guide-mark img{width:130px;height:58px}main.container #vse .guide.guide-logo h3{font-size:14px;line-height:1.45;letter-spacing:-.02em}.instruction-badge{font-size:11px;line-height:1.5}main.container #vse .guide.guide-logo .service-type{font-size:11px}.availability-note{font-size:10px}main.container #vse .guide.guide-logo .arrow{font-size:14px}}
@media(max-width:350px){main.container #vse .guide.guide-logo{padding:12px;min-height:200px}main.container #vse .guide.guide-logo h3{font-size:13px}}

/* Catalog controls match the site plaques: gray chips, mint when selected. */
.catalog-filters{
  gap:8px;
  padding:2px 2px 16px;
  scrollbar-width:none;
}
.catalog-filters::-webkit-scrollbar{display:none}
.catalog-filter,
.catalog-filter:hover{
  min-height:44px;
  gap:8px;
  padding:8px 14px;
  border:0;
  border-radius:14px;
  background:linear-gradient(165deg,#f6f6f6 0%,#e4e4e4 46%,#d2d2d2 100%);
  color:#171a18;
  box-shadow:0 8px 16px rgba(32,35,33,.05);
  font-family:Manrope,Arial,sans-serif;
  font-weight:650;
  font-size:14.5px;
  letter-spacing:-.014em;
  line-height:1.3;
}
.catalog-filter span,
.catalog-filter.is-active span{
  padding:0;
  border-radius:0;
  background:none;
  color:#2f9a52;
  font-family:inherit;
  font-weight:750;
  font-size:13px;
  letter-spacing:-.02em;
}
.catalog-filter.is-active,
.catalog-filter.is-active:hover{
  background:linear-gradient(180deg,#e8ffe4 0%,#c8f3c4 55%,#b3eab0 100%);
  color:#171a18;
  box-shadow:0 8px 16px rgba(32,35,33,.08);
}
.catalog-filter.is-active span{color:#173024}
.catalog-options{
  align-items:center;
  gap:12px;
  margin:2px 0 18px;
}
.instruction-filter,
.instruction-filter:hover{
  gap:10px;
  border:0;
  border-radius:16px;
  padding:12px 16px;
  background:#fff;
  color:#243028;
  box-shadow:0 10px 22px rgba(32,35,33,.06);
  font-family:Manrope,Arial,sans-serif;
  font-weight:650;
  font-size:14.5px;
  letter-spacing:-.014em;
  line-height:1.35;
}
.instruction-filter span{margin-left:8px;color:#2f9a52;font-size:16px}
.instruction-filter.is-active,
.instruction-filter.is-active:hover{
  background:linear-gradient(180deg,#e8ffe4 0%,#c8f3c4 55%,#b3eab0 100%);
  color:#171a18;
  border:0;
}
.catalog-sort{
  gap:10px;
  color:#3a423e;
  font-family:Manrope,Arial,sans-serif;
  font-weight:560;
  font-size:14.5px;
  letter-spacing:-.014em;
}
.catalog-sort select{
  max-width:none;
  padding:10px 14px;
  border:0;
  border-radius:14px;
  background:linear-gradient(165deg,#f6f6f6 0%,#e4e4e4 46%,#d2d2d2 100%);
  color:#171a18;
  font-family:inherit;
  font-weight:650;
  letter-spacing:-.014em;
}
@media(max-width:650px){
  .catalog-options{align-items:stretch;flex-direction:column;gap:10px}
  .catalog-sort{justify-content:space-between}
  .catalog-filter,.catalog-filter:hover{font-size:14px;min-height:42px}
}

/* Empty search sits on the same gray plaque as the other summary cards. */
.catalog-empty{
  padding:22px 22px 18px;
  border:0;
  border-radius:18px;
  background:linear-gradient(165deg,#f6f6f6 0%,#e4e4e4 46%,#d2d2d2 100%);
  box-shadow:0 18px 40px rgba(32,35,33,.06);
  text-align:left;
}
.catalog-empty h3{
  margin:0 0 8px;
  font-family:Manrope,Arial,sans-serif;
  font-weight:800;
  font-size:22px;
  letter-spacing:-.03em;
  line-height:1.25;
  color:#171a18;
}
.catalog-empty p,
main.container .catalog-empty p{
  margin:0;
  font-family:Manrope,Arial,sans-serif;
  font-weight:560;
  font-size:16px;
  letter-spacing:-.014em;
  line-height:1.45;
  color:#243028;
}
.catalog-empty .empty-reset{
  display:inline-block;
  margin-top:14px;
  padding:0;
  color:#2f9a52;
  font-family:Manrope,Arial,sans-serif;
  font-weight:650;
  font-size:14.5px;
  letter-spacing:-.014em;
  text-decoration:underline;
  text-underline-offset:3px;
}

/* Instruction toggle uses the same gray plaque as the card-conditions bar. */
.catalog-options{flex-wrap:wrap}
.instruction-filter,
.instruction-filter:hover{
  position:relative;
  flex:1 1 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  width:auto;
  margin:0;
  padding:18px 20px;
  background:linear-gradient(165deg,#f6f6f6 0%,#e4e4e4 46%,#d2d2d2 100%);
  border:0;
  border-radius:18px;
  box-shadow:0 18px 40px rgba(32,35,33,.06);
  color:#171a18;
  text-align:left;
  font-family:Manrope,Arial,sans-serif;
  font-weight:650;
  font-size:18px;
  letter-spacing:-.02em;
  line-height:1.35;
}
.instruction-filter span{
  position:absolute;
  width:1px;
  height:1px;
  margin:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
}
.instruction-filter:after{
  content:"";
  width:9px;
  height:9px;
  margin-right:2px;
  border-right:1.6px solid #243028;
  border-bottom:1.6px solid #243028;
  transform:rotate(-45deg);
  flex:none;
}
.instruction-filter.is-active,
.instruction-filter.is-active:hover{
  background:linear-gradient(180deg,#e8ffe4 0%,#c8f3c4 55%,#b3eab0 100%);
  color:#171a18;
  border:0;
}
main.container #vse .guide.guide-logo{
  grid-template-columns:minmax(0,1fr) 28px;
}
main.container #vse .guide.guide-logo .arrow,
a.guide.guide-logo > .arrow{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  align-self:center;
  width:22px;
  height:22px;
  min-width:22px;
  overflow:hidden;
  font-size:0;
  line-height:0;
  color:transparent;
  background:center / 22px 22px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3ClinearGradient id='g' x1='4' y1='20' x2='20' y2='4' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='0' stop-color='%23e4ffc8'/%3E%3Cstop offset='.42' stop-color='%235bde78'/%3E%3Cstop offset='1' stop-color='%230d7c36'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M7 17 17 7M9 7h8v8' fill='none' stroke='url(%23g)' stroke-width='2.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
@media(max-width:700px){
  .instruction-filter,
  .instruction-filter:hover{padding:16px;font-size:16.5px}
}
@media(max-width:650px){
  .instruction-filter,
  .instruction-filter:hover{flex:0 0 auto;width:100%}
  main.container #vse .guide.guide-logo{grid-template-columns:minmax(0,1fr) 32px}
  main.container #vse .guide.guide-logo .arrow,
  a.guide.guide-logo > .arrow{
    width:28px;
    height:28px;
    min-width:28px;
    background-size:28px 28px;
  }
}
#temy .guide .arrow{display:none}
