/* Section titles: accent bar style */
.al-sec .wrap.section > h2,
.al-sec .wrap.section > .al-heading > h2,
.al-sec .wrap.section > h2.section-title{
  position:relative;
  padding-left:18px;
  margin-top:0;
  font-family:var(--font-display);
  font-weight:600;
  font-size:clamp(26px,3.2vw,38px);
  line-height:1.15;
  letter-spacing:-.01em;
  color:var(--ink);
}
.al-sec .wrap.section > h2:before,
.al-sec .wrap.section > .al-heading > h2:before,
.al-sec .wrap.section > h2.section-title:before{
  content:"";
  position:absolute;
  left:0;
  top:.18em;
  bottom:.12em;
  width:4px;
  border-radius:2px;
  background:var(--accent);
}
/* Rich-text content keeps its own h2 styling */
.al-sec-content-richText .wrap.section > h2{padding-left:0}
.al-sec-content-richText .wrap.section > h2:before{display:none}

/* ===== Pages Grid (built-in look): modern link columns, site-wide ===== */
.al-sec-pages-grid .wrap.section > h2{margin-bottom:24px}
.al-sec-pages-grid .al-pgg-sub{margin:-14px 0 24px 18px;font-size:16px;line-height:1.55;opacity:.72;max-width:60ch}
/* the grid container (built-in look sets an inline grid style, hence !important) */
.al-sec-pages-grid .wrap.section > div[style*="grid"]{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  column-gap:48px!important;
  row-gap:0!important;
}
/* text-only cards -> link rows */
.al-sec-pages-grid a.al-pgc:not(.has-img){
  position:relative;
  display:flex!important;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:2px;
  min-height:56px;
  margin:0;
  padding:14px 40px 14px 0;
  background:transparent;
  border:0;
  border-bottom:1px solid color-mix(in srgb,var(--ink) 10%,transparent);
  border-radius:0;
  box-shadow:none;
  color:var(--ink);
  text-align:left;
  text-decoration:none;
  transition:color .2s ease,padding-left .25s ease;
}
.al-sec-pages-grid a.al-pgc:not(.has-img) .al-pgc-t{
  font-family:var(--font-display);
  font-weight:500;
  font-size:17px;
  line-height:1.3;
  letter-spacing:-.005em;
  margin:0;
  text-align:left;
}
.al-sec-pages-grid a.al-pgc:not(.has-img) .al-pgc-d{font-size:13.5px;line-height:1.45;opacity:.68;margin:0;text-align:left}
.al-sec-pages-grid a.al-pgc:not(.has-img) .al-pgc-s{display:none}
.al-sec-pages-grid a.al-pgc:not(.has-img):after{
  content:"";
  position:absolute;
  right:0;
  top:50%;
  width:32px;
  height:32px;
  margin-top:-16px;
  border-radius:50%;
  background-color:var(--card);
  background-repeat:no-repeat;
  background-position:center;
  background-size:16px 16px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233E7C96' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14M13 6l6 6-6 6'/></svg>");
  opacity:0;
  transform:translateX(-6px);
  transition:opacity .22s ease,transform .22s ease;
}
.al-sec-pages-grid a.al-pgc:not(.has-img):hover,
.al-sec-pages-grid a.al-pgc:not(.has-img):focus-visible{
  color:var(--accent);
  padding-left:6px;
  transform:none;
  box-shadow:none;
  outline:none;
}
.al-sec-pages-grid a.al-pgc:not(.has-img):hover:after,
.al-sec-pages-grid a.al-pgc:not(.has-img):focus-visible:after{opacity:1;transform:translateX(0)}
/* image cards keep the card look, slightly refined */
.al-sec-pages-grid a.al-pgc.has-img{border-radius:14px;min-height:200px;transition:transform .3s ease,box-shadow .3s ease}
.al-sec-pages-grid a.al-pgc.has-img:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(0,0,0,.14)}
/* View all / View more as an accent text link with arrow, right-aligned */
.al-sec-pages-grid .al-pgg-all{margin-top:24px;text-align:right}
.al-sec-pages-grid .al-pgg-all a.btn-accent{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  padding:0 4px;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  font-weight:600;
  font-size:14px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--accent);
  text-decoration:none;
  position:relative;
}
.al-sec-pages-grid .al-pgg-all a.btn-accent:after{
  content:"\2192";
  font-size:18px;
  line-height:1;
  transition:transform .25s ease;
}
.al-sec-pages-grid .al-pgg-all a.btn-accent:before{
  content:"";
  position:absolute;
  left:4px;
  right:4px;
  bottom:6px;
  height:2px;
  background:var(--accent);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .25s ease;
}
.al-sec-pages-grid .al-pgg-all a.btn-accent:hover:after{transform:translateX(4px)}
.al-sec-pages-grid .al-pgg-all a.btn-accent:hover:before{transform:scaleX(1)}
@media (max-width:1023px){
  .al-sec-pages-grid .wrap.section > div[style*="grid"]{grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:36px!important}
}
@media (max-width:760px){
  .al-sec-pages-grid .wrap.section > div[style*="grid"]{grid-template-columns:1fr!important;column-gap:0!important}
  .al-sec-pages-grid a.al-pgc:not(.has-img){min-height:52px;padding:12px 36px 12px 0}
  .al-sec-pages-grid a.al-pgc:not(.has-img):after{opacity:1;transform:none;width:28px;height:28px;margin-top:-14px}
  .al-sec-pages-grid .al-pgg-all{text-align:left}
}
/* image cards always use the flexible card grid */
.al-sec-pages-grid .wrap.section > div[style*="grid"]:has(a.has-img){
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr))!important;
  gap:20px!important;
}

