/* LenderMatrix design tokens + marketplace components. The theme adds page chrome and typography on top. */
:root{
  --lm-ink:#0A0F0D;--lm-graphite:#121A17;--lm-paper:#FFFFFF;--lm-mist:#F3F6F4;
  --lm-green:#027C3E;--lm-green-bright:#1FBE76;
  --lm-bg:var(--lm-paper);--lm-bg-soft:var(--lm-mist);--lm-surface:#FFFFFF;--lm-text:#16211C;--lm-muted:#55655D;
  --lm-line:#DCE4DF;--lm-accent:var(--lm-green);--lm-accent-ink:#FFFFFF;--lm-accent-soft:#E6F4EC;--lm-link:#026A35;
  --lm-warn:#8A5A00;--lm-warn-soft:#FFF4DB;--lm-error:#B3261E;--lm-error-soft:#FCE9E7;--lm-ok-soft:#E6F4EC;
  --lm-radius:12px;--lm-radius-sm:8px;--lm-shadow:0 1px 2px rgba(10,15,13,.06),0 8px 24px rgba(10,15,13,.06);
  --lm-font:"Red Hat Text",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--lm-display:"Red Hat Display",var(--lm-font);--lm-mono:"Red Hat Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --lm-grid-dot:rgba(2,124,62,.16);--lm-focus:#0B57D0;
}
:root[data-lm-theme="dark"]{
  --lm-bg:var(--lm-ink);--lm-bg-soft:var(--lm-graphite);--lm-surface:#16201C;--lm-text:#E9F1EC;--lm-muted:#A3B3AA;
  --lm-line:#26332D;--lm-accent:var(--lm-green-bright);--lm-accent-ink:#04130B;--lm-accent-soft:#11271C;--lm-link:#4FD896;
  --lm-warn:#F2C25B;--lm-warn-soft:#2B2410;--lm-error:#FF8A80;--lm-error-soft:#2E1614;--lm-ok-soft:#11271C;
  --lm-shadow:0 1px 2px rgba(0,0,0,.4),0 10px 30px rgba(0,0,0,.35);--lm-grid-dot:rgba(31,190,118,.2);--lm-focus:#8AB4F8;
}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.lm-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.lm-no-scroll{overflow:hidden}
[class^="lm-"] *,[class^="lm-"]{box-sizing:border-box}
/* Keyboard focus: plain selectors (not :where) so other stylesheets cannot silently zero it out */
.lm-btn:focus-visible,.lm-field input:focus-visible,.lm-field select:focus-visible,.lm-field textarea:focus-visible,.lm-save:focus-visible,.lm-tile:focus-visible,.lm-tabs__nav button:focus-visible,.lm-toolbar input:focus-visible,.lm-toolbar select:focus-visible,.lm-filters input:focus-visible,.lm-filters select:focus-visible,.lm-app__nav a:focus-visible,.lm-pagination a:focus-visible,.lm-card a:focus-visible,.lm-faq summary:focus-visible,.lm-why summary:focus-visible,.lm-link:focus-visible,a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid var(--lm-focus);outline-offset:2px;border-radius:6px}

