/* Open House Resource Center — gallery, modal, co-brand editor, visitor page */
.oht-page{overflow-x:clip;max-width:100%}
.oht-page h1,.oht-page .lede,.oht-page .btn{overflow-wrap:anywhere;word-break:break-word}
.hero.oht-hero,.oht-hero{background:#132B52;color:#fff;padding:36px 0 40px;margin:0;overflow:hidden}
.oht-hero .kicker{color:#AFD5EF;letter-spacing:.16em;text-transform:uppercase;font-weight:700;font-size:12px}
.oht-hero h1{color:#fff;font-family:Fraunces,Georgia,serif;font-weight:400;letter-spacing:-.02em;line-height:1.12;margin:10px 0 14px}
.oht-hero .lede{color:rgba(255,255,255,.9);max-width:40em}
.oht-hero .hero-note{color:rgba(255,255,255,.7)}
.oht-hero .btn-navy{background:#fff;color:#132B52}
.oht-hero .btn-ghost{color:#fff;border-color:rgba(255,255,255,.45)}
.hero.oht-hero .oht-hero-grid,.oht-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,240px);gap:28px;align-items:center;min-width:0}
.oht-portrait{margin:0;justify-self:end}
.oht-portrait .caption{color:rgba(255,255,255,.75)}
.oht-free{background:#E8F3FA;border-bottom:1px solid #d5deea;padding:12px 0;font-weight:600;color:#132B52}
.oht-free p{margin:0;max-width:70em}
.oht-jump{position:sticky;top:70px;z-index:40;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid #d7e6f2}
.oht-jump .wrap{display:flex;gap:8px;overflow-x:auto;padding:8px 0;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.oht-jump a{flex:none;white-space:nowrap;text-decoration:none;color:#132B52;font-size:13px;font-weight:600;padding:8px 12px;border-radius:999px;border:1px solid #d7e6f2;background:#fff}
.oht-jump a:hover,.oht-jump a:focus{background:#132B52;color:#fff;border-color:#132B52}
.oht-filters{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 18px}
.oht-filters button{appearance:none;border:1px solid #d7e6f2;background:#fff;color:#132B52;font:inherit;font-size:13px;font-weight:600;padding:8px 14px;border-radius:999px;cursor:pointer}
.oht-filters button[aria-pressed="true"],.oht-filters button.is-on{background:#132B52;color:#fff;border-color:#132B52}
.oht-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:18px;min-width:0}
.oht-card{display:flex;flex-direction:column;background:#fff;border:1px solid #d7e6f2;border-radius:16px;overflow:hidden;min-width:0;box-shadow:0 8px 24px rgba(19,43,82,.06)}
.oht-card .thumb{display:block;background:#eef3f8;aspect-ratio:8.5/11;overflow:hidden;border-bottom:1px solid #d7e6f2}
.oht-card .thumb img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.oht-card .body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1;min-width:0}
.oht-card h3{margin:0;font-size:1.05rem;color:#132B52;line-height:1.25}
.oht-card p{margin:0;color:#3a5a7a;font-size:.92rem}
.oht-badges{display:flex;flex-wrap:wrap;gap:6px}
.oht-badges span{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#E8F3FA;color:#132B52;border-radius:6px;padding:3px 7px}
.oht-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}
.oht-actions .btn{white-space:normal;text-align:center}
.oht-note,.respa-note{background:#f4f8fb;border:1px solid #d7e6f2;border-radius:12px;padding:14px 16px;margin:16px 0}
.locked{background:#fff8f0;border:1px solid #e6d0b3;border-radius:12px;padding:16px 18px}
.cobrand-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
.cobrand-form .full{grid-column:1/-1}
.cobrand-form label{display:block;font-size:13px;font-weight:600;color:#132B52;margin-bottom:4px}
.cobrand-form input[type="text"],.cobrand-form input[type="email"],.cobrand-form input[type="tel"],.cobrand-form input[type="file"]{width:100%;max-width:100%;border:1px solid #c5d4e3;border-radius:10px;padding:10px 12px;font:inherit;background:#fff;min-width:0}
.cobrand-form .chk{display:flex;gap:10px;align-items:flex-start;font-weight:400}
.cobrand-form .chk input{margin-top:3px}
.cobrand-preview{border:1px solid #d7e6f2;border-radius:16px;padding:20px;background:#fff;margin-top:16px;min-width:0}
.cobrand-preview .id-block h2{font-size:1.15rem;margin:0 0 4px}
.cobrand-preview .broker{font-weight:700;font-size:1.2rem;color:#132B52} /* >= agent type size */
.cobrand-preview .agent{font-size:1.05rem}
.cobrand-preview img.logo,.cobrand-preview img.shot{max-width:120px;max-height:80px;object-fit:contain}
.cobrand-preview img.shot{width:72px;height:72px;border-radius:50%;object-fit:cover}
.tpl-block{background:#fff;border:1px dashed #8aa3bb;border-radius:12px;padding:14px 16px;margin:0 0 14px;white-space:pre-wrap;font-size:.92rem;min-width:0;overflow-wrap:anywhere}
.vis-page{background:#132B52;color:#fff;min-height:auto}
.vis-hero{padding:28px 0 32px}
.vis-hero .kicker{color:#132B52;letter-spacing:.16em;text-transform:uppercase;font-weight:700;font-size:12px}
.vis-hero h1{color:#132B52;font-family:Fraunces,Georgia,serif;font-weight:400;line-height:1.12;font-size:clamp(32px,7vw,46px);margin:10px 0 14px;max-width:16em}
.vis-hero .lede{color:#24364f;max-width:40em}
.vis-list{display:grid;gap:10px;margin:16px 0 24px}
.vis-list a{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fff;color:#132B52;text-decoration:none;border-radius:14px;padding:14px 16px;font-weight:650;min-width:0}
.vis-list a:hover,.vis-list a:focus{background:#AFD5EF}
.vis-contact{background:#0e2242;color:#fff;border-radius:16px;padding:16px;margin:12px 0}
.vis-contact a{color:#AFD5EF}
#oht-modal{position:fixed;inset:0;z-index:80;display:none;align-items:center;justify-content:center;padding:16px}
#oht-modal.is-open{display:flex}
#oht-modal .backdrop{position:absolute;inset:0;background:rgba(13,27,46,.72)}
#oht-modal .sheet{position:relative;z-index:1;background:#fff;border-radius:16px;max-width:min(920px,100%);width:100%;max-height:min(90vh,100%);display:flex;flex-direction:column;min-width:0;overflow:hidden}
#oht-modal .sheet-h{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid #d7e6f2}
#oht-modal .sheet-h h2{margin:0;font-size:1.1rem}
#oht-modal .sheet-b{flex:1;min-height:0;overflow:auto;background:#eef3f8}
#oht-modal iframe,#oht-modal img.prev{width:100%;height:min(70vh,800px);border:0;background:#fff;display:block}
#oht-modal .sheet-f{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;border-top:1px solid #d7e6f2}
@media (max-width:800px){
  .hero.oht-hero .oht-hero-grid,.oht-hero-grid,.cobrand-form{grid-template-columns:1fr}
  .oht-portrait{justify-self:start}
  .hero.oht-hero,.oht-hero{padding:24px 0 28px}
  .oht-jump{top:62px}
}
@media print{
  header.site-header, footer.site-footer, .oht-jump, .hero-actions, .oht-cta, .form-actions, .crumbs, #oht-modal, .oht-filters, .cobrand-form, .no-print{display:none !important}
  .cobrand-preview, .oht-hero{break-inside:avoid}
  .oht-hero{background:#132B52 !important;color:#fff !important;-webkit-print-color-adjust:exact;print-color-adjust:exact}
}
