/* Public homepage overrides. Keep homepage presentation independent from app.css. */
.public-home-page .quick-tags{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px;margin-top:14px;font-size:14px}
.public-home-page .quick-tags>span{display:inline-flex;min-height:36px;align-items:center;margin-right:2px;padding:0 13px;border-radius:999px;color:#17394a;background:#dcefeb;font-size:13px;font-weight:900;letter-spacing:-.2px}
.public-home-page .quick-tags a{display:inline-flex;min-height:38px;align-items:center;padding:0 15px;border:1px solid #bcdcd3;border-radius:999px;color:#31515e;background:#fff;font-size:13px;font-weight:800;box-shadow:0 5px 14px rgba(20,65,68,.07);transition:border-color .18s ease,color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease}
.public-home-page .quick-tags a:hover,.public-home-page .quick-tags a:focus-visible{border-color:#0ba77d;color:#067659;background:#eaf8f4;box-shadow:0 8px 18px rgba(10,126,96,.13);transform:translateY(-2px)}

.public-home-page .public-complex-grid article{padding:0;overflow:hidden}
.public-home-page .public-complex-link{display:block;padding:13px;color:inherit;text-decoration:none}
.public-home-page .public-image{position:relative;overflow:hidden;background:#edf3f1}
.public-home-page .public-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .24s ease}
.public-home-page .public-complex-link:hover .public-image img{transform:scale(1.035)}
.public-home-page .public-complex-placeholder{display:flex;width:100%;height:100%;align-items:center;justify-content:center;flex-direction:column;gap:10px;color:#688078;background:linear-gradient(145deg,#edf5f2,#dce9e5)}
.public-home-page .public-complex-placeholder i{position:relative;width:54px;height:42px;border:4px solid #77978e;border-top:0;border-radius:4px;background:repeating-linear-gradient(90deg,transparent 0 9px,#77978e 10px 13px)}
.public-home-page .public-complex-placeholder i:before{position:absolute;top:-18px;left:4px;width:36px;height:36px;border-top:4px solid #77978e;border-left:4px solid #77978e;content:"";transform:rotate(45deg)}
.public-home-page .public-complex-placeholder b{font-size:13px}
.public-home-page .public-complex-empty{display:flex;min-height:190px;align-items:center;justify-content:center;flex-direction:column;gap:8px;border:1px dashed #cddbd7;border-radius:17px;color:#71838b;background:#f7faf9;text-align:center}
.public-home-page .public-complex-empty strong{color:#294552;font-size:17px}
.public-home-page .public-complex-empty span{font-size:13px}

.public-home-page .site-company-heading .eyebrow{font-size:12px;letter-spacing:.16em}
.public-home-page .site-company-heading h2{margin:10px 0 14px;font-size:31px;line-height:1.3;letter-spacing:-1px}
.public-home-page .site-company-heading p{font-size:15px;line-height:1.8}
.public-home-page .site-company-details>div{padding:19px 8px}
.public-home-page .site-company-details dt{color:#6e818b;font-size:13px;font-weight:600}
.public-home-page .site-company-details dd{margin-top:7px;color:#193849;font-size:15px;font-weight:800;line-height:1.5;letter-spacing:-.15px}
.public-home-page .site-company-details a{font-size:15px;font-weight:800}
.public-home-page .site-footer{padding-top:27px;padding-bottom:27px;border-top:1px solid #e3e9e8;font-size:15px}
.public-home-page .site-footer strong{font-size:16px}
.public-home-page .site-footer-meta{display:flex;align-items:flex-end;flex-direction:column;gap:7px;text-align:right}
.public-home-page .site-footer-meta>span{color:#526b77;font-size:15px;font-weight:700}
.public-home-page .site-footer-meta>small{color:#74868e;font-size:13px;font-weight:600;letter-spacing:.01em}

@media(max-width:760px){
  .public-home-page{overflow-x:hidden}
  .public-home-page .home-hero{display:flex;min-height:430px;padding:42px 20px 34px;align-items:center;text-align:left}
  .public-home-page .home-hero.has-slides{display:flex;min-height:430px}
  .public-home-page .home-hero.has-slides:after{background:linear-gradient(180deg,rgba(10,34,48,.48),rgba(10,34,48,.64))}
  .public-home-page .home-hero-content{width:100%;max-width:520px;margin:0 auto}
  .public-home-page .home-hero h1{margin:15px 0 10px;font-size:34px;line-height:1.16;letter-spacing:-.055em}
  .public-home-page .home-hero .pill{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .public-home-page .home-hero-content>p{margin:0;font-size:14px;line-height:1.6}
  .public-home-page .hero-search{display:grid;width:100%;height:52px;grid-template-columns:20px minmax(0,1fr) auto;gap:8px;margin:22px 0 0;padding:5px 5px 5px 14px;border-radius:12px}
  .public-home-page .hero-search input{width:100%;min-width:0;height:40px;font-size:13px}
  .public-home-page .hero-search button{width:auto;height:42px;padding:0 15px;border-radius:9px;font-size:13px;white-space:nowrap}
  .public-home-page .quick-tags{justify-content:flex-start;gap:7px}
  .public-home-page .quick-tags>span{width:100%;min-height:auto;padding:0;color:inherit;background:transparent;font-size:12px}
  .public-home-page .quick-tags a{min-height:34px;padding:0 12px;font-size:12px}
  .public-home-page .site-section{padding:52px 20px}
  .public-home-page .section-title{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;margin-bottom:16px}
  .public-home-page .section-title>div{grid-column:1;min-width:0}
  .public-home-page .section-title h2{font-size:27px;line-height:1.2;letter-spacing:-.04em}
  .public-home-page .section-title p{margin-top:8px;font-size:13px;line-height:1.6}
  .public-home-page .section-title>a{grid-column:2;grid-row:1;min-height:28px;align-self:end;padding:0 0 2px;font-size:12px;font-weight:800;white-space:nowrap}
  .public-home-page .public-complex-grid{gap:14px}
  .public-home-page .public-complex-link{padding:11px 11px 5px}
  .public-home-page .public-image{height:auto;aspect-ratio:16/9;margin-bottom:13px}
  .public-home-page .public-complex-link p{margin-bottom:0;line-height:1.45}
  .public-home-page .public-complex-reals{min-height:0;margin-top:0;padding:11px 13px 9px}
  .public-home-page .public-complex-real-row{grid-template-columns:62px 42px minmax(0,1fr);gap:6px;min-height:45px;font-size:12px}
  .public-home-page .public-complex-real-row b{font-size:13px}
  .public-home-page .public-listings-section{padding-top:34px}
  .public-home-page .public-listing-columns{gap:14px}
  .public-home-page .public-listing-group{padding:14px;border-radius:13px}
  .public-home-page .public-listing-group-head{margin-bottom:12px;padding-bottom:11px}
  .public-home-page .site-company-heading h2{font-size:27px}
  .public-home-page .site-company-heading p{font-size:14px}
  .public-home-page .site-company-details dt{font-size:12px}
  .public-home-page .site-company-details dd,.public-home-page .site-company-details a{font-size:14px}
  .public-home-page .site-footer{font-size:14px}
  .public-home-page .site-footer-meta{align-items:flex-start;text-align:left}
  .public-home-page .site-footer-meta>span{font-size:14px}
  .public-home-page .site-footer-meta>small{font-size:12px}
}

@media(max-width:390px){
  .public-home-page .home-hero{min-height:410px;padding-right:16px;padding-left:16px}
  .public-home-page .home-hero.has-slides{min-height:410px}
  .public-home-page .home-hero h1{font-size:31px}
  .public-home-page .hero-search{grid-template-columns:18px minmax(0,1fr) auto;padding-left:11px}
  .public-home-page .hero-search input{font-size:12px}
  .public-home-page .hero-search button{padding:0 12px;font-size:12px}
  .public-home-page .site-section{padding-right:16px;padding-left:16px}
  .public-home-page .quick-tags{gap:6px}
  .public-home-page .quick-tags a{padding:0 10px}
}

@media(prefers-reduced-motion:reduce){
  .public-home-page .quick-tags a{transition:none}
}