/* ===== Pages Grid: current page card (non-link) in the same row style, no outline box ===== */
.al-sec-pages-grid .al-pgc:not(a):not(.has-img),
.al-sec-pages-grid .al-pgc.is-current:not(.has-img),
.al-sec-pages-grid .al-pgc[aria-current]:not(.has-img){
  position:relative;
  display:flex!important;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:2px;
  min-height:56px;
  margin:0;
  padding:14px 40px 14px 14px;
  background:transparent;
  border:0!important;
  border-bottom:1px solid color-mix(in srgb,var(--ink) 10%,transparent)!important;
  border-radius:0;
  box-shadow:none!important;
  outline:none!important;
  color:var(--accent);
  text-align:left;
  cursor:default;
}
.al-sec-pages-grid .al-pgc:not(a):not(.has-img):before,
.al-sec-pages-grid .al-pgc.is-current:not(.has-img):before,
.al-sec-pages-grid .al-pgc[aria-current]:not(.has-img):before{
  content:"";
  position:absolute;
  left:0;
  top:16px;
  bottom:16px;
  width:3px;
  border-radius:2px;
  background:var(--accent);
}
.al-sec-pages-grid .al-pgc:not(a):not(.has-img) .al-pgc-t,
.al-sec-pages-grid .al-pgc.is-current:not(.has-img) .al-pgc-t,
.al-sec-pages-grid .al-pgc[aria-current]:not(.has-img) .al-pgc-t{
  font-family:var(--font-display);
  font-weight:600;
  font-size:17px;
  line-height:1.3;
  letter-spacing:-.005em;
  margin:0;
  text-align:left;
}
.al-sec-pages-grid .al-pgc:not(a):not(.has-img) .al-pgc-d,
.al-sec-pages-grid .al-pgc.is-current:not(.has-img) .al-pgc-d,
.al-sec-pages-grid .al-pgc[aria-current]:not(.has-img) .al-pgc-d{font-size:13.5px;line-height:1.45;opacity:.68;margin:0;text-align:left}
.al-sec-pages-grid .al-pgc:not(a):not(.has-img) .al-pgc-s,
.al-sec-pages-grid .al-pgc.is-current:not(.has-img) .al-pgc-s,
.al-sec-pages-grid .al-pgc[aria-current]:not(.has-img) .al-pgc-s{display:none}
.al-sec-pages-grid .al-pgc.is-current:not(.has-img):after,
.al-sec-pages-grid .al-pgc[aria-current]:not(.has-img):after{display:none}
@media (max-width:760px){
  .al-sec-pages-grid .al-pgc:not(a):not(.has-img),
  .al-sec-pages-grid .al-pgc.is-current:not(.has-img),
  .al-sec-pages-grid .al-pgc[aria-current]:not(.has-img){min-height:52px;padding:12px 36px 12px 14px}
}

/* ===== Rich text: heading + list of links (h3/h2 followed by a ul whose items are only links) in the pages-grid link style.
   Applies anywhere (full width = 3 columns, sidebar = 1 column). Ordinary content lists are untouched. ===== */