/* Buttons */
.lm-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:.65rem 1.15rem;border-radius:999px;border:1.5px solid transparent;font:600 1rem/1.2 var(--lm-font);text-decoration:none;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}
.lm-btn--primary{background:var(--lm-accent);color:var(--lm-accent-ink)}
.lm-btn--primary:hover{background:color-mix(in srgb,var(--lm-accent) 86%,#000)}
.lm-btn--ghost{background:transparent;color:var(--lm-text);border-color:var(--lm-line)}
.lm-btn--ghost:hover{border-color:var(--lm-accent);color:var(--lm-link)}
.lm-btn--block{display:flex;width:100%}
.lm-btn--sm{min-height:36px;padding:.35rem .8rem;font-size:.875rem}
.lm-btn[disabled]{opacity:.55;cursor:progress}
.lm-link{background:none;border:0;padding:0;color:var(--lm-link);font:inherit;text-decoration:underline;cursor:pointer}

/* Fields */
.lm-form{display:grid;gap:1rem}
.lm-form--card{background:var(--lm-surface);border:1px solid var(--lm-line);border-radius:var(--lm-radius);padding:clamp(1rem,3vw,1.5rem);display:grid;gap:1rem;min-width:0}
.lm-form--card>legend{padding:0;float:left;width:100%}
.lm-form--card h2,.lm-form--card legend h2{font:700 1.1rem/1.3 var(--lm-display);margin:0}
.lm-form__cols{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr))}
.lm-form__grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));clear:both}
.lm-form__row{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.lm-field{display:grid;gap:.35rem;min-width:0;border:0;padding:0;margin:0}
.lm-field__label{font:600 .9rem/1.3 var(--lm-font);color:var(--lm-text)}
.lm-field__help{font-size:.85rem;color:var(--lm-muted);margin:0}
.lm-field input,.lm-field select,.lm-field textarea,.lm-sort select,.lm-toolbar input,.lm-toolbar select,.lm-table select{width:100%;min-height:44px;padding:.6rem .75rem;border:1.5px solid var(--lm-line);border-radius:var(--lm-radius-sm);background:var(--lm-surface);color:var(--lm-text);font:400 1rem/1.4 var(--lm-font)}
.lm-field input:hover,.lm-field select:hover,.lm-field textarea:hover{border-color:var(--lm-muted)}
.lm-field [aria-invalid="true"]{border-color:var(--lm-error)}
.lm-field input[type=file]{padding:.45rem}
.lm-check{display:flex;gap:.6rem;align-items:flex-start;font-size:.95rem;line-height:1.45}
.lm-check input{width:1.15rem;height:1.15rem;margin-top:.15rem;accent-color:var(--lm-accent);flex:none}
.lm-multi{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.4rem .9rem;max-height:14rem;overflow:auto;padding:.75rem;border:1.5px solid var(--lm-line);border-radius:var(--lm-radius-sm)}
.lm-form__status{margin:0;padding:.75rem 1rem;border-radius:var(--lm-radius-sm);font-weight:600}
.lm-form__status.is-error{background:var(--lm-error-soft);color:var(--lm-error)}
.lm-form__status.is-ok{background:var(--lm-ok-soft);color:var(--lm-link)}
.lm-notice{padding:.85rem 1rem;border-radius:var(--lm-radius-sm);background:var(--lm-warn-soft);color:var(--lm-text);border-left:4px solid var(--lm-warn)}
.lm-notice--ok{background:var(--lm-ok-soft);border-left-color:var(--lm-accent)}
.lm-notice--demo,.lm-notice--draft{background:var(--lm-warn-soft)}
.lm-disclaimer{font-size:.82rem;line-height:1.55;color:var(--lm-muted);max-width:75ch}
.lm-lead{font-size:clamp(1.05rem,2.2vw,1.25rem);line-height:1.55;color:var(--lm-muted);max-width:62rem}
.lm-segment{display:inline-flex;flex-wrap:wrap;padding:4px;border:1.5px solid var(--lm-line);border-radius:999px;gap:2px;margin:0;min-width:0}
.lm-segment label{position:relative;cursor:pointer}
.lm-segment input{position:absolute;opacity:0;inset:0}
.lm-segment span{display:block;padding:.5rem 1rem;border-radius:999px;font-weight:600;font-size:.92rem}
.lm-segment input:checked+span{background:var(--lm-accent);color:var(--lm-accent-ink)}
.lm-segment input:focus-visible+span{outline:3px solid var(--lm-focus);outline-offset:2px}
.lm-pill{display:inline-block;padding:.15rem .55rem;border-radius:999px;background:var(--lm-accent-soft);color:var(--lm-link);font:600 .75rem/1.5 var(--lm-font);white-space:nowrap}

/* Cards */
.lm-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,19rem),1fr))}
.lm-grid--two{grid-template-columns:repeat(auto-fill,minmax(min(100%,21rem),1fr))}
.lm-card{display:flex;flex-direction:column;gap:.9rem;padding:1.15rem;background:var(--lm-surface);border:1px solid var(--lm-line);border-radius:var(--lm-radius);min-width:0;transition:border-color .15s,box-shadow .15s}
.lm-card:hover{border-color:var(--lm-accent);box-shadow:var(--lm-shadow)}
.lm-card__head{display:grid;grid-template-columns:48px minmax(0,1fr);gap:.75rem;align-items:start}
.lm-card__badges{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.35rem}
.lm-card__badges:empty{display:none}
.lm-card__title{font:700 1.05rem/1.3 var(--lm-display);margin:0;overflow-wrap:anywhere}
.lm-card__title a{color:inherit;text-decoration:none}
.lm-card__title a:hover{color:var(--lm-link);text-decoration:underline}
.lm-card__by{margin:.15rem 0 0;font-size:.88rem;color:var(--lm-muted);display:flex;flex-wrap:wrap;gap:.25rem .6rem}
.lm-card__by a{color:var(--lm-muted)}
.lm-card__type::before{content:"/ ";opacity:.5}
.lm-card__foot{margin-top:auto;display:flex;gap:.6rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.lm-logo{width:48px;height:48px;border-radius:10px;object-fit:contain;background:#fff;border:1px solid var(--lm-line)}
.lm-logo--lg{width:96px;height:96px}
.lm-logo--initials{display:grid;place-items:center;background:var(--lm-accent-soft);color:var(--lm-link);font:700 1rem var(--lm-mono);border-color:transparent}
.lm-badge{font:600 .72rem/1.5 var(--lm-font);padding:.1rem .5rem;border-radius:6px;border:1px solid var(--lm-line);color:var(--lm-muted)}
.lm-badge--plan{border-color:var(--lm-accent);color:var(--lm-link)}
.lm-badge--demo{background:var(--lm-warn-soft);color:var(--lm-warn);border-color:transparent}
.lm-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1rem;margin:0}
.lm-facts dt{font-size:.75rem;color:var(--lm-muted)}
.lm-facts dd{margin:0;font:600 .95rem/1.35 var(--lm-font);overflow-wrap:anywhere}
.lm-chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}
.lm-chips li{font-size:.8rem;padding:.2rem .6rem;border-radius:999px;background:var(--lm-bg-soft);color:var(--lm-text)}
.lm-chips--lg li{font-size:.92rem;padding:.35rem .8rem}
.lm-save{display:inline-flex;align-items:center;gap:.4rem;min-height:40px;padding:.4rem .8rem;border-radius:999px;border:1.5px solid var(--lm-line);background:transparent;color:var(--lm-text);font:600 .88rem var(--lm-font);cursor:pointer}
/* The icon is an inline SVG in the markup (no CSS masks or data URLs to fail): outline = Save, filled = Saved */
.lm-save__icon{flex:none;width:1.1rem;height:1.1rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.lm-save[aria-pressed="true"]{border-color:var(--lm-accent);color:var(--lm-link)}
.lm-save[aria-pressed="true"] .lm-save__icon{fill:currentColor}
.lm-save--block{width:100%;justify-content:center;margin-top:.6rem}
.lm-match{display:flex;flex-wrap:wrap;gap:.2rem .7rem;align-items:baseline;margin:0;padding:.55rem .75rem;border-radius:var(--lm-radius-sm);background:var(--lm-accent-soft)}
.lm-match strong{font:700 1rem var(--lm-mono);color:var(--lm-link)}
.lm-match span{font-size:.82rem;color:var(--lm-muted)}

/* Search */
.lm-search{display:grid;gap:1.5rem;grid-template-columns:minmax(0,1fr)}
.lm-filters{display:grid;gap:.9rem;align-content:start}
.lm-filters__head{display:none}
.lm-filters__more summary{cursor:pointer;font-weight:600;padding:.4rem 0}
.lm-filters__more[open]{display:grid;gap:.9rem}
.lm-filters__actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;position:sticky;bottom:0;background:var(--lm-bg);padding:.75rem 0}
.lm-results{min-width:0;display:grid;gap:1.25rem;align-content:start}
.lm-results__bar{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.lm-results__count{margin:0;font:600 1rem var(--lm-mono)}
.lm-results__tools{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap}
.lm-sort{display:flex;align-items:center;gap:.5rem;font-size:.9rem}
.lm-sort select{width:auto;min-height:40px}
[data-lm-results][aria-busy="true"]{opacity:.5}
.lm-pagination{display:flex;flex-wrap:wrap;gap:.35rem}
.lm-pagination a{min-width:44px;min-height:44px;display:grid;place-items:center;border:1.5px solid var(--lm-line);border-radius:var(--lm-radius-sm);text-decoration:none;color:var(--lm-text);font-weight:600}
.lm-pagination a[aria-current]{background:var(--lm-accent);border-color:var(--lm-accent);color:var(--lm-accent-ink)}
@media (max-width:899px){
  .lm-filters{position:fixed;inset:0;z-index:1000;background:var(--lm-bg);padding:1rem 1rem 0;overflow:auto;transform:translateX(-102%);visibility:hidden;transition:transform .2s,visibility .2s}
  .lm-filters.is-open{transform:none;visibility:visible}
  .lm-filters__head{display:flex;justify-content:space-between;align-items:center}
  .lm-filters__head h2{margin:0;font:700 1.25rem var(--lm-display)}
  .lm-filters__close{width:44px;height:44px;border:0;background:transparent;color:var(--lm-text);font-size:1.75rem;cursor:pointer}
}
@media (min-width:900px){
  .lm-search{grid-template-columns:18rem minmax(0,1fr)}
  .lm-search__toggle{display:none}
  .lm-filters{position:sticky;top:6rem;max-height:calc(100vh - 7rem);overflow:auto;padding-right:.5rem}
}

/* Empty + loading: the matrix grid motif, kept quiet */
.lm-empty{grid-column:1/-1;text-align:center;padding:clamp(2rem,6vw,3.5rem) 1.25rem;border:1.5px dashed var(--lm-line);border-radius:var(--lm-radius);position:relative;overflow:hidden}
.lm-empty h3{font:700 1.2rem var(--lm-display);margin:0 0 .5rem;position:relative}
.lm-empty p{color:var(--lm-muted);max-width:50ch;margin:0 auto 1.25rem;position:relative}
.lm-empty .lm-btn{position:relative}
.lm-empty__grid,.lm-cta__grid{position:absolute;inset:0;background-image:radial-gradient(var(--lm-grid-dot) 1.5px,transparent 1.5px);background-size:22px 22px;mask-image:radial-gradient(ellipse at 50% 0,#000 0,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at 50% 0,#000 0,transparent 70%);pointer-events:none}
.lm-loading{display:flex;align-items:center;gap:.9rem;padding:2rem 0;color:var(--lm-muted);font-family:var(--lm-mono);font-size:.9rem}
.lm-loading__grid{width:28px;height:28px;background-image:radial-gradient(var(--lm-accent) 2px,transparent 2.5px);background-size:9.3px 9.3px;animation:lm-pulse 1.2s steps(4) infinite}
@keyframes lm-pulse{50%{opacity:.25}}

/* Marketing blocks */
.lm-tabs__nav{display:flex;gap:.25rem;overflow-x:auto;border-bottom:1.5px solid var(--lm-line);margin-bottom:1.5rem}
.lm-tabs__nav button{flex:none;min-height:44px;padding:.6rem 1rem;border:0;border-bottom:3px solid transparent;margin-bottom:-1.5px;background:none;color:var(--lm-muted);font:600 .98rem var(--lm-font);cursor:pointer}
.lm-tabs__nav button[aria-selected="true"]{color:var(--lm-text);border-bottom-color:var(--lm-accent)}
.lm-tiles{list-style:none;padding:0;margin:0;display:grid;gap:.6rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,13rem),1fr))}
.lm-tile{display:flex;align-items:center;min-height:52px;padding:.7rem 1rem;border:1px solid var(--lm-line);border-radius:var(--lm-radius-sm);background:var(--lm-surface);color:var(--lm-text);text-decoration:none;font-weight:600;font-size:.95rem}
.lm-tile:hover{border-color:var(--lm-accent);color:var(--lm-link)}
.lm-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));gap:1px;margin:0;background:var(--lm-line);border:1px solid var(--lm-line);border-radius:var(--lm-radius);overflow:hidden}
.lm-metrics div{background:var(--lm-surface);padding:1.25rem}
.lm-metrics dt{font:700 clamp(1.15rem,2.4vw,1.5rem)/1.2 var(--lm-mono);color:var(--lm-link)}
.lm-metrics dd{margin:.3rem 0 0;color:var(--lm-muted);font-size:.92rem}
.lm-steps{list-style:none;padding:0;margin:0;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr));counter-reset:none}
.lm-steps li{padding:1.25rem;border-top:3px solid var(--lm-accent);background:var(--lm-surface);border-radius:0 0 var(--lm-radius) var(--lm-radius)}
.lm-steps__num{font:600 .85rem var(--lm-mono);color:var(--lm-link)}
.lm-steps h3{font:700 1.08rem/1.3 var(--lm-display);margin:.4rem 0}
.lm-steps p{margin:0;color:var(--lm-muted);font-size:.95rem}
.lm-benefits{list-style:none;padding:0;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}
.lm-benefits li{padding:1.25rem;border:1px solid var(--lm-line);border-radius:var(--lm-radius);background:var(--lm-surface)}
.lm-benefits h3{margin:0 0 .4rem;font:700 1.05rem var(--lm-display)}
.lm-benefits p{margin:0;color:var(--lm-muted)}
.lm-matchcard{margin:0;padding:1.5rem;border-radius:var(--lm-radius);background:var(--lm-surface);border:1px solid var(--lm-line);box-shadow:var(--lm-shadow);max-width:26rem;position:relative}
.lm-matchcard__tag{position:absolute;top:1rem;right:1rem;font:600 .7rem var(--lm-mono);color:var(--lm-muted);border:1px solid var(--lm-line);border-radius:6px;padding:.1rem .45rem}
.lm-matchcard__score{margin:0;font:600 1rem var(--lm-font)}
.lm-matchcard__score strong{font:700 2.4rem/1 var(--lm-mono);color:var(--lm-link);display:block}
.lm-matchcard__sub{margin:.35rem 0 1rem;color:var(--lm-muted);font-size:.9rem}
.lm-matchcard ul,.lm-plan__list{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}
.lm-matchcard li,.lm-plan__list li{display:flex;gap:.6rem;font-size:.93rem}
.lm-matchcard li.is-yes span[aria-hidden]{color:var(--lm-link);font-weight:700}
.lm-matchcard li.is-no{color:var(--lm-muted)}
.lm-matchcard__note{margin:1rem 0 0;font-size:.8rem;color:var(--lm-muted)}
.lm-pricing{display:grid;gap:1.5rem;justify-items:center}
.lm-pricing__grid{width:100%;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,14.5rem),1fr));align-items:stretch}
.lm-plan{display:flex;flex-direction:column;gap:.85rem;padding:1.35rem;background:var(--lm-surface);border:1px solid var(--lm-line);border-radius:var(--lm-radius)}
.lm-plan--focus{border:2px solid var(--lm-accent)}
.lm-plan h3{margin:0;font:700 1.2rem var(--lm-display)}
.lm-plan__desc{margin:0;color:var(--lm-muted);font-size:.9rem;min-height:3.9em}
.lm-plan__price{margin:0}.lm-plan__price strong{font:700 2rem/1 var(--lm-mono)}.lm-plan__price span{color:var(--lm-muted);font-size:.88rem}
.lm-plan__fine{margin:0;font-size:.8rem;color:var(--lm-muted)}
.lm-plan__list{flex:1}
.lm-plan__list li::before{content:"✓";color:var(--lm-link);font-weight:700}
.lm-plan__list li.is-no{color:var(--lm-muted);text-decoration:line-through;text-decoration-color:var(--lm-line)}
.lm-plan__list li.is-no::before{content:"–";color:var(--lm-muted)}
.lm-faq{display:grid;gap:.6rem;max-width:52rem}
.lm-faq details{border:1px solid var(--lm-line);border-radius:var(--lm-radius-sm);background:var(--lm-surface)}
.lm-faq summary{cursor:pointer;padding:1rem 1.15rem;font:600 1.02rem/1.4 var(--lm-font);list-style:none;display:flex;justify-content:space-between;gap:1rem}
.lm-faq summary::-webkit-details-marker{display:none}
.lm-faq summary::after{content:"+";font:400 1.4rem/1 var(--lm-mono);color:var(--lm-link)}
.lm-faq details[open] summary::after{content:"–"}
.lm-faq__a{padding:0 1.15rem 1.1rem;color:var(--lm-muted)}.lm-faq__a p{margin:0}
.lm-cta{position:relative;overflow:hidden;text-align:center;padding:clamp(2.5rem,7vw,4.5rem) 1.25rem;border-radius:calc(var(--lm-radius)*1.5);background:var(--lm-ink);color:#E9F1EC}
.lm-cta h2{position:relative;margin:0 0 .75rem;font:800 clamp(1.6rem,4vw,2.4rem)/1.15 var(--lm-display);color:#fff}
.lm-cta p{position:relative;margin:0 auto 1.5rem;max-width:55ch;color:#A3B3AA}
.lm-cta__actions{position:relative;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;margin-top:1.5rem}
.lm-cta .lm-btn--primary{background:var(--lm-green-bright);color:#04130B}
.lm-cta .lm-btn--ghost{color:#E9F1EC;border-color:#3A4A42}
.lm-cta__grid{--lm-grid-dot:rgba(31,190,118,.28)}
.lm-hero-form{display:grid;gap:1rem;padding:clamp(1.15rem,3vw,1.75rem);background:var(--lm-surface);border:1px solid var(--lm-line);border-radius:calc(var(--lm-radius)*1.35);box-shadow:var(--lm-shadow)}
.lm-hero-form__title{margin:0;font:700 1.2rem/1.3 var(--lm-display)}
.lm-hero-form__row{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr))}
.lm-hero-form__row>.lm-field:first-child{grid-column:1/-1}
.lm-hero-form__note{margin:0;font-size:.82rem;color:var(--lm-muted);text-align:center}
.lm-article__meta{font:500 .8rem var(--lm-mono);color:var(--lm-muted);margin:auto 0 0}
/* Site map: four balanced link columns, then full-width directories */
.lm-sitemap__cols{display:grid;gap:2rem 2.5rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));margin-bottom:1rem}
.lm-sitemap__group h2,.lm-sitemap__wide h2{margin:0 0 .75rem;padding-top:.9rem;border-top:2px solid var(--lm-accent);font:700 1.1rem var(--lm-display)}
.lm-sitemap__group ul,.lm-sitemap__list{list-style:none;margin:0;padding:0;display:grid;gap:.15rem}
.lm-sitemap__group a,.lm-sitemap__list a{display:inline-block;min-height:32px;padding:.3rem 0;color:var(--lm-text);text-decoration:none}
.lm-sitemap__group a:hover,.lm-sitemap__list a:hover{color:var(--lm-link);text-decoration:underline}
.lm-sitemap__wide{margin-top:2.5rem}
.lm-sitemap__list{grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr));gap:.15rem 2.5rem}
.lm-sitemap .lm-tiles{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem;--lm-cols:2}
.lm-sitemap .lm-tiles>li{flex:0 0 calc((100% - (var(--lm-cols) - 1) * .6rem) / var(--lm-cols));min-width:0}
.lm-sitemap .lm-tiles>li>.lm-tile{height:100%}
@media (min-width:600px){.lm-sitemap .lm-tiles{--lm-cols:3}}@media (min-width:900px){.lm-sitemap .lm-tiles{--lm-cols:4}}@media (min-width:1100px){.lm-sitemap .lm-tiles{--lm-cols:5}}

