.aob-directory{--teal:#007073;--teal-dark:#005a5c;--teal-soft:#e6f1f1;--navy:#13294b;--gold:#ffc72c;--border:#d8dee2;--text:#1f2937;--muted:#5b6770;--bg:#fff;color:var(--text);margin:0 auto;max-width:var(--lo-content-width);padding:1.5rem 1rem 3rem}.aob-title{color:var(--teal);font-size:2rem;font-weight:700;line-height:1.15;margin:0 0 1.25rem}.aob-intro{border-radius:4px;display:grid;gap:0;grid-template-columns:minmax(260px,5fr) 7fr;margin-bottom:1.5rem;overflow:hidden}.aob-intro-text{background:var(--teal-soft);display:flex;flex-direction:column;justify-content:center;padding:1.75rem}.aob-intro-text p{line-height:1.55;margin:0 0 1rem}.aob-intro-text p:last-child{margin-bottom:0}.aob-intro-image{background:#000}.aob-intro-image img{display:block;height:100%;object-fit:cover;width:100%}.aob-ctas{display:grid;gap:1.5rem;grid-template-columns:1fr 1fr;margin-bottom:2.5rem}.aob-cta{align-items:center;background:var(--navy);border-radius:2px;color:#fff!important;display:flex;font-size:1.05rem;font-weight:700;gap:1rem;justify-content:space-between;letter-spacing:.02em;padding:1rem 1.25rem;text-decoration:none;text-transform:uppercase;transition:background .15s ease}.aob-cta:hover{background:#0d1f3a}.aob-cta-arrow{align-items:center;background:var(--gold);border-radius:2px;color:var(--navy);display:inline-flex;flex:0 0 auto;font-weight:900;height:38px;justify-content:center;width:38px}.aob-section-title{border-bottom:1px solid var(--border);color:var(--teal);font-size:1.5rem;font-weight:700;margin:0 0 1rem;padding-bottom:.5rem}.aob-filters{display:grid;gap:1.25rem 1.5rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:1.5rem}.aob-field{display:flex;flex-direction:column;gap:.35rem}.aob-field label{color:var(--text);font-size:.95rem;font-weight:600}.aob-field input,.aob-field select{background:var(--bg);border:1px solid #b9c1c6;border-radius:2px;color:var(--text);font:inherit;height:38px;padding:.5rem .65rem}.aob-field input:focus,.aob-field select:focus{border-color:var(--teal);outline:2px solid var(--teal);outline-offset:0}.aob-affinities{border:0;display:grid;gap:.35rem .75rem;grid-column:1/-1;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin:0;padding:0}.aob-affinities legend{color:var(--text);font-size:.95rem;font-weight:600;grid-column:1/-1;margin-bottom:.35rem;padding:0}.aob-affinities label{align-items:center;cursor:pointer;display:inline-flex;font-size:.95rem;gap:.5rem}.aob-affinities input[type=checkbox]{accent-color:var(--teal);width:auto}.aob-actions{align-items:center;display:flex;gap:1rem;grid-column:1/-1;justify-content:space-between;margin-top:.5rem}.aob-count{color:var(--muted);font-size:.9rem}.aob-btn{background:transparent;border:0;color:var(--teal);cursor:pointer;font:inherit;font-weight:700;letter-spacing:.03em;padding:.55rem 0}.aob-btn-ghost{background:var(--teal);border:1px solid var(--teal);color:#fff;padding:.55rem 1rem}.aob-btn-ghost:hover{background:var(--teal-soft)}.aob-results{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:3rem}.aob-card{background:var(--bg);border:1px solid var(--border);border-radius:2px;border-top:4px solid var(--teal);display:flex;flex-direction:column;gap:.5rem;padding:1.1rem;transition:box-shadow .15s ease,transform .15s ease}.aob-card:hover{box-shadow:0 6px 18px rgba(19,41,75,.08);transform:translateY(-1px)}.aob-card-head{display:flex;flex-direction:column;gap:.35rem}.aob-card-title{color:var(--navy);font-size:1.1rem;line-height:1.3;margin:0}.aob-tag{align-self:flex-start;background:var(--teal-soft);border-radius:2px;color:var(--teal-dark);font-size:.72rem;font-weight:700;letter-spacing:.04em;padding:.15rem .55rem;text-transform:uppercase}.aob-owner{font-weight:600;margin:0}.aob-location{color:var(--muted);font-size:.9rem;margin:0}.aob-affinity-tags{display:flex;flex-wrap:wrap;gap:.3rem;list-style:none;margin:.25rem 0 0;padding:0}.aob-affinity-tags li{background:#f3f4f6;border-radius:2px;color:#374151;font-size:.72rem;padding:.15rem .5rem}.aob-special{background:#fff8e1;border-left:3px solid var(--gold);border-radius:2px;font-size:.85rem;margin:.25rem 0 0;padding:.4rem .6rem}.aob-contact{border-top:1px solid var(--border);display:flex;flex-wrap:wrap;gap:.9rem;margin-top:auto;padding-top:.55rem}.aob-contact .aob-socials,.aob-contact a{color:var(--teal);font-size:.9rem;font-weight:700;text-decoration:none}.aob-contact a:hover{color:var(--teal-dark);text-decoration:underline}.aob-empty{color:var(--muted);padding:2rem;text-align:center}.aob-pager{display:flex;justify-content:center;margin-top:1.5rem}.aob-pager[hidden]{display:none}.aob-card-summary{display:flex;flex-direction:column;gap:.25rem}.aob-row{font-size:.92rem;line-height:1.4;margin:0}.aob-row svg{fill:var(--teal)}.aob-row-label{color:var(--navy);font-weight:700;margin-right:.25rem}.class-of{background:var(--teal-soft);font-size:14px;margin-left:5px;padding:0 5px}.aob-view-btn{align-self:flex-start;margin-top:auto}.aob-modal{align-items:center;display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:1000}.aob-modal[hidden]{display:none}.aob-modal-backdrop{background:rgba(19,41,75,.55);inset:0;position:absolute}.aob-modal-panel{background:#fff;border-radius:4px;border-top:6px solid var(--teal);box-shadow:0 20px 60px rgba(19,41,75,.35);max-height:90vh;max-width:640px;overflow-y:auto;padding:1.75rem 1.75rem 1.5rem;position:relative;width:100%}.aob-modal-close{background:transparent;border:0;color:var(--muted);cursor:pointer;font-size:1.75rem;line-height:1;padding:.25rem .5rem;position:absolute;right:.75rem;top:.5rem}.aob-modal-close:hover{color:var(--navy)}.aob-details-title{color:var(--navy);font-size:1.5rem;margin:0 0 1rem}.aob-details-row{line-height:1.5;margin:0 0 .65rem}.aob-details-row strong{color:var(--navy)}.aob-details-contact{border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.4rem;margin-top:1rem;padding-top:.85rem}.aob-details-contact a{color:var(--teal);text-decoration:none}.aob-details-contact a:hover{text-decoration:underline}@media (max-width:760px){.aob-ctas,.aob-intro{grid-template-columns:1fr}.aob-ctas{gap:.75rem}.aob-title{font-size:1.6rem}.aob-actions{align-items:stretch;flex-direction:column}}