/* Match the existing OMO CONNECT product section and shared landing-page buttons. */
#mainLocalSolutions.omo-directory { padding:7rem 0; background:radial-gradient(ellipse at 8% 0%,#5a34ff40,transparent 52%),radial-gradient(ellipse at 95% 10%,#ff22c815,transparent 42%),#0b0221; color:#fff; scroll-margin-top:6rem; }
.omo-directory * { box-sizing:border-box; }
.omo-directory-intro { max-width:75rem; margin:0 auto 4rem; text-align:center; }
.omo-directory-eyebrow { margin:0 0 1.25rem; color:#c2a4ff; font-size:1.25rem; font-weight:700; line-height:1.5; }
#mainLocalSolutions .omo-directory-intro h2 { margin:0; color:#fff; font-size:clamp(2rem,4vw,3.5rem); font-weight:700; line-height:1.3; letter-spacing:-.025em; word-break:keep-all; overflow-wrap:anywhere; }
.omo-directory-intro h2 em { color:#c3a0ff; font-style:normal; background:linear-gradient(90deg,#a98aff,#ff81de); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.omo-directory-lead { margin:1.5rem 0 0; color:#c5bed6; font-size:1.25rem; line-height:1.7; word-break:keep-all; overflow-wrap:anywhere; }
.omo-directory-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.75rem; max-width:75rem; margin:0 auto; }
.omo-directory-card { display:flex; flex-direction:column; min-width:0; padding:3rem; border:1px solid #65517d70; border-radius:1.5rem; background:linear-gradient(140deg,#ffffff0b,#ffffff03); color:#fff; text-decoration:none; transition:transform .3s,border-color .3s,background-color .3s,box-shadow .3s; }
.omo-directory-card-top { display:flex; align-items:center; align-self:flex-start; max-width:100%; gap:.65rem; margin-bottom:1.75rem; padding:.5rem 1rem .5rem .65rem; border:1px solid transparent; border-radius:2rem; background:linear-gradient(#20123b,#20123b) padding-box,linear-gradient(110deg,#7953ff,#ed55d8) border-box; }
.omo-directory .omo-service-icon { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; width:2rem; height:2rem; color:#c6a5ff; }
.omo-service-icon svg { display:block; width:100%; height:100%; }
.omo-directory-category { margin:0; color:#ede6ff; font-size:1.0625rem; font-weight:600; line-height:1.6; word-break:keep-all; overflow-wrap:anywhere; }
#mainLocalSolutions .omo-directory-card h3 { margin:0; color:#c7acff; font-size:clamp(1.875rem,2.75vw,2.5rem); font-weight:700; line-height:1.25; letter-spacing:-.025em; overflow-wrap:anywhere; background:linear-gradient(95deg,#b794ff 5%,#f288e2 100%); background-clip:text; -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.omo-directory-powered { margin:.6rem 0 0; color:#aaa0bf; font-size:.875rem; line-height:1.5; }
.omo-directory-benefit { margin:1.6rem 0 .8rem; color:#fff; font-size:1.5rem; font-weight:650; line-height:1.5; letter-spacing:-.025em; word-break:keep-all; overflow-wrap:anywhere; }
.omo-directory-description { margin:0 0 2rem; color:#c5bed6; font-size:1.125rem; line-height:1.8; word-break:keep-all; overflow-wrap:anywhere; }
.omo-directory-audience { display:flex; align-items:flex-start; gap:.75rem; margin-top:auto; padding-top:1.5rem; border-top:1px solid #ffffff18; }
.omo-directory-audience > span { flex:0 0 auto; color:#c6a5ff; font-size:.9rem; font-weight:700; line-height:1.8; }
.omo-directory-audience p { margin:0; color:#b7adc9; font-size:.95rem; line-height:1.75; overflow-wrap:anywhere; word-break:keep-all; }
.omo-directory-link { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:1rem; margin-top:2rem; }
.omo-directory-cta.omo-cta-btn { display:inline-flex; justify-content:space-between; height:auto; min-height:3.5rem; max-width:100%; padding:.8rem 1.2rem .8rem 1.5rem; gap:1rem; border-radius:.75rem; background:#fff; color:#12083e; font-size:1.125rem; font-weight:700; line-height:1.5; }
.omo-directory-arrow { display:inline-flex; flex:0 0 auto; }
.omo-directory-arrow svg { width:1.5rem; min-width:1.5rem; height:1.5rem; transition:transform .3s; }
.omo-directory-card:focus-visible { outline:3px solid #c6a5ff; outline-offset:5px; }
.omo-directory-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
#omoFooter .omo-footer-directory { display:block; padding:1.75rem; margin-bottom:2.5rem; border:1px solid #e7dff4; border-radius:1.2rem; background:#f7f4fd; }
#omoFooter .omo-footer-directory > p { margin:0 0 1.15rem; color:#12083e; font-size:1.1rem; font-weight:700; line-height:1.5; }
.omo-footer-directory-links { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.75rem; }
#omoFooter .omo-footer-directory-links a { display:flex; align-items:center; gap:.7rem; min-width:0; padding:1rem .8rem; border:1px solid #e3daf2; border-radius:.8rem; color:#12083e; background:#fff; text-decoration:none; transition:transform .2s,background .2s,box-shadow .2s; }
#omoFooter .omo-service-icon { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; width:2.4rem; height:2.4rem; padding:.4rem; border-radius:.6rem; background:#f0e9ff; color:#713bec; }
.omo-footer-service-name { min-width:0; font-size:.9rem; font-weight:650; line-height:1.55; overflow-wrap:anywhere; }
.omo-footer-service-arrow { flex:0 0 auto; margin-left:auto; color:#713bec; font-size:1.1rem; }
#omoFooter .__infos .omo-trademark { margin-top:1rem; color:#73599a; font-size:.875rem; font-weight:600; line-height:1.6; overflow-wrap:anywhere; }
#omoFooter .omo-footer-directory-links a:focus-visible { outline:3px solid #9764ee; outline-offset:3px; }
@media (hover:hover) and (pointer:fine) { .omo-directory-card:hover { transform:translateY(-5px); border-color:#ac7cf5; background-color:#7e4acf0c; box-shadow:0 1rem 2.5rem #02000c40; } .omo-directory-card:hover .omo-directory-arrow svg { transform:translateX(20%); } #omoFooter .omo-footer-directory-links a:hover { background:#f2ecff; transform:translateY(-2px); box-shadow:0 .4rem 1rem #27113e08; } }
@media (max-width:1023px) { .omo-directory-card { padding:2rem; } .omo-directory-link { align-items:flex-end; flex-direction:column; } .omo-footer-directory-links { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:767px) { #mainLocalSolutions.omo-directory { padding:4rem 0; } .omo-directory-grid { grid-template-columns:minmax(0,1fr); gap:1.25rem; } .omo-directory-intro { margin-bottom:2.5rem; } .omo-directory-eyebrow,.omo-directory-lead { font-size:1rem; } .omo-directory-card { padding:1.75rem 1.5rem; border-radius:1.25rem; } .omo-directory-card-top { gap:.5rem; margin-bottom:1.5rem; padding:.5rem .75rem; } .omo-directory .omo-service-icon { width:1.75rem; height:1.75rem; } .omo-directory-category { font-size:.9rem; } .omo-directory-benefit { font-size:1.25rem; } .omo-directory-description { font-size:1rem; } .omo-directory-audience p { font-size:.9rem; } .omo-directory-link { align-items:stretch; gap:1rem; margin-top:1.5rem; } .omo-directory-cta.omo-cta-btn { width:100%; padding:.85rem 1.1rem; font-size:1.0625rem; min-height:3.25rem; } #omoFooter .omo-footer-directory { padding:1.25rem; } #omoFooter .omo-footer-directory-links a { padding:.8rem; gap:.55rem; flex-wrap:wrap; } .omo-footer-service-name { flex-basis:calc(100% - 2rem); order:3; } .omo-footer-service-arrow { order:4; } }
@media (max-width:359px) { .omo-footer-directory-links { grid-template-columns:minmax(0,1fr); } #omoFooter .omo-footer-directory-links a { flex-wrap:nowrap; } .omo-footer-service-name { flex-basis:auto; order:0; } .omo-footer-service-arrow { order:0; } }
@media (prefers-reduced-motion:reduce) { .omo-directory-card,.omo-directory-arrow svg,#omoFooter .omo-footer-directory-links a { transition:none; } .omo-directory-card:hover,#omoFooter .omo-footer-directory-links a:hover { transform:none; } }