/* Auth */
.lm-auth{max-width:30rem;margin-inline:auto;display:grid;gap:1rem}
.lm-auth .lm-form{background:var(--lm-surface);border:1px solid var(--lm-line);border-radius:var(--lm-radius);padding:clamp(1.15rem,4vw,2rem)}
.lm-auth__title{margin:0;font:800 1.5rem/1.2 var(--lm-display)}
.lm-auth__foot{text-align:center;color:var(--lm-muted);font-size:.93rem;margin:0}
.lm-turnstile{min-height:65px}

/* Wizard */
.lm-wizard{max-width:50rem;margin-inline:auto;display:grid;gap:1.5rem}
.lm-progress{list-style:none;display:flex;gap:.35rem;padding:0;margin:0}
.lm-progress li{flex:1;border-top:4px solid var(--lm-line);padding-top:.45rem;font:600 .78rem var(--lm-font);color:var(--lm-muted);min-width:0}
.lm-progress li span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lm-progress li.is-done{border-top-color:var(--lm-accent)}
.lm-progress li[aria-current]{border-top-color:var(--lm-accent);color:var(--lm-text)}
@media (max-width:560px){.lm-progress li:not([aria-current]) span{visibility:hidden}}
.lm-wizard__form{background:var(--lm-surface);border:1px solid var(--lm-line);border-radius:var(--lm-radius);padding:clamp(1.15rem,4vw,2rem)}
.lm-wizard__form h2{margin:0;font:800 clamp(1.4rem,3.5vw,1.9rem)/1.2 var(--lm-display)}
.lm-wizard__form h2:focus{outline:none}
.lm-wizard__count{margin:0;font:600 .8rem var(--lm-mono);color:var(--lm-link)}
.lm-wizard__fields{display:grid;gap:1.1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}
.lm-wizard__fields .lm-field--multi,.lm-wizard__fields .lm-field:has(textarea){grid-column:1/-1}
.lm-wizard__nav{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.lm-wizard__saved,.lm-submitbar__count{font:500 .82rem var(--lm-mono);color:var(--lm-muted)}
.lm-matches{display:grid;gap:1rem}
.lm-matchrow{display:grid;gap:.5rem}
.lm-matchrow__pick{font-weight:700}
.lm-why summary{cursor:pointer;font-weight:600;color:var(--lm-link);padding:.3rem 0}
.lm-why__grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));padding-top:.5rem}
.lm-why h4{margin:0 0 .4rem;font:700 .85rem var(--lm-font)}
.lm-why ul{margin:0;padding-left:1.1rem;font-size:.88rem;color:var(--lm-muted);display:grid;gap:.3rem}
.lm-why__col.is-yes h4{color:var(--lm-link)}.lm-why__col.is-no h4{color:var(--lm-error)}
.lm-submitbar{position:sticky;bottom:0;z-index:5;background:var(--lm-surface);border:1px solid var(--lm-line);border-radius:var(--lm-radius) var(--lm-radius) 0 0;padding:1rem;box-shadow:0 -8px 24px rgba(10,15,13,.08)}
.lm-consent{font-size:.86rem}
.lm-gate{text-align:center}.lm-gate h3{margin:0 0 .4rem;font:700 1.2rem var(--lm-display)}

