/* Shared system for Home + Planos. No global portal overrides. */
.lm-site{--brand:#c45500;--brand-hover:#ba5100;--ink:#172b36;--body:#52616a;--muted:#697982;--line:#e3e8e9;--surface:#f4f6f5;--warm:#fff5eb;--radius:12px;--content:1240px;margin:0;background:#fff;color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
.lm-site *{box-sizing:border-box}
.lm-site [hidden]{display:none!important}
.lm-site a{color:inherit;text-decoration:none}
.lm-site button,.lm-site input,.lm-site select{font:inherit}
.lm-site button{cursor:pointer}
.lm-site button,.lm-site a,.lm-site input,.lm-site select{ -webkit-tap-highlight-color:transparent }
.lm-site button:focus-visible,.lm-site a:focus-visible,.lm-site input:focus-visible,.lm-site select:focus-visible{outline:3px solid #277a9e;outline-offset:4px}
.lm-site img{display:block;max-width:100%}
.lm-site p,.lm-site h1,.lm-site h2,.lm-site h3{margin:0}
.lm-site h2{font-size:27px;font-weight:650;letter-spacing:-.7px;line-height:1.25}
.lm-site .container{width:min(var(--content),calc(100% - 64px));margin-inline:auto}
.lm-site .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.lm-site .skip{position:fixed;top:-100px;left:16px;z-index:200;padding:12px;background:#fff}
.lm-site .skip:focus{top:10px}
.lm-site svg{width:20px;height:20px;display:block;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.lm-site [data-icon]{display:inline-flex;align-items:center;justify-content:center;flex:none}
.lm-site .header{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:30}
.lm-site .header-inner{display:flex;align-items:center;gap:40px;min-height:82px}
.lm-site .brand{width:183px;flex:none}
.lm-site .brand img{width:100%;height:60px;object-fit:contain}
.lm-site .nav-desktop{display:flex;gap:26px;align-items:center;flex:1;white-space:nowrap}
.lm-site .nav-desktop a{font-size:14px;font-weight:550;padding-block:12px}
.lm-site .nav-desktop a:hover,.lm-site .text-link:hover{color:var(--brand)}
.lm-site .header-actions{display:flex;align-items:center;gap:23px}
.lm-site .account-link{display:flex;gap:8px;align-items:center;font-size:14px}
.lm-site .button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;border-radius:8px;border:1px solid transparent;padding:11px 20px;font-size:14px;line-height:1.2;font-weight:650;white-space:nowrap;transition:background .16s,border-color .16s}
.lm-site .button-brand{color:white;background:var(--brand);border-color:var(--brand)}
.lm-site .button-brand:hover{background:var(--brand-hover);border-color:var(--brand-hover)}
.lm-site .icon-button{background:transparent;border:1px solid transparent;min-width:40px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:8px;color:inherit}
.lm-site .icon-button:hover{background:#eef1f2}
.lm-site .menu-button{display:none}
.lm-site .eyebrow{color:#65727a;font-size:11px;font-weight:650;letter-spacing:1.25px;text-transform:uppercase;display:flex;align-items:center;gap:9px;margin-bottom:13px}
.lm-site .eyebrow-line{height:2px;width:21px;background:var(--brand)}
.lm-site h1{font-size:clamp(32px,3.25vw,46px);font-weight:650;line-height:1.13;letter-spacing:-1.65px}
.lm-site h1 span{color:var(--brand)}
.lm-site input::placeholder{color:#849097}
.lm-site .text-button{color:var(--body);font-size:13px;background:none;border:0;padding:10px;min-height:44px}
.lm-site dialog{border:1px solid #e1e5e7;border-radius:16px;color:var(--ink);font:inherit;max-width:calc(100% - 30px);box-shadow:0 16px 70px #14283140}
.lm-site dialog::backdrop{background:#10242f65}
.lm-site .sheet{padding:0;margin:auto auto 0;width:100%;max-width:100%;max-height:92dvh;border-radius:18px 18px 0 0;overflow:auto}
.lm-site .sheet .advanced-filters{margin:0;border:0;padding:23px 20px 0}
.lm-site .sheet .filter-grid{grid-template-columns:1fr}
.lm-site .sheet .filter-actions{position:sticky;bottom:0;background:white;padding:15px 0 calc(15px + env(safe-area-inset-bottom));z-index:3}
.lm-site .sheet .filter-actions .button{flex:1}
.lm-site .sheet .filter-heading{position:sticky;top:-23px;background:white;padding:4px 0 14px;z-index:4}
.lm-site .section-heading .eyebrow{margin-bottom:9px}
.lm-site .section-heading p:not(.eyebrow){color:var(--body);font-size:14px;margin-top:8px}
.lm-site .text-link{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font-weight:600;font-size:13px;min-height:36px}
.lm-site .text-link svg{height:17px;width:17px}
@keyframes skeleton{to{background-position:-200% 0}}
.lm-site .carousel-buttons .icon-button{min-width:34px;min-height:34px;color:#61747e}
.lm-site .final-section p:not(.eyebrow){font-size:13px;color:var(--body);margin-top:12px}
.lm-site .footer{background:#15242d;color:#f4f6f8}
.lm-site .footer-main{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:52px;padding-top:43px;padding-bottom:35px}
.lm-site .logo-plaque{display:block;width:200px;background:white;border-radius:7px;padding:11px}
.lm-site .logo-plaque img{width:100%;height:auto}
.lm-site .footer-brand>p{font-size:12px;color:#bdc7cc;margin-top:17px;line-height:1.7}
.lm-site .footer-location{display:block;font-size:11px;color:#8d9ca5;margin-top:13px}
.lm-site .footer h2{font-size:13px;letter-spacing:0;margin-bottom:18px;font-weight:600}
.lm-site .footer-main>div:not(:first-child)>a{display:block;font-size:12px;color:#b9c6cd;margin-bottom:12px}
.lm-site .footer a:hover{color:#fff}
.lm-site .footer-bottom{border-top:1px solid #35434b;display:flex;justify-content:space-between;gap:18px;padding:17px 0;color:#99aab4;font-size:10px}
.lm-site .mobile-menu{width:340px;margin:0 0 0 auto;height:100dvh;max-height:100%;padding:23px;border-radius:14px 0 0 14px}
.lm-site .menu-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:21px}
.lm-site .menu-head h2{font-size:20px}
.lm-site .mobile-menu nav a{display:flex;justify-content:space-between;align-items:center;font-size:15px;padding:16px 0;border-bottom:1px solid var(--line)}
.lm-site .preview-dialog{width:520px;padding:32px}
.lm-site .preview-close{position:absolute;right:13px;top:13px}
.lm-site .dialog-icon{background:#fff2e5;color:var(--brand);height:44px;width:44px;border-radius:10px;margin-bottom:19px}
.lm-site .preview-dialog h2{font-size:25px}
.lm-site .preview-dialog p:not(.eyebrow){color:var(--body);font-size:14px;line-height:1.6;margin:13px 0}
.lm-site .preview-dialog code{display:block;background:#f3f6f7;font-size:12px;padding:13px;overflow-wrap:anywhere;border-radius:6px;white-space:normal}
.lm-site .preview-dialog .preview-help{font-size:12px!important}
.lm-site .preview-dialog .button{margin-top:10px}
.lm-site .toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);padding:14px 20px;border-radius:8px;background:#15242d;color:white;z-index:100;box-shadow:0 8px 30px #0002;max-width:calc(100% - 32px);font-size:13px}
@media (min-width:1400px){.lm-site .container{width:min(1240px,calc(100% - 100px))}}
@media (max-width:1100px){.lm-site .header-inner{gap:26px}
.lm-site .nav-desktop{gap:18px}
.lm-site .header-actions{gap:14px}
.lm-site .brand{width:166px}
.lm-site h1{font-size:38px}
.lm-site .footer-main{gap:28px}}
@media (max-width:900px){.lm-site .nav-desktop{display:none}
.lm-site .header-actions{width:auto;flex:0 0 auto;order:initial;margin-left:auto}
.lm-site .menu-button{display:flex}
.lm-site .header-inner{min-height:72px}
.lm-site h1{font-size:33px}
.lm-site .eyebrow{font-size:10px;letter-spacing:.8px}
.lm-site .business-card .text-link{white-space:normal;font-size:12px}
.lm-site .footer-main{grid-template-columns:1.35fr 1fr 1fr}
.lm-site .footer-main>div:last-child{grid-column:2/4}}
@media (max-width:640px){.lm-site .container{width:calc(100% - 32px)}
.lm-site .header-inner{min-height:66px;gap:12px}
.lm-site .brand{width:140px}
.lm-site .brand img{height:47px}
.lm-site .header-actions{gap:8px}
.lm-site .account-link{font-size:12px;gap:4px}
.lm-site .account-link svg{width:17px}
.lm-site h1{font-size:34px;line-height:1.14;letter-spacing:-1.05px;max-width:390px}
.lm-site .eyebrow{font-size:9px;letter-spacing:.7px;gap:7px;margin-bottom:12px}
.lm-site .eyebrow-line{width:13px}
.lm-site .section-heading p:not(.eyebrow){font-size:12px;margin-top:8px}
.lm-site .section-heading.compact .text-link{margin-top:4px}
.lm-site .text-link{font-size:12px;gap:5px}
.lm-site .listings-section>.section-heading>.text-link{margin-top:5px}
.lm-site .media-label>.text-link{font-size:10px}
.lm-site .final-section>.button{margin-top:23px}
.lm-site .footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:27px 16px;padding-block:30px}
.lm-site .footer-brand{grid-column:1/-1}
.lm-site .footer-main>div:last-child{grid-column:auto}
.lm-site .footer-main>div:last-child{grid-column:1/-1}
.lm-site .logo-plaque{width:181px}
.lm-site .footer-bottom{display:block;font-size:10px}
.lm-site .prototype-label{display:block;margin-top:7px}
.lm-site .preview-dialog{padding:25px}
.lm-site .preview-dialog h2{font-size:23px}}
@media (max-width:360px){.lm-site .container{width:calc(100% - 24px)}
.lm-site h1{font-size:29px}
.lm-site .hero .eyebrow{font-size:8px;letter-spacing:.25px}}
@media (prefers-reduced-motion:reduce){.lm-site *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media (max-width:640px){.lm-site .header-actions .account-link{display:none}
.lm-site .menu-button{min-width:34px}
.lm-site .header-actions{gap:5px}}
.lm-site .nav-desktop a[aria-current="page"]{color:var(--brand)}
.lm-site .mobile-menu a[aria-current="page"]{color:var(--brand);font-weight:650}
.lm-site .header-cta[aria-current="page"]{cursor:pointer}
.lm-site .menu-button{position:relative}
.lm-site .mobile-menu{max-height:90dvh;overflow-y:auto}
.lm-site .button:disabled{opacity:.55;cursor:wait}
.lm-site .site-mount{display:contents}
.lm-site a.text-link{text-decoration:none}
.lm-site .shared-noscript{padding:16px;color:var(--body)}

/* Shared acquisition action on mobile. */
@media (max-width:640px){.lm-site .header-cta{display:none}}
@media (max-width:640px){.lm-site .header-cta{display:inline-flex;min-height:38px;font-size:12px;padding:9px 12px}
.lm-site .header-cta [data-icon]{display:none}}