.al-sec-content-richText .wrap.section > :is(h3,h2):has(+ ul:has(> li > a:only-child)){
  position:relative;
  padding-left:14px;
  margin:0 0 6px;
  font-family:var(--font-display);
  font-weight:600;
  font-size:22px;
  line-height:1.2;
  letter-spacing:-.01em;
  color:var(--ink);
}
.al-sec-content-richText .wrap.section > :is(h3,h2):has(+ ul:has(> li > a:only-child)):before{
  content:"";
  position:absolute;
  left:0;
  top:.18em;
  bottom:.12em;
  width:3px;
  border-radius:2px;
  background:var(--accent);
  display:block;
}
.al-sec-content-richText .wrap.section > :is(h3,h2) + ul:has(> li > a:only-child){
  list-style:none;
  margin:0 0 28px;
  padding:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  column-gap:48px;
  row-gap:0;
}
.split-row .split-side .al-sec-content-richText .wrap.section > :is(h3,h2) + ul:has(> li > a:only-child){
  grid-template-columns:1fr;
  column-gap:0;
  margin-bottom:24px;
}
.al-sec-content-richText .wrap.section > :is(h3,h2) + ul:has(> li > a:only-child) > li{
  margin:0;
  padding:0;
  border-bottom:1px solid color-mix(in srgb,var(--ink) 10%,transparent);
}
.al-sec-content-richText .wrap.section > :is(h3,h2) + ul:has(> li > a:only-child) > li > a{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:48px;
  padding:10px 36px 10px 0;
  color:var(--ink);
  text-decoration:none;
  font-family:var(--font-display);
  font-weight:500;
  font-size:16px;
  line-height:1.3;
  transition:color .2s ease,padding-left .25s ease;
}
.al-sec-content-richText .wrap.section > :is(h3,h2) + ul:has(> li > a:only-child) > li > a:after{
  content:"";
  position:absolute;
  right:0;
  top:50%;
  width:28px;
  height:28px;
  margin-top:-14px;
  border-radius:50%;
  background-color:var(--card);
  background-repeat:no-repeat;
  background-position:center;
  background-size:14px 14px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233E7C96' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14M13 6l6 6-6 6'/></svg>");
  opacity:0;
  transform:translateX(-6px);
  transition:opacity .22s ease,transform .22s ease;
}
.al-sec-content-richText .wrap.section > :is(h3,h2) + ul:has(> li > a:only-child) > li > a:hover,
.al-sec-content-richText .wrap.section > :is(h3,h2) + ul:has(> li > a:only-child) > li > a:focus-visible{
  color:var(--accent);
  padding-left:6px;
  outline:none;
}
.al-sec-content-richText .wrap.section > :is(h3,h2) + ul:has(> li > a:only-child) > li > a:hover:after,
.al-sec-content-richText .wrap.section > :is(h3,h2) + ul:has(> li > a:only-child) > li > a:focus-visible:after{
  opacity:1;
  transform:translateX(0);
}
@media (max-width:1023px){
  .al-sec-content-richText .wrap.section > :is(h3,h2) + ul:has(> li > a:only-child){grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px}
  .split-row .split-side .al-sec-content-richText .wrap.section > :is(h3,h2) + ul:has(> li > a:only-child){grid-template-columns:1fr;column-gap:0}
}
@media (max-width:760px){
  .al-sec-content-richText .wrap.section > :is(h3,h2) + ul:has(> li > a:only-child){grid-template-columns:1fr;column-gap:0}
  .al-sec-content-richText .wrap.section > :is(h3,h2) + ul:has(> li > a:only-child) > li > a:after{opacity:1;transform:none}
}

/* ===== Quick search bar: usable in narrow columns (sidebars) ===== */
.al-sec-search-bar .wrap.section{container-type:inline-size}
.al-sec-search-bar .al-qsb-bar{
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
  gap:8px;
}
.al-sec-search-bar .al-qsb-mode,
.al-sec-search-bar .al-qsb-fbtn,
.al-sec-search-bar .al-qsb-go{flex:0 0 auto}
.al-sec-search-bar .al-qsb-loc{flex:1 1 260px;min-width:0;position:relative}
.al-sec-search-bar .al-qsb-loc .q-loc,
.al-sec-search-bar .al-qsb-loc .q-adr{
  width:100%;min-width:0;min-height:44px;padding:0 14px;box-sizing:border-box;font-size:15px;
}
.al-sec-search-bar .al-qsb-loc .al-qsb-sug{left:0;right:0;min-width:100%}
.al-sec-search-bar .al-qsb-fbtn,
.al-sec-search-bar .al-qsb-go,
.al-sec-search-bar .al-qsb-mode-btn{min-height:44px}