/* Detail pages */
.lm-detail{display:grid;gap:2rem;grid-template-columns:minmax(0,1fr)}
@media (min-width:960px){.lm-detail{grid-template-columns:minmax(0,1fr) 21rem}.lm-detail__side>.lm-panel{position:sticky;top:6rem}}
.lm-detail__main{display:grid;gap:1.75rem;min-width:0;align-content:start}
.lm-detail__side{display:grid;gap:1rem;align-content:start;min-width:0}
.lm-panel{padding:1.25rem;border:1px solid var(--lm-line);border-radius:var(--lm-radius);background:var(--lm-surface);display:grid;gap:.85rem}
.lm-panel__lender{display:flex;gap:.75rem;align-items:center}
.lm-panel__lender div{display:grid}.lm-panel__lender span{font-size:.85rem;color:var(--lm-muted)}
.lm-panel__note{margin:0;font-size:.82rem;color:var(--lm-muted)}
.lm-contact{list-style:none;padding:0;margin:0;display:grid;gap:.4rem}
.lm-spec h2,.lm-related h2{font:700 1.2rem var(--lm-display);margin:0 0 .75rem}
.lm-spec__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr));gap:1px;margin:0;background:var(--lm-line);border:1px solid var(--lm-line);border-radius:var(--lm-radius-sm);overflow:hidden}
.lm-spec__list div{background:var(--lm-surface);padding:.7rem .9rem}
.lm-spec__list dt{font-size:.76rem;color:var(--lm-muted)}
.lm-spec__list dd{margin:.1rem 0 0;font-weight:600;overflow-wrap:anywhere}
.lm-spec__list--stack{grid-template-columns:1fr}
.lm-prose{max-width:70ch}

