/* Related Resources: card grid (overrides the underline-tab style) */
.ho-page .ho-links{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1000px;margin:36px auto 0}
.ho-page .ho-links a{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;box-sizing:border-box;padding:18px 22px 18px 24px;background:#fff;border:1px solid #e2e8f0;border-left:4px solid #990000;border-bottom:1px solid #e2e8f0;border-radius:10px;font-size:16px;font-weight:600;color:#0a0a0a;text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.04);transition:background .25s,color .25s,transform .25s,box-shadow .25s,border-color .25s}
.ho-page .ho-links a:after{content:"\2192";flex-shrink:0;font-size:18px;font-weight:400;color:#990000;transition:transform .25s,color .25s}
.ho-page .ho-links a:hover{background:#0a0a0a;color:#fff;border-color:#0a0a0a;border-left-color:#990000;transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.18)}
.ho-page .ho-links a:hover:after{color:#ff6b6b;transform:translateX(4px)}

/* Office contact block with map */
.ho-page .ho-office-wide{grid-template-columns:1fr 1.15fr;gap:0;padding:0;overflow:hidden;align-items:stretch;border-top:3px solid #990000;box-shadow:0 12px 34px rgba(0,0,0,.06)}
.ho-page .ho-office-info{padding:40px 40px 38px}
.ho-page .ho-office-info address{font-style:normal;font-size:17px;color:#334155;line-height:1.7;margin:4px 0 10px}
.ho-page .ho-office-info .ho-office-phone{font-size:24px;margin-bottom:16px}
.ho-section .ho-office-info p{font-size:16px;margin:0 0 24px}
.ho-office-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}
.ho-office-map{position:relative;min-height:380px;background:#e5e7eb}
.ho-office-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}

/* Centered subheads (the generic paragraph margin was pushing them left) */
.ho-section p.ho-sub{margin:0 auto 46px;max-width:740px;text-align:center}

/* Charges We Defend: equal-height cards, watermark numbers, two featured cards fill the grid */
.ho-page .ho-svc-grid{counter-reset:hosvc;gap:24px}
.ho-page .ho-svc{counter-increment:hosvc;position:relative;overflow:hidden;display:flex;flex-direction:column;background:#fff;border:1px solid #e7e5df;border-top:none;border-radius:14px;padding:34px 30px 30px;box-shadow:0 8px 26px rgba(0,0,0,.05);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.ho-page .ho-svc:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#990000 0%,#d4342c 100%);transform:scaleX(.22);transform-origin:left;transition:transform .45s ease}
.ho-page .ho-svc:after{content:counter(hosvc,decimal-leading-zero);position:absolute;right:16px;bottom:-20px;font-family:'Playfair Display',Georgia,serif;font-size:6.5rem;font-weight:700;line-height:1;color:rgba(153,0,0,.06);pointer-events:none;transition:color .3s ease}
.ho-page .ho-svc:hover{transform:translateY(-5px);box-shadow:0 20px 44px rgba(0,0,0,.12);border-color:rgba(153,0,0,.25)}
.ho-page .ho-svc:hover:before{transform:scaleX(1)}
.ho-page .ho-svc:hover:after{color:rgba(153,0,0,.12)}
.ho-page .ho-svc h3{position:relative;font-size:20px;margin:0 0 12px}
.ho-section .ho-svc p{position:relative;font-size:15px;line-height:1.7;margin:0 0 20px}
.ho-page .ho-svc .ho-link{position:relative;margin-top:auto;font-size:13px;font-weight:700;letter-spacing:.6px;text-transform:uppercase}

/* Featured: first (DWI) and last (Expunction) span two columns in dark */
.ho-page .ho-svc:first-child,.ho-page .ho-svc:last-child{grid-column:span 2;background:radial-gradient(circle at 100% 0%,rgba(153,0,0,.35) 0%,transparent 55%),linear-gradient(160deg,#151515 0%,#0a0a0a 100%);border-color:#0a0a0a;padding:38px 40px 34px}
.ho-page .ho-svc:first-child h3,.ho-page .ho-svc:last-child h3,
.ho-page .ho-svc:first-child h3 a,.ho-page .ho-svc:last-child h3 a{color:#fff;font-size:24px}
.ho-section .ho-svc:first-child p,.ho-section .ho-svc:last-child p{color:#cbd5e1;font-size:16px;max-width:560px}
.ho-page .ho-svc:first-child .ho-link,.ho-page .ho-svc:last-child .ho-link{color:#ff9b9b}
.ho-page .ho-svc:first-child:after,.ho-page .ho-svc:last-child:after{color:rgba(255,255,255,.05)}
.ho-page .ho-svc:first-child:hover:after,.ho-page .ho-svc:last-child:hover:after{color:rgba(255,155,155,.12)}

@media(max-width:1024px){
  .ho-page .ho-links{grid-template-columns:repeat(2,1fr)}
  .ho-page .ho-office-wide{grid-template-columns:1fr}
  .ho-office-map{min-height:320px}
}
@media(max-width:768px){
  .ho-page .ho-svc:first-child,.ho-page .ho-svc:last-child{grid-column:auto;padding:32px 26px 28px}
}
@media(max-width:640px){
  .ho-page .ho-links{grid-template-columns:1fr}
  .ho-page .ho-office-info{padding:28px 22px}
  .ho-office-actions .ho-btn{width:100%;box-sizing:border-box}
  .ho-office-map{min-height:280px}
}