@container (max-width: 600px){
  .al-sec-search-bar .al-qsb-bar{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    padding:14px;
    border-radius:14px;
  }
  .al-sec-search-bar .al-qsb-mode{grid-column:1 / -1;position:relative;border:0;margin:0;padding:0}
  .al-sec-search-bar .al-qsb-loc{grid-column:1 / -1}
  .al-sec-search-bar .al-qsb-fbtn{grid-column:1}
  .al-sec-search-bar .al-qsb-go{grid-column:2}

  .al-sec-search-bar .al-qsb-mode-btn,
  .al-sec-search-bar .al-qsb-loc .q-loc,
  .al-sec-search-bar .al-qsb-loc .q-adr,
  .al-sec-search-bar .al-qsb-fbtn{
    width:100%;
    min-height:48px;
    box-sizing:border-box;
    background:var(--bg);
    color:var(--ink);
    border:1px solid color-mix(in srgb,var(--ink) 14%,transparent);
    border-radius:10px;
    padding:0 14px;
    font-size:15px;
    text-align:left;
    box-shadow:none;
  }
  .al-sec-search-bar .al-qsb-mode-btn{display:flex;align-items:center;justify-content:space-between;font-weight:600}
  .al-sec-search-bar .al-qsb-mode-btn .car{opacity:.6}
  .al-sec-search-bar .al-qsb-fbtn{text-align:center;font-weight:600}
  .al-sec-search-bar .al-qsb-loc .q-loc:focus,
  .al-sec-search-bar .al-qsb-loc .q-adr:focus{
    outline:none;
    border-color:var(--accent);
    box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent);
  }
  .al-sec-search-bar .al-qsb-go{
    width:100%;
    min-height:48px;
    border-radius:10px;
    font-weight:600;
    font-size:15px;
  }
  .al-sec-search-bar .al-qsb-menu{left:0;right:0;min-width:100%}
  .al-sec-search-bar .al-qsb-panel{left:0;right:0;width:auto;max-width:none}
}

/* ===== Signed-in visitors: the platform's built-in hub header shows the "agent's menu" panel
   (#hubAgentMenu) with every group's sub-pages expanded. The body-end script moves each group's
   links into .kh-agent-links; these rules turn that into a hover / click dropdown with a capped,
   scrollable height. Desktop only: the phone menu already collapses the agent's links. ===== */
@media (min-width:901px){
  .site-header.hub-in .hub-agent-menu{max-height:calc(100vh - 80px);max-height:calc(100dvh - 80px)}
  .site-header.hub-in .hub-agent-row{align-items:center;gap:2px 6px}
  .site-header.hub-in .hub-agent-group.kh-agent-sub{position:relative;flex-direction:row;align-items:center;min-width:0}
  .site-header.hub-in .hub-agent-group.kh-agent-sub .hub-agent-head{display:inline-flex;align-items:center;padding-right:8px}
  .site-header.hub-in .hub-agent-group .kh-agent-toggle{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;margin-left:-6px;padding:0;border:0;border-radius:50%;background:none;color:inherit;font:inherit;cursor:pointer;transition:background .2s,color .2s}
  .site-header.hub-in .hub-agent-group .kh-agent-toggle .kh-caret{display:block;width:11px;height:8px;transition:transform .25s ease}
  .site-header.hub-in .hub-agent-group .kh-agent-toggle:hover,.site-header.hub-in .hub-agent-group .kh-agent-toggle:focus-visible{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent);outline:none}
  .site-header.hub-in .hub-agent-group:hover .kh-agent-toggle .kh-caret,.site-header.hub-in .hub-agent-group.kh-agent-open .kh-agent-toggle .kh-caret{transform:rotate(180deg)}
  .site-header.hub-in .hub-agent-group .kh-agent-links{display:none;position:absolute;top:100%;left:0;z-index:6;min-width:240px;max-width:min(92vw,340px);max-height:min(60vh,480px);overflow-y:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding:8px;background:var(--submenu-bg,var(--bg));color:var(--ink);border:1px solid rgba(0,0,0,.08);border-radius:14px;box-shadow:0 14px 32px rgba(0,0,0,.14)}
  .site-header.hub-in .hub-agent-group:hover>.kh-agent-links,.site-header.hub-in .hub-agent-group:focus-within>.kh-agent-links,.site-header.hub-in .hub-agent-group.kh-agent-open>.kh-agent-links{display:block}
  .site-header.hub-in .hub-agent-group .kh-agent-links a{display:flex;align-items:center;min-height:40px;padding:8px 12px;border-radius:9px;font-size:.95rem;color:inherit;text-decoration:none;opacity:.9;transition:background .15s,color .15s,opacity .15s}
  .site-header.hub-in .hub-agent-group .kh-agent-links a:hover,.site-header.hub-in .hub-agent-group .kh-agent-links a:focus-visible{opacity:1;background:color-mix(in srgb,var(--accent) 8%,var(--bg));color:var(--accent);outline:none}
}