/* App shell */
.lm-app{display:grid;gap:1.5rem;grid-template-columns:minmax(0,1fr)}
.lm-app__nav ul{list-style:none;margin:0;padding:0;display:none;gap:.15rem}
.lm-app__nav.is-open ul{display:grid}
.lm-app__menu{width:100%;min-height:44px;border:1.5px solid var(--lm-line);border-radius:var(--lm-radius-sm);background:var(--lm-surface);color:var(--lm-text);font:600 1rem var(--lm-font);cursor:pointer}
.lm-app__nav a{display:flex;justify-content:space-between;align-items:center;gap:.5rem;min-height:44px;padding:.5rem .85rem;border-radius:var(--lm-radius-sm);color:var(--lm-text);text-decoration:none;font-weight:500}
.lm-app__nav a:hover{background:var(--lm-bg-soft)}
.lm-app__nav a[aria-current]{background:var(--lm-accent-soft);color:var(--lm-link);font-weight:700}
.lm-app__badge{min-width:1.4rem;padding:0 .4rem;border-radius:999px;background:var(--lm-accent);color:var(--lm-accent-ink);font:700 .72rem/1.4rem var(--lm-mono);text-align:center}
.lm-app__main{min-width:0;display:grid;gap:1.25rem;align-content:start}
.lm-app__main:focus,.lm-app__title:focus{outline:none}
.lm-app__title{margin:0;font:800 clamp(1.4rem,3.5vw,1.9rem)/1.2 var(--lm-display)}
@media (min-width:960px){.lm-app{grid-template-columns:15rem minmax(0,1fr)}.lm-app__menu{display:none}.lm-app__nav ul{display:grid;position:sticky;top:6rem}}
.lm-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));gap:1px;margin:0;background:var(--lm-line);border:1px solid var(--lm-line);border-radius:var(--lm-radius);overflow:hidden}
.lm-stats div{background:var(--lm-surface);padding:1rem}
.lm-stats dt{font-size:.78rem;color:var(--lm-muted)}
.lm-stats dd{margin:.15rem 0 0;font:700 1.15rem/1.3 var(--lm-mono);overflow-wrap:anywhere}
.lm-stats dd a{color:var(--lm-link);text-decoration:none}
.lm-callout{padding:1.25rem;border-radius:var(--lm-radius);background:var(--lm-accent-soft);display:grid;gap:.6rem;justify-items:start}
.lm-callout h2{margin:0;font:700 1.15rem var(--lm-display)}.lm-callout p{margin:0}
.lm-callout--warn{background:var(--lm-warn-soft);border-left:4px solid var(--lm-warn)}
.lm-checklist{margin:0;padding-left:1.2rem;display:grid;gap:.35rem}
.lm-tablewrap{overflow-x:auto;border:1px solid var(--lm-line);border-radius:var(--lm-radius)}
.lm-table{width:100%;border-collapse:collapse;font-size:.93rem;background:var(--lm-surface)}
.lm-table th{text-align:left;font:600 .78rem var(--lm-font);color:var(--lm-muted);padding:.7rem .9rem;border-bottom:1px solid var(--lm-line);white-space:nowrap}
.lm-table td{padding:.75rem .9rem;border-bottom:1px solid var(--lm-line);vertical-align:middle}
.lm-table tr:last-child td{border-bottom:0}
.lm-table select{min-height:36px;width:auto;padding:.3rem .5rem}
@media (max-width:640px){
  .lm-table thead{position:absolute;left:-9999px}
  .lm-table tr{display:grid;gap:.35rem;padding:.85rem;border-bottom:1px solid var(--lm-line)}
  .lm-table td{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:.5rem;padding:0;border:0}
  .lm-table td::before{content:attr(data-label);font-size:.76rem;color:var(--lm-muted)}
  .lm-table td[data-label=""]::before{content:none}.lm-table td[data-label=""]{grid-template-columns:1fr}
}
.lm-toolbar{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center}
.lm-toolbar input,.lm-toolbar select{max-width:18rem;min-height:40px}
.lm-toolbar select{width:auto}
.lm-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(15rem,1fr);gap:.75rem;overflow-x:auto;padding-bottom:.5rem;scroll-snap-type:x proximity}
.lm-board__col{background:var(--lm-bg-soft);border-radius:var(--lm-radius);padding:.75rem;display:grid;gap:.5rem;align-content:start;scroll-snap-align:start;min-height:8rem}
.lm-board__col h2{margin:0;font:700 .85rem var(--lm-font);display:flex;justify-content:space-between}
.lm-board__col h2 span{font-family:var(--lm-mono);color:var(--lm-muted)}
.lm-leadcard{display:grid;gap:.2rem;padding:.75rem;border-radius:var(--lm-radius-sm);background:var(--lm-surface);border:1px solid var(--lm-line);color:var(--lm-text);text-decoration:none;font-size:.88rem}
a.lm-leadcard:hover{border-color:var(--lm-accent)}
a.lm-leadcard span{color:var(--lm-muted)}a.lm-leadcard .lm-pill{justify-self:start;color:var(--lm-link)}
.lm-thread{display:grid;gap:.6rem;max-height:60vh;overflow:auto;padding:1rem;border:1px solid var(--lm-line);border-radius:var(--lm-radius);background:var(--lm-bg-soft)}
.lm-msg{max-width:min(36rem,88%);padding:.7rem .9rem;border-radius:var(--lm-radius);background:var(--lm-surface);border:1px solid var(--lm-line)}
.lm-msg p{margin:0;overflow-wrap:anywhere}
.lm-msg.is-mine{justify-self:end;background:var(--lm-accent-soft);border-color:transparent}
.lm-msg__meta{font-size:.74rem;color:var(--lm-muted);margin-bottom:.2rem!important}
.lm-note{border-top:1px solid var(--lm-line);padding-top:.6rem}.lm-note p{margin:0}
.lm-history,.lm-notifs{list-style:none;margin:0;padding:0;display:grid;gap:.4rem;font-size:.9rem}
.lm-history li,.lm-notifs li{display:flex;justify-content:space-between;gap:1rem}
.lm-history span,.lm-notifs span{color:var(--lm-muted);font-size:.8rem;white-space:nowrap}
.lm-notifs li.is-unread a{font-weight:700}
.lm-planpick{display:grid;gap:.5rem}
.lm-planpick__item{display:flex;gap:.75rem;padding:.85rem 1rem;border:1.5px solid var(--lm-line);border-radius:var(--lm-radius-sm);cursor:pointer}
.lm-planpick__item:has(input:checked){border-color:var(--lm-accent);background:var(--lm-accent-soft)}
.lm-planpick__item input{accent-color:var(--lm-accent);margin-top:.25rem}
.lm-planpick__item small{color:var(--lm-muted)}
.lm-cardbox{border:1.5px solid var(--lm-line);border-radius:var(--lm-radius-sm);padding:1rem;display:grid;gap:1rem;margin:0;min-width:0}
.lm-cardbox legend{font-weight:700;padding:0 .4rem}
meter{width:5rem;height:.6rem;vertical-align:middle}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* State pages (Import\GeoPages) */
.lm-geo-summary{margin:1.5rem 0}
.lm-geo-links{display:grid;gap:2rem;margin-top:3rem}
.lm-geo-links__group h2{font:700 1.2rem/1.3 var(--lm-display);margin:0 0 .85rem}
.lm-geo-links__group p{margin:.85rem 0 0}
.lm-geo-links__states{border:1px solid var(--lm-line);border-radius:var(--lm-radius-sm);background:var(--lm-surface)}
.lm-geo-links__states summary{cursor:pointer;padding:1rem 1.15rem;font-weight:600;min-height:44px}
.lm-geo-links__states .lm-tiles{padding:0 1.15rem 1.15rem}

