/* OEI1-A1-CAT1-S3-U1-C2 · Two-action navigation and complete-directory presentation only. */
.rib360-oei1-s3-directory,
.rib360-oei1-s3-directory *{box-sizing:border-box}
.rib360-oei1-s3-directory{width:min(100% - 32px,1180px);margin:10px auto 0;border:1px solid #b8c7d8;border-radius:18px;background:linear-gradient(180deg,#f5f8fb 0%,#edf3f8 100%);box-shadow:0 12px 30px rgba(17,38,66,.08);overflow:hidden;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}
.rib360-oei1-s3-directory summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:0 16px;color:#17324f;font-size:14px;font-weight:750;cursor:pointer;list-style:none;letter-spacing:.005em;transition:background .18s ease,color .18s ease}
.rib360-oei1-s3-directory summary::-webkit-details-marker{display:none}
.rib360-oei1-s3-directory summary::after{content:'+';display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:#dce7f1;color:#294f73;font-size:18px;font-weight:650}
.rib360-oei1-s3-directory summary:hover{background:#e8f0f7;color:#102f4c}
.rib360-oei1-s3-directory[open]{border-color:#8fa8c1;background:#f7f9fc;box-shadow:0 16px 36px rgba(17,38,66,.11)}
.rib360-oei1-s3-directory[open] summary{background:#e5edf5;border-bottom:1px solid #c8d5e2}
.rib360-oei1-s3-directory[open] summary::after{content:'−';background:#c8d8e8;color:#163f64}
.rib360-oei1-s3-directory summary:focus-visible{outline:3px solid rgba(255,167,0,.32);outline-offset:-3px}
.rib360-oei1-s3-directory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;padding:0 14px 14px;list-style:none}
.rib360-oei1-s3-directory-grid li{min-width:0}.rib360-oei1-s3-directory-grid a{display:flex;align-items:center;gap:10px;min-width:0;min-height:62px;padding:10px 12px;border:1px solid #e8edf4;border-radius:14px;background:#fbfdff;color:#17263c;text-decoration:none;transition:border-color .18s ease,background .18s ease,transform .18s ease}
.rib360-oei1-s3-directory-grid a:hover,.rib360-oei1-s3-directory-grid a:focus-visible{border-color:#ffc56a;background:#fffaf1;transform:translateY(-1px);outline:none}
.rib360-oei1-s3-directory-grid a.is-active{border-color:#ffa700;background:#fff4de;box-shadow:inset 0 0 0 1px rgba(255,167,0,.18)}
.rib360-oei1-s3-directory-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;border-radius:11px;background:#fff2d8;color:#8a5700;font-size:17px;font-weight:700}
.rib360-oei1-s3-directory-grid a>span:last-child{display:grid;gap:3px;min-width:0}
.rib360-oei1-s3-directory-grid strong{font-size:12.5px;line-height:1.25;font-weight:650;white-space:normal}
.rib360-oei1-s3-directory-grid small{font-size:11px;line-height:1.2;color:#738097}
[data-rib360-category-icon]{position:relative}
.rib360-oei1-s3-inline-icon{display:inline-flex;align-items:center;justify-content:center;margin-right:6px;font-size:.9em;line-height:1}
@media(max-width:980px){.rib360-oei1-s3-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.rib360-oei1-s3-directory{width:calc(100% - 24px);margin-top:8px;border-radius:16px}.rib360-oei1-s3-directory summary{min-height:44px;padding:0 14px}.rib360-oei1-s3-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 10px 10px}.rib360-oei1-s3-directory-grid a{min-height:58px;padding:9px 10px}.rib360-oei1-s3-directory-icon{flex-basis:30px;width:30px;height:30px}}
@media(max-width:399px){.rib360-oei1-s3-directory-grid{grid-template-columns:1fr}.rib360-oei1-s3-directory-grid a{min-height:52px}}

/* OEI1-A1-CAT1-S3-U1-C2 · Explicit two-action rail ownership.
   D1G remains unchanged and intentionally does not activate below three recognized links. */
html body .rib360-public-category-nav[data-oei1-s3-primary-actions="all-recommended"]{
  display:block!important;
  width:100%!important;
  margin-top:10px!important;
  padding:0!important;
}
html body .rib360-public-category-nav[data-oei1-s3-primary-actions="all-recommended"] > .rib360-public-category-track{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:stretch!important;
  justify-content:center!important;
  gap:8px!important;
  width:min(calc(100% - 32px),440px)!important;
  max-width:440px!important;
  margin:0 auto!important;
  padding:8px 0 10px!important;
  overflow:visible!important;
  flex-wrap:nowrap!important;
}
html body .rib360-public-category-nav[data-oei1-s3-primary-actions="all-recommended"] > .rib360-public-category-track > a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  min-height:42px!important;
  margin:0!important;
  padding:0 14px!important;
  border:1px solid #d6e0ea!important;
  border-radius:13px!important;
  background:#fff!important;
  color:#24384f!important;
  font-size:12.5px!important;
  font-weight:650!important;
  line-height:1.2!important;
  text-align:center!important;
  white-space:normal!important;
  box-shadow:0 5px 14px rgba(17,38,66,.045)!important;
  transition:border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease!important;
}
html body .rib360-public-category-nav[data-oei1-s3-primary-actions="all-recommended"] > .rib360-public-category-track > a:hover,
html body .rib360-public-category-nav[data-oei1-s3-primary-actions="all-recommended"] > .rib360-public-category-track > a:focus-visible{
  border-color:#9eb5ca!important;
  background:#eef4f9!important;
  color:#153b5e!important;
  outline:3px solid rgba(38,104,158,.18)!important;
  outline-offset:2px!important;
}
html body .rib360-public-category-nav[data-oei1-s3-primary-actions="all-recommended"] > .rib360-public-category-track > a.is-active,
html body .rib360-public-category-nav[data-oei1-s3-primary-actions="all-recommended"] > .rib360-public-category-track > a[aria-current="page"]{
  border-color:#f2bd59!important;
  background:#fff4df!important;
  color:#7b4800!important;
  box-shadow:0 5px 14px rgba(122,72,0,.08)!important;
}
@media(max-width:720px){
  html body .rib360-public-category-nav[data-oei1-s3-primary-actions="all-recommended"] > .rib360-public-category-track{
    width:calc(100% - 24px)!important;
    max-width:none!important;
    gap:7px!important;
    padding:7px 0 9px!important;
  }
  html body .rib360-public-category-nav[data-oei1-s3-primary-actions="all-recommended"] > .rib360-public-category-track > a{
    min-height:42px!important;
    padding:0 10px!important;
    font-size:12px!important;
  }
  .rib360-oei1-s3-directory{width:calc(100% - 24px);margin-top:8px;border-radius:16px}
  .rib360-oei1-s3-directory summary{min-height:46px;padding:0 14px;font-size:13.5px}
}
@media(max-width:340px){
  html body .rib360-public-category-nav[data-oei1-s3-primary-actions="all-recommended"] > .rib360-public-category-track > a{
    padding:0 7px!important;
    font-size:11.5px!important;
  }
}

/* OEI1-A1-CAT1-S3-U1-C3 · Final borderless actions and deterministic hero-edge spacing. */
html body .rib360-public-category-nav[data-oei1-s3-primary-actions="all-recommended"] > .rib360-public-category-track > a{
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  min-height:42px!important;
}
html body .rib360-public-category-nav[data-oei1-s3-primary-actions="all-recommended"] > .rib360-public-category-track > a:hover{
  background:rgba(38,104,158,.07)!important;
  color:#153b5e!important;
  box-shadow:none!important;
}
html body .rib360-public-category-nav[data-oei1-s3-primary-actions="all-recommended"] > .rib360-public-category-track > a:focus-visible{
  outline:3px solid rgba(38,104,158,.26)!important;
  outline-offset:2px!important;
}
html body .rib360-public-category-nav[data-oei1-s3-primary-actions="all-recommended"] > .rib360-public-category-track > a.is-active,
html body .rib360-public-category-nav[data-oei1-s3-primary-actions="all-recommended"] > .rib360-public-category-track > a[aria-current="page"]{
  border:0!important;
  background:rgba(255,244,223,.72)!important;
  color:#7b4800!important;
  font-weight:750!important;
  box-shadow:inset 0 -2px 0 #e8a833!important;
}
html body .rib360-public-discovery-shell{
  padding-bottom:12px!important;
}

/* OEI1-A1-CAT1-S3-U1-C5 - Boundaryless icon-and-text primary actions. */
html body .rib360-public-category-nav[data-oei1-s3-primary-actions="all-recommended"] > .rib360-public-category-track > a{
  box-sizing:border-box!important;
  gap:8px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  min-height:42px!important;
}
html body .rib360-public-category-nav[data-oei1-s3-primary-actions="all-recommended"] > .rib360-public-category-track > a:hover{
  border:0!important;
  background:transparent!important;
  color:#153b5e!important;
  box-shadow:none!important;
  outline:0!important;
  outline-offset:0!important;
}
html body .rib360-public-category-nav[data-oei1-s3-primary-actions="all-recommended"] > .rib360-public-category-track > a:focus-visible{
  outline:3px solid rgba(38,104,158,.26)!important;
  outline-offset:2px!important;
}
html body .rib360-public-category-nav[data-oei1-s3-primary-actions="all-recommended"] > .rib360-public-category-track > a.is-active,
html body .rib360-public-category-nav[data-oei1-s3-primary-actions="all-recommended"] > .rib360-public-category-track > a[aria-current="page"]{
  border:0!important;
  background:transparent!important;
  color:#a45f00!important;
  font-weight:750!important;
  box-shadow:none!important;
}
html body .rib360-public-category-nav[data-oei1-s3-primary-actions="all-recommended"] > .rib360-public-category-track > a::before{
  content:"";
  display:inline-block;
  flex:0 0 15px;
  width:15px;
  height:15px;
  color:currentColor;
}
html body .rib360-public-category-nav[data-oei1-s3-primary-actions="all-recommended"] > .rib360-public-category-track > a:first-child::before{
  background:
    linear-gradient(currentColor 0 0) 0 0/5px 5px no-repeat,
    linear-gradient(currentColor 0 0) 10px 0/5px 5px no-repeat,
    linear-gradient(currentColor 0 0) 0 10px/5px 5px no-repeat,
    linear-gradient(currentColor 0 0) 10px 10px/5px 5px no-repeat;
}
html body .rib360-public-category-nav[data-oei1-s3-primary-actions="all-recommended"] > .rib360-public-category-track > a:last-child::before{
  background:currentColor;
  clip-path:polygon(50% 0,61% 36%,100% 50%,61% 64%,50% 100%,39% 64%,0 50%,39% 36%);
}

/* OEI1-A1-CAT1-S3-U1-C6 - Inline native category-directory action with preserved disclosure. */
html body .rib360-oei1-s3-action-directory-shell{
  box-sizing:border-box;
  position:relative;
  width:min(calc(100% - 32px),1180px);
  margin:10px auto 0;
  --rib360-oei1-s3-row-height:60px;
  --rib360-oei1-s3-row-shift:-60px;
  --rib360-oei1-s3-summary-top:8px;
  --rib360-oei1-s3-open-offset:68px;
}
html body .rib360-oei1-s3-action-directory-shell > .rib360-public-category-nav[data-oei1-s3-primary-actions="all-recommended"]{
  position:relative;
  z-index:2;
  display:block!important;
  width:min(calc(66.666667% - 2.666667px),437.333333px)!important;
  margin:0 0 0 max(0px,calc(50% - 330px))!important;
  padding:0!important;
}
html body .rib360-oei1-s3-action-directory-shell > .rib360-public-category-nav[data-oei1-s3-primary-actions="all-recommended"] > .rib360-public-category-track{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  gap:8px!important;
}
html body .rib360-oei1-s3-action-directory-shell > .rib360-oei1-s3-directory{
  position:relative;
  z-index:1;
  box-sizing:border-box;
  width:100%!important;
  min-height:var(--rib360-oei1-s3-row-height)!important;
  margin:var(--rib360-oei1-s3-row-shift) 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  transition:none!important;
}
html body .rib360-oei1-s3-action-directory-shell > .rib360-oei1-s3-directory > summary{
  position:absolute;
  top:var(--rib360-oei1-s3-summary-top);
  right:max(0px,calc(50% - 330px));
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  box-sizing:border-box;
  width:min(calc(33.333333% - 5.333333px),214.666667px);
  min-height:42px;
  padding:0 20px 0 8px;
  border:0!important;
  border-radius:13px;
  background:transparent!important;
  color:#24384f!important;
  box-shadow:none!important;
  font-size:12.5px;
  font-weight:650;
  line-height:1.2;
  text-align:center;
  white-space:normal;
  transition:color .18s ease!important;
  pointer-events:auto;
}
html body .rib360-oei1-s3-action-directory-shell > .rib360-oei1-s3-directory > summary::before{
  content:"";
  display:inline-block;
  flex:0 0 15px;
  width:15px;
  height:15px;
  color:currentColor;
  background:
    radial-gradient(circle at 2px 3px,currentColor 0 1.7px,transparent 1.9px) no-repeat,
    linear-gradient(currentColor 0 0) 6px 2px/9px 2px no-repeat,
    radial-gradient(circle at 2px 8px,currentColor 0 1.7px,transparent 1.9px) no-repeat,
    linear-gradient(currentColor 0 0) 6px 7px/9px 2px no-repeat,
    radial-gradient(circle at 2px 13px,currentColor 0 1.7px,transparent 1.9px) no-repeat,
    linear-gradient(currentColor 0 0) 6px 12px/9px 2px no-repeat;
}
html body .rib360-oei1-s3-action-directory-shell > .rib360-oei1-s3-directory > summary::after{
  content:'+';
  position:absolute;
  top:50%;
  right:5px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:14px;
  height:14px;
  border-radius:0;
  background:transparent!important;
  color:currentColor!important;
  font-size:15px;
  font-weight:700;
  line-height:1;
  transform:translateY(-50%);
}
html body .rib360-oei1-s3-action-directory-shell > .rib360-oei1-s3-directory > summary:hover{
  border:0!important;
  background:transparent!important;
  color:#153b5e!important;
  box-shadow:none!important;
  outline:0!important;
}
html body .rib360-oei1-s3-action-directory-shell > .rib360-oei1-s3-directory > summary:focus-visible{
  outline:3px solid rgba(38,104,158,.26)!important;
  outline-offset:2px!important;
}
html body .rib360-oei1-s3-action-directory-shell > .rib360-oei1-s3-directory[open]{
  padding-top:var(--rib360-oei1-s3-open-offset)!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
html body .rib360-oei1-s3-action-directory-shell > .rib360-oei1-s3-directory[open] > summary{
  border:0!important;
  background:transparent!important;
  color:#a45f00!important;
  font-weight:750!important;
  box-shadow:none!important;
}
html body .rib360-oei1-s3-action-directory-shell > .rib360-oei1-s3-directory[open] > summary::after{
  content:'−';
  background:transparent!important;
  color:currentColor!important;
}
html body .rib360-oei1-s3-action-directory-shell > .rib360-oei1-s3-directory > .rib360-oei1-s3-directory-grid{
  position:relative;
  z-index:1;
  box-sizing:border-box;
  width:100%;
  margin:0!important;
  padding:14px!important;
  border:1px solid #b8c7d8;
  border-radius:18px;
  background:linear-gradient(180deg,#f7f9fc 0%,#edf3f8 100%);
  box-shadow:0 12px 30px rgba(17,38,66,.08);
  pointer-events:auto;
}
@media(max-width:720px){
  html body .rib360-oei1-s3-action-directory-shell{
    width:calc(100% - 24px);
    margin-top:8px;
    --rib360-oei1-s3-row-height:58px;
    --rib360-oei1-s3-row-shift:-58px;
    --rib360-oei1-s3-summary-top:7px;
    --rib360-oei1-s3-open-offset:66px;
  }
  html body .rib360-oei1-s3-action-directory-shell > .rib360-public-category-nav[data-oei1-s3-primary-actions="all-recommended"] > .rib360-public-category-track{
    gap:8px!important;
  }
  html body .rib360-oei1-s3-action-directory-shell > .rib360-oei1-s3-directory > summary{
    min-height:42px;
    padding:0 18px 0 6px;
    gap:6px;
    font-size:12px;
  }
  html body .rib360-oei1-s3-action-directory-shell > .rib360-oei1-s3-directory > .rib360-oei1-s3-directory-grid{
    padding:10px!important;
    border-radius:16px;
  }
}
@media(max-width:399px){
  html body .rib360-oei1-s3-action-directory-shell{
    --rib360-oei1-s3-row-height:72px;
    --rib360-oei1-s3-row-shift:-72px;
    --rib360-oei1-s3-summary-top:7px;
    --rib360-oei1-s3-open-offset:80px;
  }
  html body .rib360-oei1-s3-action-directory-shell > .rib360-public-category-nav[data-oei1-s3-primary-actions="all-recommended"] > .rib360-public-category-track > a{
    min-height:56px!important;
    padding:0 4px!important;
    gap:4px!important;
    font-size:10.5px!important;
  }
  html body .rib360-oei1-s3-action-directory-shell > .rib360-public-category-nav[data-oei1-s3-primary-actions="all-recommended"] > .rib360-public-category-track > a::before{
    flex-basis:13px;
    width:13px;
    height:13px;
  }
  html body .rib360-oei1-s3-action-directory-shell > .rib360-oei1-s3-directory > summary{
    min-height:56px;
    padding:0 13px 0 3px;
    gap:4px;
    font-size:10.5px;
    line-height:1.15;
  }
  html body .rib360-oei1-s3-action-directory-shell > .rib360-oei1-s3-directory > summary::before{
    flex-basis:13px;
    width:13px;
    height:13px;
    transform:scale(.8667);
    transform-origin:center;
  }
  html body .rib360-oei1-s3-action-directory-shell > .rib360-oei1-s3-directory > summary::after{
    right:2px;
    width:10px;
    font-size:13px;
  }
}

/* OEI1-A1-CAT1-S3-U1-C7 - Small-mobile stacked icon labels without action-row overflow. */
@media(max-width:360px){
  html body .rib360-oei1-s3-action-directory-shell > .rib360-public-category-nav[data-oei1-s3-primary-actions="all-recommended"] > .rib360-public-category-track > a{
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:0!important;
    max-width:100%!important;
    padding:4px 2px!important;
    gap:3px!important;
    line-height:1.08!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:normal!important;
    text-align:center!important;
  }
  html body .rib360-oei1-s3-action-directory-shell > .rib360-public-category-nav[data-oei1-s3-primary-actions="all-recommended"] > .rib360-public-category-track > a::before{
    flex:0 0 13px!important;
    width:13px!important;
    height:13px!important;
    margin:0!important;
  }
  html body .rib360-oei1-s3-action-directory-shell > .rib360-oei1-s3-directory > summary{
    flex-direction:column;
    align-items:center;
    justify-content:center;
    min-width:0;
    max-width:100%;
    padding:4px 12px 4px 2px;
    gap:3px;
    line-height:1.08;
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:normal;
    text-align:center;
  }
  html body .rib360-oei1-s3-action-directory-shell > .rib360-oei1-s3-directory > summary::before{
    flex:0 0 13px;
    width:13px;
    height:13px;
    margin:0;
  }
  html body .rib360-oei1-s3-action-directory-shell > .rib360-oei1-s3-directory > summary::after{
    right:2px;
  }
}
