/* Homepage service directory and the three property-specific entry points. */
.cat-hero-grid{grid-template-columns:minmax(0,1.4fr) minmax(210px,.85fr) minmax(0,1.15fr)}
.cat-stage{align-self:center}
.cat-service-nav,.cat-audience-nav{--home-gold:#ddc394;--home-line:#c9b18a30;--home-ink:#f3efe7;--home-muted:#c0bbc8}
.ge-home-label{display:block;color:var(--home-gold);font-size:.65rem;line-height:1.5;letter-spacing:.16em;font-weight:500}
.ge-home-arrow{display:block;width:21px;height:21px;color:var(--home-gold);flex-shrink:0;transition:transform .25s ease}

/* A quiet directory, with a specific description beside each service. */
.cat-service-nav{min-width:0;padding:23px 22px 0;background:linear-gradient(145deg,#15111ce8,#090b12ed 58%);border:1px solid var(--home-line);box-shadow:0 18px 60px #00000026}
.cat-service-nav:before{content:'';position:absolute;top:-1px;left:22px;width:38px;height:1px;background:var(--home-gold);pointer-events:none}
.ge-home-directory-head{padding-bottom:17px}
.ge-home-directory-head h2{font-family:Georgia,'Times New Roman',serif;font-size:1.65rem;letter-spacing:-.035em;line-height:1.2;margin-top:9px}
.ge-home-directory-head h2 em{font-weight:400;color:var(--home-gold)}
.ge-home-service-list{list-style:none;margin:0;padding:0}
.ge-home-service-list li{min-width:0;margin:0;padding:0;border-top:1px solid var(--home-line)}
.ge-home-service{display:grid;grid-template-columns:29px minmax(0,1fr) 15px;align-items:center;gap:10px;min-height:76px;padding:14px 0;position:relative;isolation:isolate}
.ge-home-service:before{content:'';position:absolute;inset:3px -10px;background:#d8c0970a;opacity:0;z-index:-1;transition:opacity .25s ease}
.ge-home-service-icon{display:grid;place-items:center;width:29px;height:34px;color:var(--home-gold);opacity:.8;transition:opacity .25s ease}
.ge-home-service-icon svg{display:block;width:24px;height:24px}
.ge-home-service-copy{min-width:0}
.ge-home-service-copy strong{display:block;color:var(--home-ink);font-family:Georgia,'Times New Roman',serif;font-size:1.16rem;font-weight:400;line-height:1.25;letter-spacing:-.015em;transition:color .25s ease}
.ge-home-service-copy>span{display:block;margin-top:5px;font-size:.75rem;line-height:1.5;color:var(--home-muted)}
.ge-home-service>.ge-home-arrow{width:15px;height:15px;opacity:.75}
.cat-service-nav .ge-all-services{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:57px;padding:16px 0;border-top:1px solid #c9b18a60;color:var(--home-gold);font-size:.8rem;line-height:1.5;letter-spacing:.015em}
.ge-home-service:focus-visible,.cat-service-nav .ge-all-services:focus-visible{outline:2px solid var(--home-gold);outline-offset:3px}
.ge-home-service:focus-visible:before{opacity:1}

/* Three visual paths replace the repeated, empty outlined buttons. */
.cat-audience-nav{margin-top:54px;padding-top:34px;border-top:1px solid var(--home-line)}
.ge-home-audience-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:26px}
.ge-home-audience-heading h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.7rem,2.3vw,2.2rem);line-height:1.2;letter-spacing:-.025em;margin-top:9px}
.ge-home-audience-heading h2 em{color:var(--home-gold)}
.cat-hero .ge-home-audience-heading p{max-width:none;margin:0;font-size:.85rem;line-height:1.7;color:var(--home-muted)}
.ge-home-audience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ge-home-audience{position:relative;display:flex;align-items:stretch;min-width:0;min-height:260px;padding:26px 24px 22px;isolation:isolate;border:1px solid #c9b18a26;background:#0b0e15;transition:border-color .3s ease,box-shadow .3s ease}
.ge-home-audience:after{content:'';position:absolute;bottom:-1px;left:24px;width:28px;height:1px;background:var(--home-gold);opacity:.65;pointer-events:none;transition:width .3s ease}
.ge-home-audience-image{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.ge-home-audience-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#090c13f2 0%,#090c13d4 43%,#090c1370 100%),linear-gradient(0deg,#090c13e0,transparent 75%)}
.ge-home-audience-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:70% 50%;opacity:.88;transition:transform .6s ease,opacity .4s ease}
.ge-home-audience-restaurants .ge-home-audience-image img{object-position:90% 45%}
.ge-home-audience-property-managers .ge-home-audience-image img{object-position:66% 45%}
.ge-home-audience-residents .ge-home-audience-image img{object-position:75% 45%}
.ge-home-audience-index{position:absolute;top:24px;right:20px;font-family:Georgia,'Times New Roman',serif;font-size:.85rem;line-height:1.5;color:#e0c799;opacity:.8}
.ge-home-audience-copy{display:flex;flex-direction:column;align-items:start;width:100%;min-width:0}
.ge-home-audience-label{display:block;max-width:calc(100% - 28px);color:#e0c799;font-size:.63rem;letter-spacing:.13em;line-height:1.6;text-transform:uppercase}
.ge-home-audience-copy h3{max-width:100%;margin-top:16px;font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.4rem,1.9vw,1.75rem);font-weight:400;line-height:1.15;letter-spacing:-.025em;color:var(--home-ink)}
.cat-hero .ge-home-audience-copy p{margin:12px 0 22px;max-width:27ch;color:#d0cbd5;font-size:.83rem;line-height:1.65}
.ge-home-audience-link{display:flex;width:100%;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px;border-top:1px solid #c9b18a39;font-size:.76rem;line-height:1.5;color:var(--home-gold)}
.ge-home-audience-link .ge-home-arrow{width:23px;height:23px}
.ge-home-audience:focus-visible{outline:2px solid var(--home-gold);outline-offset:4px}
.ge-home-audience:active{border-color:#ddc394a0}

@media(hover:hover){
  .ge-home-service:hover:before{opacity:1}
  .ge-home-service:hover .ge-home-service-icon{opacity:1}
  .ge-home-service:hover strong{color:var(--home-gold)}
  .ge-home-service:hover>.ge-home-arrow,.ge-all-services:hover>.ge-home-arrow,.ge-home-audience:hover .ge-home-arrow{transform:translateX(3px)}
  .ge-home-audience:hover{border-color:#ddc39475;box-shadow:0 8px 32px #0003}
  .ge-home-audience:hover:after{width:54px}
  .ge-home-audience:hover img{transform:scale(1.035);opacity:1}
}
@media(min-width:801px) and (max-width:1100px){
  .cat-hero-grid{grid-template-columns:minmax(0,1.4fr) minmax(220px,1fr);gap:32px}
  .cat-service-nav{grid-column:1/-1}
  .ge-home-service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:32px}
  .ge-home-audience-grid{gap:12px}
  .ge-home-audience{padding:23px 17px 20px}
  .ge-home-audience-index{right:14px;top:21px}
  .ge-home-audience-label{font-size:.6rem;letter-spacing:.08em}
  .ge-home-audience-copy h3{font-size:1.4rem}
  .cat-hero .ge-home-audience-copy p{font-size:.8rem}
  .ge-home-audience-link{font-size:.72rem}
}
@media(max-width:800px){
  .cat-hero-grid{grid-template-columns:minmax(0,1fr);gap:8px}
  .cat-service-nav{margin-top:34px;padding:24px 22px 0}
  .ge-home-directory-head{padding-bottom:20px}
  .ge-home-directory-head h2{font-size:1.85rem}
  .ge-home-service{grid-template-columns:30px minmax(0,1fr) 20px;gap:13px;min-height:76px;padding:15px 0}
  .ge-home-service-copy strong{font-size:1.2rem}
  .ge-home-service-copy>span{font-size:.76rem}
  .ge-home-service>.ge-home-arrow{width:18px;height:18px}
  .cat-service-nav .ge-all-services{min-height:60px;font-size:.83rem}
  .cat-audience-nav{margin-top:40px;padding-top:30px}
  .ge-home-audience-heading{display:block;margin-bottom:24px}
  .ge-home-audience-heading h2{max-width:19ch;font-size:1.85rem;line-height:1.18}
  .cat-hero .ge-home-audience-heading p{margin-top:12px;font-size:.83rem}
  .ge-home-audience-heading p br{display:none}
  .ge-home-audience-grid{grid-template-columns:minmax(0,1fr);gap:14px}
  .ge-home-audience{padding:22px;min-height:0}
  .ge-home-audience-index{top:20px;right:22px}
  .ge-home-audience-image img{object-position:90% 50%}
  .ge-home-audience-image:after{background:linear-gradient(90deg,#090c13f5,#090c13d9 48%,#090c1350),linear-gradient(0deg,#090c13bb,transparent 70%)}
  .ge-home-audience-copy h3{margin-top:12px;font-size:1.55rem;line-height:1.15}
  .cat-hero .ge-home-audience-copy p{margin:10px 0 17px;max-width:29ch;font-size:.84rem;line-height:1.6}
  .ge-home-audience-link{font-size:.79rem;padding-top:12px}
}
@media(min-width:600px) and (max-width:800px){
  .ge-home-service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:26px}
}
@media(max-width:370px){
  .cat-service-nav{padding:21px 16px 0}
  .ge-home-service{grid-template-columns:25px minmax(0,1fr) 15px;gap:10px}
  .ge-home-service-copy strong{font-size:1.08rem}
  .ge-home-service-icon{width:25px}
  .ge-home-audience{padding:21px 18px}
}
@media(prefers-reduced-motion:reduce){
  .ge-home-arrow,.ge-home-service:before,.ge-home-service-icon,.ge-home-service-copy strong,.ge-home-audience,.ge-home-audience:after,.ge-home-audience-image img{transition:none}
  .ge-home-audience:hover img{transform:none}
}