/* Audit fixes (rendered 320–1440, light and dark) */
.lm-contact a,.lm-panel,.lm-spec__list dd,.lm-msg p,.lm-note p{overflow-wrap:anywhere}
/* Tables keep words, amounts and dates whole; a wide table scrolls inside .lm-tablewrap instead. */
.lm-table td{overflow-wrap:break-word}
.lm-table .lm-btn,.lm-table .lm-pill{white-space:nowrap}
.lm-app{min-height:60vh;align-content:start}
.lm-panel,.lm-detail__side>*{min-width:0}
/* Single-column grids must be allowed to shrink below their content's min-content width (phones). */
.lm-wizard,.lm-matches,.lm-matchrow,.lm-form,.lm-results,.lm-app__main,.lm-detail__main,.lm-detail__side,.lm-pricing,.lm-auth,.lm-filters{grid-template-columns:minmax(0,1fr)}
.lm-wizard>*,.lm-matches>*,.lm-matchrow>*,.lm-results>*,.lm-app__main>*{min-width:0}
.lm-progress li{overflow:hidden}
.lm-card__by,.lm-card__by a,.lm-chips li{overflow-wrap:anywhere;min-width:0}
/* Cell grids: borders instead of a coloured gap, so an incomplete last row never shows as a grey block. */
.lm-stats,.lm-metrics,.lm-spec__list{gap:0;background:var(--lm-surface)}
.lm-stats>div,.lm-metrics>div,.lm-spec__list>div{border-right:1px solid var(--lm-line);border-bottom:1px solid var(--lm-line);margin:0 -1px -1px 0}
@media (max-width:560px){.lm-submitbar{padding:.75rem}.lm-consent{font-size:.8rem;line-height:1.4}}
/* Dashboard polish found by rendering the lender views */
.lm-app__main h2{font:700 1.15rem/1.3 var(--lm-display);margin:.5rem 0 0}
.lm-app__main>.lm-segment,.lm-toolbar>.lm-segment{justify-self:start}
.lm-stats dd{font-size:1.05rem}

/* Deal Room */
.lm-room{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,24rem),1fr))}
.lm-roomcard.is-featured{border:2px solid var(--lm-accent);box-shadow:inset 0 6px 0 var(--lm-accent-soft)}
.lm-roomcard .lm-card__head{grid-template-columns:minmax(0,1fr)}
.lm-roomcard .lm-why form{padding-top:.75rem}

/* Share & Grow */
.lm-share{display:grid;gap:.4rem;margin:.75rem 0}
.lm-share__label{margin:0;font:600 .9rem var(--lm-font)}
.lm-share__row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.lm-share__row input{flex:1 1 14rem;min-width:0;min-height:40px;padding:.4rem .6rem;border:1.5px solid var(--lm-line);border-radius:var(--lm-radius-sm);background:var(--lm-bg-soft);color:var(--lm-text);font:500 .82rem var(--lm-mono)}
.lm-code{font:500 .78rem/1.5 var(--lm-mono)!important;background:var(--lm-bg-soft)!important}
.lm-form--card>.lm-btn,.lm-why>.lm-btn{justify-self:start}

/* Earned badge + request a lender */
.lm-badge--earned{border-color:transparent;background:var(--lm-accent-soft);color:var(--lm-link)}
.lm-demand{margin-top:1rem}
.lm-demand h3{margin:0;font:700 1.1rem var(--lm-display)}

.lm-toolbar__check{align-items:center;min-height:40px}
.lm-toolbar__check input{margin-top:0}

/* Design pass: fewer boxes, no orphaned grid cells, shorter phone pages */
.lm-benefits{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:2rem 2.5rem}
.lm-benefits li{border:0;border-top:2px solid var(--lm-accent);border-radius:0;background:none;padding:1rem 0 0}
@media (min-width:900px){.lm-benefits{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:599px){.lm-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.lm-tile{min-height:48px;padding:.6rem .75rem;font-size:.88rem}}
@media (min-width:900px){.lmt-section .lm-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}

/* Password show/hide + hint */
.lm-pw{position:relative;display:block}
.lm-pw input{padding-right:4.25rem!important}
.lm-pw__toggle{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);min-height:34px;padding:0 .6rem;border:0;border-radius:6px;background:transparent;color:var(--lm-link);font:600 .85rem var(--lm-font);cursor:pointer}
.lm-pw__hint.is-ok{color:var(--lm-link)}

/* Symmetry pass: rows of fields share one label line, one control line and one help line; two balanced columns;
   a lone last field spans the row; no stretched controls. */
.lm-field{align-content:start}
.lm-form__grid,.lm-wizard__fields,.lm-form__cols,.lm-hero-form__row{align-items:start}
.lm-form__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:639px){.lm-form__grid{grid-template-columns:minmax(0,1fr)}}
.lm-form__grid>.lm-field--multi,.lm-form__grid>.lm-field:has(textarea),.lm-wizard__fields>.lm-field--multi,.lm-wizard__fields>.lm-field:has(textarea),.lm-field.is-wide{grid-column:1/-1}
fieldset.lm-form--card,fieldset.lm-field,fieldset.lm-cardbox{margin-inline:0;min-inline-size:0}
@supports (grid-template-rows:subgrid){
  .lm-form__grid>.lm-field:not(.lm-field--multi),.lm-wizard__fields>.lm-field:not(.lm-field--multi),.lm-form__cols>.lm-field,.lm-hero-form__row>.lm-field{grid-row:span 3;grid-template-rows:subgrid;row-gap:.35rem}
  .lm-form__grid>.lm-field>.lm-field__label,.lm-wizard__fields>.lm-field>.lm-field__label,.lm-form__cols>.lm-field>.lm-field__label,.lm-hero-form__row>.lm-field>.lm-field__label{align-self:end}
  .lm-form__grid>.lm-check.lm-field,.lm-wizard__fields>.lm-check.lm-field{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:.6rem}
  .lm-form__grid>.lm-check.lm-field>*,.lm-wizard__fields>.lm-check.lm-field>*{grid-row:2;align-self:center;margin-top:0}
}
.lm-toolbar>*,.lm-share__row>*{min-height:40px}
.lm-toolbar .lm-segment{min-height:40px;padding:2px}
.lm-toolbar .lm-segment span{padding:.4rem .9rem}
.lm-toolbar input,.lm-toolbar select{height:40px;min-height:40px;padding-block:0;width:13rem;max-width:100%}

/* Listing notice: readable, not fine print hidden in grey */
.lm-disclaimer--listing{grid-column:1/-1;max-width:none;margin-top:1.5rem;padding:1rem 1.15rem;border:1px solid var(--lm-line);border-left:4px solid var(--lm-accent);border-radius:var(--lm-radius-sm);background:var(--lm-bg-soft);color:var(--lm-text);font-size:.84rem;line-height:1.6}
.lm-disclaimer--listing p{margin:0 0 .5rem;max-width:none}.lm-disclaimer--listing p:last-child{margin:0}
.lm-disclaimer--listing a{font-weight:600}

/* Micro-interactions (pointer devices only; removed by the reduced-motion rule above) */
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .lm-btn{transition:transform .16s ease,box-shadow .16s ease,background-color .15s,border-color .15s,color .15s}
  .lm-btn--primary:hover{transform:translateY(-1px);box-shadow:0 8px 18px color-mix(in srgb,var(--lm-accent) 30%,transparent)}
  .lm-btn--ghost:hover{transform:translateY(-1px)}
  .lm-btn:active{transform:none;box-shadow:none}
  .lm-card{transition:transform .2s ease,border-color .15s,box-shadow .2s ease}
  .lm-card:hover{transform:translateY(-3px)}
  .lm-tile{transition:transform .16s ease,border-color .15s,color .15s}
  .lm-tile:hover{transform:translateY(-2px)}
  /* The hover arrow is positioned, not inline: inline, its invisible width pushed labels such as "Accounts Receivable" onto two lines. */
  .lm-tile{position:relative}
  .lm-tile span::after{content:"\2192";position:absolute;right:.7rem;top:50%;opacity:0;transform:translate(-4px,-50%);transition:opacity .16s,transform .16s}
  .lm-tile:hover span::after{opacity:1;transform:translate(0,-50%)}
  .lm-tile:hover{padding-right:1.9rem}
  .lm-save{transition:border-color .15s,color .15s,transform .16s}.lm-save:hover{transform:translateY(-1px)}
}
@keyframes lm-fade{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
.lm-faq details[open] .lm-faq__a{animation:lm-fade .28s ease both}
.lm-faq summary::after{transition:transform .2s ease}
.lm-faq details[open] summary::after{transform:rotate(180deg)}
.lm-save[aria-pressed="true"] .lm-save__icon{animation:lm-pop .3s ease}
@keyframes lm-pop{50%{transform:scale(1.3)}}

/* Usability scan fixes: nothing below 12px, comfortable line lengths on wide screens, heading levels without jumps */
.lm-badge,.lm-matchcard__tag,.lm-msg__meta,.lm-pill{font-size:.75rem}
.lm-disclaimer--listing p,.lm-callout p,.lm-prose p,.lm-app__main>p,.lm-field__help,.lm-form--card>p{max-width:72ch}
.lm-why h3{margin:0 0 .4rem;font:700 .85rem var(--lm-font)}
.lm-why__col.is-yes h3{color:var(--lm-link)}.lm-why__col.is-no h3{color:var(--lm-error)}
[class*="lm-"] select:focus-visible,[class*="lm-"] input:focus-visible,[class*="lm-"] textarea:focus-visible{outline:3px solid var(--lm-focus);outline-offset:2px;border-radius:6px}

/* Checkboxes and radios inside fields: the general ".lm-field input" sizing (44px tall, padded, full width) was leaking onto
   them, so every box sat lower than its label (most visible in the long state lists). */
.lm-check input[type="checkbox"],.lm-check input[type="radio"],.lm-field .lm-check input,.lm-multi input[type="checkbox"]{width:1.15rem;height:1.15rem;min-height:0;padding:0;margin:.17rem 0 0;border-radius:4px;flex:none}
.lm-check{align-items:flex-start}
.lm-multi{align-items:start}

/* The send bar used to be sticky. Once it carried the consent text, the Deal Room option and (for guests) the account
   form, it covered most of a phone screen and hid the matches behind it. It now sits in the flow, after the matches. */
.lm-submitbar{position:static;bottom:auto;margin-top:1.5rem}
.lm-submitbar .lm-gate{text-align:left}
.lm-submitbar .lm-gate h3{margin:0 0 .25rem}
.lm-field__help .lm-link,.lm-gate .lm-link,.lm-field__help a{display:inline-block;min-height:24px;padding-block:.2rem}

.lm-sendchip{position:fixed;left:50%;bottom:calc(1rem + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:50;display:inline-flex;align-items:center;min-height:44px;padding:0 1.1rem;border-radius:999px;background:var(--lm-accent);color:var(--lm-accent-ink);font:700 .9rem var(--lm-font);text-decoration:none;box-shadow:var(--lm-shadow-lg);white-space:nowrap}
.lm-sendchip[hidden]{display:none}

/* Phones: the current step's name was squeezed into a fifth of the width and cut off ("What yo…"). The card right below
   already says "Step 2 of 5" and the step title, so on narrow screens the bar is just the bar (names stay for screen readers). */
@media (max-width:560px){.lm-progress li span,.lm-progress li[aria-current] span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;visibility:visible}.lm-progress li{padding-top:0}.lm-progress{margin-bottom:.25rem}}

/* State directory: 50 tiles divide evenly into five columns (desktop) and two (phones), so no row is left half empty */
@media (min-width:900px){.lm-tiles.lm-tiles--states,.lmt-section .lm-tiles.lm-tiles--states{grid-template-columns:repeat(5,minmax(0,1fr))}}

/* Tables written by hand in page content (cookie lists, editor tables) have no data-label attributes, so the phone
   "stacked card" layout left an empty label column and pushed stray punctuation into it. Cells without a label stack
   cleanly instead: first cell as the row's heading, the rest underneath. */
@media (max-width:640px){
  .lm-table td:not([data-label]){display:block}
  .lm-table td:not([data-label])::before{content:none}
  .lm-table tr>td:not([data-label]):first-child{font-weight:700;color:var(--lm-text)}
  .lm-table tr>td:not([data-label])+td:not([data-label]){margin-top:.35rem;color:var(--lm-muted)}
}

/* Pricing: a one-line trial offer above three plans */
.lm-pricing__trial{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 1.5rem;margin:0 0 1.5rem;padding:1rem 1.25rem;border:1px solid var(--lm-line);border-left:4px solid var(--lm-accent);border-radius:var(--lm-radius);background:var(--lm-bg-soft)}
.lm-pricing__trial p{margin:0;flex:1 1 22rem;max-width:none}
.lm-pricing__grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}

/* Buttons keep their label on one line; only full-width buttons with long labels may wrap */
.lm-btn{white-space:nowrap}.lm-btn--block{white-space:normal}
@media (max-width:599px){.lm-tile{padding-inline:.65rem}}

/* Compare ticked programs */
.lm-compare__bar{margin:.25rem 0 1rem}
.lm-compare{margin:0 0 1.5rem}
.lm-compare__table th[scope="row"]{white-space:nowrap;color:var(--lm-muted);font-weight:600}
.lm-compare__table thead th{vertical-align:top;min-width:11rem}
@media (max-width:640px){.lm-compare .lm-table,.lm-compare .lm-table thead,.lm-compare .lm-table tbody,.lm-compare .lm-table tr{display:revert}.lm-compare .lm-table thead{position:static}.lm-compare .lm-table td,.lm-compare .lm-table th{display:table-cell;padding:.6rem .7rem;border-bottom:1px solid var(--lm-line)}.lm-compare .lm-table tr{padding:0;border:0}.lm-compare .lm-table{min-width:34rem}}

/* Bulk actions, saved replies, follow-up prompts */
.lm-bulk{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:0 0 .75rem;padding:.6rem .85rem;border:1px solid var(--lm-line);border-radius:var(--lm-radius-sm);background:var(--lm-bg-soft);font:600 .9rem var(--lm-font)}
.lm-bulk select{min-height:36px;padding:.25rem .5rem;border:1.5px solid var(--lm-line);border-radius:var(--lm-radius-sm);background:var(--lm-surface);color:var(--lm-text)}
.lm-table td>input[type="checkbox"]{width:1.15rem;height:1.15rem}
.lm-replies{display:flex;flex-wrap:wrap;align-items:end;gap:.6rem;margin-bottom:.5rem}.lm-replies .lm-field{flex:1 1 14rem;margin:0}
.lm-follow__answers{display:flex;flex-wrap:wrap;gap:.5rem}

/* Spacing pass: nothing that can be read or pressed touches its neighbour.
   .lm-actions is the one pattern for a row of buttons and links; block containers that hold mixed content get a vertical rhythm. */
.lm-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem}
.lm-gate{display:grid;gap:1.15rem;text-align:left}
.lm-gate h3,.lm-gate>p{margin:0}
.lm-gate .lm-check{margin-top:.35rem}
.lm-gate .lm-btn--block{margin-top:.35rem}
.lm-gate__alt{justify-content:space-between;padding-top:.25rem;font-size:.92rem;color:var(--lm-muted)}
.lm-callout:not(form)>*+*,details.lm-why>*+*,.lm-panel>*+*,.lm-empty>*+*{margin-top:.9rem}
.lm-callout>h2+p,.lm-callout>h3+p{margin-top:.4rem}
.lm-form .lm-check+.lm-check{margin-top:.15rem}
.lm-form>.lm-check+.lm-btn,.lm-form>.lm-field+.lm-btn,.lm-form>.lm-field__help+.lm-btn,.lm-form--card>.lm-btn{margin-top:.35rem}
.lm-field__help a,.lm-field__help .lm-link,.lm-disclaimer a{margin-inline:.1rem}
.lm-auth__links{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;margin-top:1.25rem}
.lm-submitbar{gap:1.15rem}
.lm-submitbar .lm-wizard__nav{margin-top:.5rem}
/* Row actions in tables: buttons keep their distance side by side and when they wrap; forms opened inside a row get room */
.lm-table td .lm-btn,.lm-table td .lm-pill+.lm-btn{margin:.3rem .6rem .3rem 0}
.lm-table td .lm-btn:last-child{margin-right:0}
.lm-table td>.lm-callout,.lm-table td>form{margin-top:1rem}
.lm-table td>form+.lm-callout,.lm-table td>.lm-callout+form{margin-top:1rem}
