/*
 * LOOPFELLA V2 MASTER STYLESHEET
 * Updated: 2026-09-06 Pacific
 * Current scope: V2 homepage and integrated V2 Materials directory.
 * Page rules stay body-scoped so unfinished and legacy pages are unaffected.
 */

/* =========================================================
   00. TOKENS AND RESET
   ========================================================= */
:root {
  /* Shared WCAG-oriented text hierarchy for every dark LoopFella workspace. */
  --lf-contrast-primary: #f4faf7;
  --lf-contrast-secondary: #c2d3cd;
  --lf-contrast-muted: #9fb5ae;
  --lf-contrast-accent: #8fea76;
  --lf-contrast-warning: #ffd08a;
  --lf-contrast-danger: #ffd9d5;
  --lf-contrast-field-placeholder: #8da39c;
  /* Brand orange remains #f57a00 for accents. Buttons use a deeper orange so white text passes contrast. */
  --lf-action-orange: #bd4f00;
  --lf-action-orange-hover: #a94200;
  --lf-on-action-orange: #fff;
}

body.loopv2-home {
  --green: #2f8129;
  --green-2: #54ad36;
  --green-dark: #155c1b;
  --orange: #f57a00;
  --ink: #142027;
  --muted: #627078;
  --line: #dce6dc;
  --paper: #f5f8f5;
  --white: #fff;
  --shadow: 0 8px 24px rgba(20, 47, 27, .09);
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  background: #091619;
  color: var(--ink);
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.5;
  overflow-x: hidden;
}

body.loopv2-home *,
body.loopv2-home *::before,
body.loopv2-home *::after { box-sizing: border-box; }

.loopv2-home a { color: inherit; text-decoration: none; }
.loopv2-home img { max-width: 100%; }
.loopv2-home button,
.loopv2-home input,
.loopv2-home select,
.loopv2-home textarea { font: inherit; }
.loopv2-home svg { width: 20px; height: 20px; stroke-width: 2; }

.loopv2-home .demo-shell {
  width: min(1320px, calc(100% - 48px));
  margin-inline: auto;
}

.loopv2-home .loopv2-skip {
  position: fixed;
  top: 8px;
  left: 50%;
  z-index: 100000;
  padding: 10px 18px;
  transform: translate(-50%, -160%);
  border-radius: 7px;
  background: #fff;
  color: var(--green-dark);
  font-weight: 800;
  transition: transform .18s ease;
}
.loopv2-home .loopv2-skip:focus { transform: translate(-50%, 0); }

/* =========================================================
   01. ORIGINAL V2 HEADER
   ========================================================= */
.loopv2-home .site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  background: #09191d;
  color: #fff;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .18);
}

.loopv2-home .site-nav {
  height: 72px;
  display: grid;
  grid-template-columns: 230px 1fr 280px;
  align-items: center;
  gap: 20px;
}

.loopv2-home .demo-brand {
  width: 220px;
  height: 66px;
  display: flex;
  align-items: center;
}
.loopv2-home .demo-brand img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  object-position: left center;
}

.loopv2-home .site-nav-links {
  display: flex;
  justify-content: center;
  gap: 28px;
  font-size: 14px;
  font-weight: 800;
}
.loopv2-home .site-nav-links a {
  height: 72px;
  display: flex;
  align-items: center;
  border-bottom: 3px solid transparent;
}
.loopv2-home .site-nav-links a:hover,
.loopv2-home .site-nav-links a:focus-visible {
  color: #7cdb52;
  border-bottom-color: #62bd42;
}

.loopv2-home .site-nav-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 22px;
  color: #fff;
  font-size: 14px;
  font-weight: 800;
}
.loopv2-home .site-nav-actions > a { white-space: nowrap; }

/* =========================================================
   01B. HEADER — MAP SERVICE STATUS
   Green: primary server. Orange: backup server. Red: unavailable.
   ========================================================= */
.loopv2 .loopv2-map-status {
  position: relative;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 7px;
  height: 7px;
}
.loopv2 .loopv2-map-status-dot {
  display: block;
  width: 7px;
  height: 7px;
  border: 0;
  border-radius: 50%;
  background: #39bd32;
  box-shadow: none;
}
.loopv2 .loopv2-map-status.is-backup .loopv2-map-status-dot {
  background: #f28a18;
  box-shadow: none;
}
.loopv2 .loopv2-map-status.is-down .loopv2-map-status-dot {
  background: #d94a43;
  box-shadow: none;
}

/* =========================================================
   01A. SESSION-EXPIRED NOTICE
   Appears only after the existing reason=timeout redirect.
   ========================================================= */
.loopv2-home .loopv2-session-notice {
  position: relative;
  z-index: 20;
  border-top: 1px solid rgba(120, 220, 76, .35);
  border-bottom: 1px solid rgba(120, 220, 76, .35);
  background: #102b28;
  color: #fff;
}

.loopv2-home .loopv2-session-notice-inner {
  min-height: 70px;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto 36px;
  align-items: center;
  gap: 14px;
}

.loopv2-home .loopv2-session-notice-icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(112, 209, 77, .16);
  color: #78dc4c;
}

.loopv2-home .loopv2-session-notice strong { display: block; font-size: 15px; }
.loopv2-home .loopv2-session-notice p { margin: 2px 0 0; color: #c5d5ce; font-size: 12px; }

.loopv2-home .loopv2-session-login {
  padding: 9px 15px;
  border: 1px solid #64a858;
  border-radius: 6px;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}
.loopv2-home .loopv2-session-login:hover,
.loopv2-home .loopv2-session-login:focus-visible {
  border-color: #78dc4c;
  background: rgba(112, 209, 77, .14);
  color: #91ed70;
}

.loopv2-home .loopv2-session-dismiss {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #c5d5ce;
}
.loopv2-home .loopv2-session-dismiss:hover,
.loopv2-home .loopv2-session-dismiss:focus-visible { background: rgba(255,255,255,.08); color: #fff; }

/* =========================================================
   02. BUTTONS
   ========================================================= */
.loopv2-home .demo-button,
.loopv2-home .demo-button-outline-dark {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 0 21px;
  border: 1px solid transparent;
  border-radius: 6px;
  font-weight: 800;
}
.loopv2-home .demo-button {
  color: #fff;
  background: linear-gradient(180deg, #4ca43b, #2e7e28);
  box-shadow: 0 5px 15px rgba(24, 98, 30, .2);
}
.loopv2-home .demo-button:hover,
.loopv2-home .demo-button:focus-visible {
  background: linear-gradient(180deg, #58b545, #2a7424);
}
.loopv2-home .demo-button-small { min-height: 40px; padding: 0 18px; }
.loopv2-home .demo-button-outline-dark { border-color: #64a858; color: #fff; background: transparent; }
.loopv2-home .demo-button-outline-dark:hover,
.loopv2-home .demo-button-outline-dark:focus-visible { border-color: #78dc4c; background: rgba(255,255,255,.07); }

/* =========================================================
   03. ORIGINAL V2 HOMEPAGE HERO
   ========================================================= */
.loopv2-home > main {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
  background: #091619;
}

.loopv2-home .page-hero {
  padding: 48px 0;
  color: #fff;
  background:
    linear-gradient(90deg, rgba(4, 18, 22, .95), rgba(4, 18, 22, .42)),
    url('/assets/hero-contractors.jpg') center 52% / cover no-repeat;
}
.loopv2-home .home-hero { position: relative; min-height: 590px; flex: 1 0 auto; overflow: hidden; }
.loopv2-home .home-hero .page-hero-grid { position: relative; z-index: 2; }
.loopv2-home .demo-hero-rotation-layer {
  position: absolute;
  inset: 0;
  z-index: 1;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 0;
  transition: opacity 1200ms ease;
}
.loopv2-home .demo-hero-rotation-layer.is-active { opacity: 1; }
.loopv2-home .page-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 46px 70px;
  align-items: center;
}
.loopv2-home .eyebrow {
  margin: 0 0 10px;
  color: #71d24b;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 2.5px;
  text-transform: uppercase;
}
.loopv2-home .page-hero h1 {
  max-width: 760px;
  margin: 0;
  font-size: clamp(42px, 4.1vw, 58px);
  letter-spacing: -.03em;
  line-height: 1.06;
}
.loopv2-home .page-hero h1 span { color: #61bd41; }
.loopv2-home .page-hero-copy > p:last-of-type {
  max-width: 620px;
  margin: 17px 0 24px;
  color: #e3ebe7;
  font-size: 17px;
  line-height: 1.55;
}

.loopv2-home .hero-proof {
  padding: 22px;
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: 8px;
  background: rgba(7, 16, 16, .76);
  backdrop-filter: blur(5px);
}
.loopv2-home .hero-proof div {
  display: flex;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .18);
}
.loopv2-home .hero-proof div:last-child { border-bottom: 0; }
.loopv2-home .hero-proof p { margin: 0; }
.loopv2-home .hero-proof svg { flex: 0 0 20px; color: #66ce3f; }
.loopv2-home .hero-proof strong,
.loopv2-home .hero-proof span { display: block; }
.loopv2-home .hero-proof strong { font-size: 18px; }
.loopv2-home .hero-proof span { margin-top: 3px; color: #d4dfda; font-size: 11px; }

/* The four search cards are part of the original hero markup. */
.loopv2-home .hero-path-grid {
  width: 100%;
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 8px;
}
.loopv2-home .hero-path-grid > a {
  position: relative;
  min-height: 184px;
  display: block;
  padding: 24px 22px 19px;
  border: 1px solid rgba(112, 202, 80, .3);
  border-radius: 7px;
  background: rgba(8, 25, 23, .84);
  color: #fff;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .22);
  backdrop-filter: blur(4px);
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}
.loopv2-home .hero-path-grid > a:hover,
.loopv2-home .hero-path-grid > a:focus-visible {
  border-color: #73d34e;
  background: rgba(17, 65, 25, .92);
  box-shadow: 0 12px 25px rgba(0, 0, 0, .18);
  transform: translateY(-2px);
}
.loopv2-home .hero-path-grid > a > svg:first-child {
  width: 38px;
  height: 38px;
  margin-bottom: 15px;
  color: var(--green-2);
}
.loopv2-home .hero-path-grid b,
.loopv2-home .hero-path-grid small { display: block; }
.loopv2-home .hero-path-grid b { font-size: 18px; }
.loopv2-home .hero-path-grid small {
  min-height: 42px;
  margin-top: 8px;
  color: #cbd8d2;
  font-size: 12px;
  line-height: 1.4;
}
.loopv2-home .hero-path-grid em {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 14px;
  color: #72d34f;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}
.loopv2-home .hero-path-grid em svg { width: 13px; height: 13px; }
.loopv2-home .hero-path-stat {
  position: absolute;
  top: 20px;
  right: 18px;
  max-width: 112px;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  color: #d7e4de;
  font-size: 9px;
  line-height: 1.25;
  text-align: right;
  text-transform: uppercase;
}
.loopv2-home .hero-path-stat strong {
  color: #fff;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .01em;
  text-transform: none;
}
.loopv2-home .hero-path-stat span { margin-top: 2px; color: #aebfba; }

/* Live events carousel in the hero's right-hand feature panel. */
.loopv2-home .home-events-carousel {
  width: 100%;
  min-width: 0;
  min-height: 336px;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  grid-column: 2;
  grid-row: 1;
  overflow: hidden;
  border: 1px solid rgba(112, 202, 80, .34);
  border-radius: 7px;
  background: rgba(6, 25, 23, .91);
  box-shadow: 0 10px 24px rgba(0, 0, 0, .24);
  backdrop-filter: blur(6px);
}
.loopv2-home .home-events-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 11px 12px;
  border-bottom: 1px solid rgba(255, 255, 255, .12);
  background: rgba(13, 48, 42, .88);
}
.loopv2-home .home-events-header p {
  margin: 0 0 1px;
  color: var(--green-2);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 1.35px;
  text-transform: uppercase;
}
.loopv2-home .home-events-header h2 { margin: 0; color: #fff; font-size: 16px; line-height: 1.15; }
.loopv2-home .home-events-actions { display: flex; align-items: center; gap: 5px; margin-top: 0; }
.loopv2-home .home-events-actions > a {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-right: 2px;
  color: #74d854;
  font-size: 10px;
  font-weight: 900;
  text-decoration: none;
}
.loopv2-home .home-events-actions > a:hover,
.loopv2-home .home-events-actions > a:focus-visible { color: #fff; }
.loopv2-home .home-events-actions > a svg { width: 12px; height: 12px; }
.loopv2-home .home-events-actions > button {
  width: 30px;
  height: 30px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(112, 202, 80, .42);
  border-radius: 6px;
  background: #0a2925;
  color: #fff;
  cursor: pointer;
}
.loopv2-home .home-events-actions > button:hover,
.loopv2-home .home-events-actions > button:focus-visible { border-color: #73d34e; background: #174c2d; }
.loopv2-home .home-events-actions > button svg { width: 16px; height: 16px; }
.loopv2-home .home-events-viewport { width: 100%; flex: 1; display: flex; overflow: hidden; }
.loopv2-home .home-events-track {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  flex: 0 0 100%;
  display: flex;
  transform: translate3d(0, 0, 0);
  transition: transform 520ms cubic-bezier(.22, .8, .25, 1);
  will-change: transform;
}
.loopv2-home .home-event-slide {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  flex: 0 0 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 18px 16px 16px;
  box-sizing: border-box;
}
.loopv2-home .home-event-date {
  align-self: auto;
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 8px;
  padding: 0 0 13px;
  border-bottom: 1px solid rgba(255, 255, 255, .13);
  color: #fff;
}
.loopv2-home .home-event-date span {
  margin-bottom: 0;
  color: var(--green-2);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}
.loopv2-home .home-event-date strong { min-width: 0; font-size: 15px; line-height: 1.2; }
.loopv2-home .home-event-copy { width: 100%; min-width: 0; max-width: 100%; margin-top: 15px; margin-bottom: 18px; overflow: hidden; }
.loopv2-home .home-event-copy p {
  display: block;
  max-width: 100%;
  overflow: visible;
  margin: 0 0 8px;
  color: #7ddd61;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 1.1px;
  text-transform: uppercase;
  overflow-wrap: anywhere;
  white-space: normal;
}
.loopv2-home .home-event-copy h3 {
  display: block;
  max-width: 100%;
  overflow: visible;
  margin: 0;
  color: #f4d35e;
  font-size: 18px;
  line-height: 1.24;
  white-space: normal;
  overflow-wrap: anywhere;
}
.loopv2-home .home-event-copy > span {
  display: flex;
  align-items: center;
  gap: 6px;
  overflow: hidden;
  margin-top: 11px;
  color: #cbd8d2;
  font-size: 12px;
  line-height: 1.35;
  white-space: normal;
  overflow-wrap: anywhere;
}
.loopv2-home .home-event-copy > span svg { width: 14px; height: 14px; flex: 0 0 14px; color: var(--green-2); }
.loopv2-home .home-event-copy > span > span { min-width: 0; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.loopv2-home .home-event-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 11px 15px;
  border: 1px solid rgba(112, 202, 80, .45);
  border-radius: 6px;
  background: rgba(33, 115, 45, .42);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
  align-self: flex-start;
  margin-top: auto;
  white-space: nowrap;
}
.loopv2-home .home-event-link:hover,
.loopv2-home .home-event-link:focus-visible { border-color: #77dc54; background: #2e9d32; }
.loopv2-home .home-event-link svg { width: 14px; height: 14px; }
.loopv2-home .home-events-footer { min-height: 18px; display: flex; justify-content: center; align-items: center; gap: 9px; padding: 0 16px 14px; }
.loopv2-home .home-events-dots { display: flex; align-items: center; gap: 6px; }
.loopv2-home .home-events-dots button {
  width: 12px;
  height: 4px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, .28);
  cursor: pointer;
  transition: width 180ms ease, background 180ms ease;
}
.loopv2-home .home-events-dots button[aria-current="true"] { width: 24px; background: var(--green-2); }
.loopv2-home .home-events-count {
  min-width: 42px;
  margin: 0;
  color: #b9cbc5;
  font-size: 10px;
  font-weight: 800;
  text-align: right;
}
.loopv2-home .home-events-count span { color: #fff; }
.loopv2-home .loopv2-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
}

/* =========================================================
   04. ORIGINAL V2 PROMOTION ROW
   ========================================================= */
.loopv2-home .home-promos {
  flex: 0 0 auto;
  padding: 26px 0;
  border-top: 1px solid rgba(102, 190, 70, .22);
  background: #0d1c1f;
}
.loopv2-home .promo-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.loopv2-home .promo-card {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px;
  border: 1px solid rgba(102, 190, 70, .25);
  border-radius: 7px;
  background: rgba(8, 25, 23, .88);
  color: #fff;
  box-shadow: 0 8px 20px rgba(0, 0, 0, .2);
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease, box-shadow 160ms ease;
}
.loopv2-home .promo-card:hover,
.loopv2-home .promo-card:focus-visible {
  border-color: #76df51;
  background: #174d27;
  box-shadow: 0 12px 26px rgba(32, 145, 48, .28), inset 0 0 0 1px rgba(126, 232, 89, .22);
  transform: translateY(-3px);
}
.loopv2-home .promo-card > svg { flex: 0 0 20px; color: var(--green-2); }
.loopv2-home .promo-card p { margin: 0; }
.loopv2-home .promo-card strong,
.loopv2-home .promo-card span { display: block; }
.loopv2-home .promo-card strong { font-size: 14px; }
.loopv2-home .promo-card span { margin-top: 5px; color: #b9c7c1; font-size: 11px; }
.loopv2-home .promo-card em {
  position: absolute;
  top: -8px;
  right: 16px;
  padding: 3px 9px;
  border: 1px solid #62b94a;
  border-radius: 4px;
  background: #122b1b;
  color: #78d35a;
  font-size: 9px;
  font-style: normal;
  font-weight: 900;
  text-transform: uppercase;
}

/* =========================================================
   05. ORIGINAL V2 FOOTER
   ========================================================= */
.loopv2-home .demo-footer { color: #fff; background: #091619; }
.loopv2-home .demo-footer-main {
  min-height: 105px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}
.loopv2-home .demo-footer-statement { display: flex; align-items: center; gap: 18px; }
.loopv2-home .demo-brand-mark {
  width: 39px;
  height: 39px;
  flex: 0 0 39px;
  border: 4px solid #f57a00;
  border-top-color: #78dc4c;
  border-right-color: #36842d;
  border-radius: 50%;
  box-shadow: inset 0 0 0 2px rgba(84, 173, 54, .3);
}
.loopv2-home .demo-footer-statement p {
  margin: 0;
  padding-left: 18px;
  border-left: 1px solid #536165;
  font-size: 19px;
  font-weight: 800;
}
.loopv2-home .demo-footer strong { color: var(--green-2); }
.loopv2-home .demo-footer-actions { display: flex; gap: 12px; }
.loopv2-home .demo-footer-bottom {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border-top: 1px solid #344247;
  color: #aab5b8;
  font-size: 11px;
}

/* =========================================================
   06. RESPONSIVE LAYOUT — NO HAMBURGER MENU
   ========================================================= */
@media (max-width: 1120px) {
  .loopv2-home .site-nav { grid-template-columns: 205px 1fr; }
  .loopv2-home .site-nav-links { justify-content: flex-end; gap: 18px; font-size: 12px; }
  .loopv2-home .site-nav-actions { display: none; }
  .loopv2-home .hero-path-grid,
  .loopv2-home .promo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .loopv2-home .page-hero-grid { grid-template-columns: 1fr 280px; gap: 35px; }
  .loopv2-home .home-events-actions > a { font-size: 0; }
}

@media (max-width: 760px) {
  .loopv2-home .demo-shell { width: min(100% - 28px, 1320px); }
  .loopv2-home .site-nav {
    height: auto;
    min-height: 112px;
    grid-template-columns: 1fr;
    gap: 0;
    padding-top: 4px;
  }
  .loopv2-home .demo-brand { width: 205px; height: 62px; justify-self: center; }
  .loopv2-home .demo-brand img { object-position: center; }
  .loopv2-home .site-nav-links {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    width: 100%;
    padding-bottom: 7px;
  }
  .loopv2-home .site-nav-links a {
    height: 36px;
    justify-content: center;
    border-bottom: 0;
    font-size: 11px;
  }
  .loopv2-home .page-hero { padding: 42px 0; }
  .loopv2-home .home-hero { min-height: 0; }
  .loopv2-home .page-hero-grid { grid-template-columns: 1fr; }
  .loopv2-home .page-hero h1 { font-size: 42px; }
  .loopv2-home .hero-proof { display: none; }
  .loopv2-home .hero-path-grid,
  .loopv2-home .promo-grid { grid-template-columns: 1fr; }
  .loopv2-home .hero-path-grid > a { min-height: 170px; }
  .loopv2-home .home-events-carousel { min-height: 336px; grid-column: 1; grid-row: auto; }
  .loopv2-home .home-events-header { align-items: flex-start; padding: 14px; }
  .loopv2-home .home-events-actions > a { display: none; }
  .loopv2-home .home-event-slide { min-height: 220px; grid-template-columns: 1fr auto; gap: 14px; padding: 18px; }
  .loopv2-home .home-event-date { grid-column: 1 / -1; align-self: auto; padding: 0 0 12px; border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, .13); }
  .loopv2-home .home-event-copy h3 { white-space: normal; }
  .loopv2-home .home-event-copy > span { white-space: normal; }
  .loopv2-home .home-event-link { align-self: end; padding: 10px 12px; }
  .loopv2-home .demo-footer-main { display: block; padding: 25px 0; }
  .loopv2-home .demo-footer-actions { margin-top: 22px; flex-wrap: wrap; }
  .loopv2-home .demo-footer-bottom { padding: 12px 0; }
  .loopv2-home .loopv2-session-notice-inner {
    min-height: 0;
    grid-template-columns: 36px minmax(0, 1fr) 32px;
    gap: 10px;
    padding-top: 12px;
    padding-bottom: 12px;
  }
  .loopv2-home .loopv2-session-notice-icon { width: 36px; height: 36px; }
  .loopv2-home .loopv2-session-login { grid-column: 2; justify-self: start; }
  .loopv2-home .loopv2-session-dismiss { grid-column: 3; grid-row: 1; }
}

@media (max-width: 430px) {
  .loopv2-home .page-hero h1 { font-size: 36px; }
  .loopv2-home .site-nav-links a { font-size: 10px; }
  .loopv2-home .demo-footer-statement { align-items: flex-start; }
  .loopv2-home .demo-footer-statement p { font-size: 16px; }
}

/* =========================================================
   07. ACCESSIBILITY AND PRINT
   ========================================================= */
.loopv2-home :focus-visible { outline: 3px solid #ffab45; outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
  .loopv2-home *,
  .loopv2-home *::before,
  .loopv2-home *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
  .loopv2-home .home-events-track { transition: none; }
}

@media print {
  .loopv2-home .site-header,
  .loopv2-home .home-promos,
  .loopv2-home .home-events-carousel,
  .loopv2-home .demo-footer { display: none !important; }
  .loopv2-home .page-hero { min-height: 0; background: #fff !important; color: #000 !important; }
  .loopv2-home .page-hero h1,
  .loopv2-home .page-hero h1 span,
  .loopv2-home .page-hero-copy > p:last-of-type { color: #000 !important; }
}

/* =========================================================
   12. CONTRACTOR AUDIENCE SELECTOR AND SEARCH
   Shared V2 shell; audience-specific controls remain distinct.
   ========================================================= */
.loopv2-contractors .filter-panel { max-width:1320px; }
.loopv2-contractors .contractor-search-heading { margin-bottom:22px; }
.loopv2-contractors .contractor-search-heading h2 { margin:4px 0 6px; color:#fff; font-size:clamp(25px,3vw,36px); }
.loopv2-contractors .contractor-search-heading>p:last-child { margin:0; color:#b7cbc6; }
.loopv2-contractors .contractor-v2-form { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:17px; align-items:end; }
.loopv2-contractors .contractor-company-form { grid-template-columns:minmax(280px,2fr) minmax(180px,.7fr) auto; }
.loopv2-contractors .contractor-field-wide { grid-column:span 2; }
.loopv2-contractors .contractor-field-full { grid-column:1/-1; }
.loopv2-contractors .contractor-search-divider { display:flex; align-items:center; gap:16px; margin:26px 0 21px; color:#91a8a2; font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.loopv2-contractors .contractor-search-divider:before,.loopv2-contractors .contractor-search-divider:after { content:""; height:1px; flex:1; background:rgba(255,255,255,.2); }
.loopv2-contractors .contractor-more-filters { overflow:hidden; border:1px solid rgba(81,207,56,.3); border-radius:10px; background:rgba(4,24,22,.55); }
.loopv2-contractors .contractor-more-filters>summary { display:flex; align-items:center; justify-content:space-between; padding:15px 17px; color:#fff; cursor:pointer; list-style:none; }
.loopv2-contractors .contractor-more-filters>summary::-webkit-details-marker { display:none; }
.loopv2-contractors .contractor-more-filters>summary>span { display:grid; grid-template-columns:24px auto 1fr; align-items:center; gap:9px; }
.loopv2-contractors .contractor-more-filters summary svg { color:var(--green-2); }
.loopv2-contractors .contractor-more-filters summary small { color:#96aaa5; }
.loopv2-contractors .contractor-more-body { display:grid; gap:15px; padding:17px; border-top:1px solid rgba(255,255,255,.12); }
.loopv2-contractors .contractor-code-grid { display:grid; grid-template-columns:1fr 1fr; gap:15px; }
.loopv2-contractors .contractor-option-block h3 { margin:0 0 10px; color:#fff; }
.loopv2-contractors .contractor-quick-filters { display:flex; flex-wrap:wrap; gap:12px 24px; }
.loopv2-contractors .contractor-quick-filters label,.loopv2-contractors .contractor-check-grid label { color:#d9e5e2; }
.loopv2-contractors .contractor-filter-group { border:1px solid rgba(255,255,255,.16); border-radius:8px; background:#092622; }
.loopv2-contractors .contractor-filter-group summary { padding:13px 15px; color:#fff; font-weight:800; cursor:pointer; }
.loopv2-contractors .contractor-check-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; max-height:230px; padding:0 15px 15px; overflow:auto; }
.loopv2-contractors .contractor-form-action { display:flex; justify-content:flex-end; }
.loopv2-contractors .contractor-trade-buttons { grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); }
.loopv2-contractors .contractor-trade-buttons button { padding:11px 13px; border:1px solid rgba(255,255,255,.18); border-radius:7px; color:#fff; background:#10312d; text-align:left; cursor:pointer; }
.loopv2-contractors .contractor-trade-buttons button:hover,.loopv2-contractors .contractor-trade-buttons button:focus-visible,.loopv2-contractors .contractor-trade-buttons button.is-selected { border-color:var(--green-2); background:#235f28; }
.loopv2-contractor-select .audience-section { flex:1; padding:48px 0 70px; }
.loopv2-contractor-select .audience-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.loopv2-contractor-select .audience-card { display:flex; min-height:300px; flex-direction:column; padding:28px; border:1px solid rgba(81,207,56,.28); border-radius:12px; color:#fff; background:#0c2e2a; transition:.18s ease; }
.loopv2-contractor-select .audience-card>svg { width:38px; height:38px; color:var(--green-2); }
.loopv2-contractor-select .audience-card h2 { margin:24px 0 8px; }
.loopv2-contractor-select .audience-card p { margin:0; color:#b8cbc6; line-height:1.6; }
.loopv2-contractor-select .audience-card>span { display:flex; align-items:center; gap:8px; margin-top:auto; padding-top:25px; color:#fff; font-weight:900; }
.loopv2-contractor-select .audience-card:hover,.loopv2-contractor-select .audience-card:focus-visible { border-color:var(--green-2); background:#174b32; transform:translateY(-3px); }
.loopv2-contractors .cont-map-modal { position:fixed; z-index:3000; inset:0; display:none; place-items:center; padding:24px; background:rgba(0,12,14,.86); }
.loopv2-contractors .cont-map-modal.is-open { display:grid; }
.loopv2-contractors .cont-map-modal-content { position:relative; width:min(1040px,94vw); padding:28px; border:1px solid var(--green-2); border-radius:14px; color:#fff; background:#0b302b; }
.loopv2-contractors .cont-map-modal-content h2 { margin:0 0 5px; }
.loopv2-contractors .cont-map-modal-content p { color:#bfd0cc; }
.loopv2-contractors #contractorMap { height:min(580px,58vh); margin:20px 0; border-radius:9px; }
.loopv2-contractors .cont-map-close { position:absolute; top:18px; right:18px; width:42px; height:42px; border:1px solid rgba(255,255,255,.3); border-radius:50%; color:#fff; background:none; font-size:28px; cursor:pointer; }
.loopv2-contractors .cont-button { float:right; min-height:48px; padding:0 22px; border:0; border-radius:7px; color:#fff; background:#38a92f; font-weight:900; cursor:pointer; }
@media(max-width:900px){.loopv2-contractors .contractor-v2-form,.loopv2-contractors .contractor-company-form{grid-template-columns:repeat(2,minmax(0,1fr));}.loopv2-contractors .contractor-field-wide{grid-column:1/-1}.loopv2-contractor-select .audience-grid{grid-template-columns:1fr}}
@media(max-width:600px){.loopv2-contractors .contractor-v2-form,.loopv2-contractors .contractor-company-form,.loopv2-contractors .contractor-code-grid,.loopv2-contractors .contractor-check-grid{grid-template-columns:1fr}.loopv2-contractors .contractor-field-wide,.loopv2-contractors .contractor-field-full{grid-column:1}.loopv2-contractors .contractor-more-filters>summary>span{grid-template-columns:24px 1fr}.loopv2-contractors .contractor-more-filters summary small{grid-column:2}.loopv2-contractors .contractor-form-action .demo-button{width:100%}}

/* =========================================================
   13. UNIFIED CONTRACTOR RESULTS
   One renderer; homeowner, contractor, and agency engines stay isolated.
   ========================================================= */
.loopv2-contractor-results main { flex:1; }
.loopv2-contractor-results .contractor-results-intro { padding:36px 0 28px; border-bottom:1px solid rgba(81,207,56,.25); background:linear-gradient(135deg,#092823,#071c1e); }
.loopv2-contractor-results .contractor-results-back { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:10px 16px; margin-bottom:24px; border:1px solid var(--green-2); border-radius:6px; background:#173c2b; color:#fff; font-weight:800; text-decoration:none; }
.loopv2-contractor-results .contractor-results-back:hover,.loopv2-contractor-results .contractor-results-back:focus-visible { background:#225438; color:#fff; }
.loopv2-contractor-results .contractor-results-back:focus-visible { outline:2px solid var(--green-2); outline-offset:3px; }
.loopv2-contractor-results .contractor-results-heading { display:flex; align-items:end; justify-content:space-between; gap:24px; }
.loopv2-contractor-results .contractor-results-heading h1 { margin:3px 0 0; color:#fff; font-size:clamp(34px,5vw,56px); line-height:1.05; }
.loopv2-contractor-results .contractor-results-print { display:flex; gap:10px; }
.loopv2-contractor-results .contractor-results-print button { display:inline-flex; align-items:center; gap:8px; min-height:43px; padding:0 15px; border:1px solid rgba(81,207,56,.5); border-radius:7px; color:#fff; background:#10322e; font-weight:900; cursor:pointer; }
.loopv2-contractor-results .contractor-results-print button:hover,.loopv2-contractor-results .contractor-results-print button:focus-visible { background:#277b2b; }
.loopv2-contractor-results .contractor-results-summary { display:flex; flex-wrap:wrap; gap:12px; margin:24px 0 0; }
.loopv2-contractor-results .contractor-results-summary div { min-width:170px; padding:12px 15px; border:1px solid rgba(255,255,255,.13); border-radius:8px; background:rgba(255,255,255,.04); }
.loopv2-contractor-results .contractor-results-summary dt { color:#8fa9a3; font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.07em; }
.loopv2-contractor-results .contractor-results-summary dd { margin:3px 0 0; color:#fff; font-weight:800; }
.loopv2-contractor-results .contractor-results-content { padding-block:34px 60px; }
.loopv2-contractor-results .contractor-results-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.loopv2-contractor-results .contractor-result-card { display:grid; grid-template-columns:auto 120px minmax(0,1fr); gap:18px; align-items:start; padding:22px; border:1px solid rgba(81,207,56,.27); border-radius:12px; color:#d4e2df; background:#0b302b; }
.loopv2-contractor-results .contractor-result-card:hover { border-color:var(--green-2); background:#103a31; }
.loopv2-contractor-results .contractor-result-rank { display:flex; flex-direction:column; align-items:center; gap:8px; }
.loopv2-contractor-results .contractor-result-rank span { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; color:#fff; background:#36b92f; font-size:18px; font-weight:900; }
.loopv2-contractor-results .contractor-result-rank strong { max-width:70px; color:#8de66e; font-size:11px; line-height:1.25; text-align:center; }
.loopv2-contractor-results .contractor-result-logo { display:grid; place-items:center; width:120px; height:82px; overflow:hidden; border-radius:9px; background:#fff; }
.loopv2-contractor-results .contractor-result-logo img { width:100%; height:100%; padding:9px; object-fit:contain; }
.loopv2-contractor-results .contractor-result-logo span { display:grid; place-items:center; gap:5px; color:#52635f; text-align:center; }
.loopv2-contractor-results .contractor-result-logo svg { width:24px; }
.loopv2-contractor-results .contractor-result-copy h2 { margin:0 0 6px; color:#fff; font-size:22px; }
.loopv2-contractor-results .contractor-result-copy p { margin:7px 0; color:#bcd0cb; font-size:13px; line-height:1.45; }
.loopv2-contractor-results .contractor-result-place { display:flex; align-items:center; gap:6px; }
.loopv2-contractor-results .contractor-result-place svg { width:16px; color:var(--green-2); }
.loopv2-contractor-results .contractor-result-tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:12px; }
.loopv2-contractor-results .contractor-result-tags span { padding:4px 8px; border:1px solid rgba(81,207,56,.35); border-radius:999px; color:#b9efaa; background:rgba(50,145,43,.14); font-size:10px; font-weight:900; text-transform:uppercase; }
.loopv2-contractor-results .contractor-result-card>.demo-button { grid-column:2/-1; justify-self:end; min-height:40px; }
.loopv2-contractor-results .contractor-results-message { padding:45px; border:1px solid rgba(81,207,56,.3); border-radius:12px; color:#c5d5d1; background:#0b302b; text-align:center; }
.loopv2-contractor-results .contractor-results-message h2 { margin:0 0 8px; color:#fff; }
.loopv2-contractor-results .contractor-results-message a { display:inline-block; margin-top:12px; color:#81df61; font-weight:900; }
.loopv2-contractor-results .contractor-results-message.is-error { border-color:#b85b4b; }
@media(max-width:1050px){.loopv2-contractor-results .contractor-results-grid{grid-template-columns:1fr}}
@media(max-width:650px){.loopv2-contractor-results .contractor-results-heading{align-items:flex-start;flex-direction:column}.loopv2-contractor-results .contractor-result-card{grid-template-columns:auto minmax(0,1fr)}.loopv2-contractor-results .contractor-result-logo{grid-column:2;width:100%;max-width:180px}.loopv2-contractor-results .contractor-result-copy{grid-column:1/-1}.loopv2-contractor-results .contractor-result-card>.demo-button{grid-column:1/-1;width:100%}}

/* =========================================================
   14. CONTRACTOR PUBLIC LISTING
   ========================================================= */
.loopv2-contractor-listing .contractor-listing-page{flex:1;padding:34px 0 64px}.loopv2-contractor-listing .contractor-results-back{display:inline-flex;align-items:center;gap:8px;margin-bottom:24px;color:#d8e5e2;font-weight:900}.loopv2-contractor-listing .listing-profile-card{display:grid;grid-template-columns:210px minmax(0,1fr) 230px;gap:30px;align-items:center;padding:32px;border:1px solid rgba(81,207,56,.36);border-radius:14px;background:linear-gradient(135deg,#0e3931,#082621);box-shadow:0 14px 36px rgba(0,0,0,.2)}
.loopv2-contractor-listing .listing-logo{display:grid;place-items:center;width:210px;height:138px;overflow:hidden;border-radius:12px;background:#fff}.loopv2-contractor-listing .listing-logo img{width:100%;height:100%;padding:14px;object-fit:contain}.loopv2-contractor-listing .listing-logo span{display:grid;place-items:center;gap:7px;color:#536560;font-size:12px}.loopv2-contractor-listing .listing-logo svg{width:30px;height:30px}.loopv2-contractor-listing .listing-profile-copy h1{margin:3px 0 8px;color:#fff;font-size:clamp(34px,5vw,58px);line-height:1.02}.loopv2-contractor-listing .listing-dba{margin:0 0 14px;color:#c9d8d4;font-weight:800}.loopv2-contractor-listing .listing-location{display:flex;align-items:center;gap:8px;margin:0;color:#c0d0cc}.loopv2-contractor-listing .listing-location svg{color:var(--green-2)}.loopv2-contractor-listing .listing-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.loopv2-contractor-listing .listing-badges span{padding:7px 11px;border:1px solid rgba(81,207,56,.45);border-radius:999px;color:#c7f3ba;background:rgba(44,128,40,.18);font-size:11px;font-weight:900;text-transform:uppercase}.loopv2-contractor-listing .listing-actions{display:grid;gap:10px}.loopv2-contractor-listing .listing-actions>a{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;border:1px solid rgba(81,207,56,.55);border-radius:7px;color:#fff;font-weight:900}.loopv2-contractor-listing .listing-actions>a:not(.demo-button):hover{background:#235f28}
.loopv2-contractor-listing .listing-section{overflow:hidden;border:1px solid rgba(81,207,56,.27);border-radius:12px;color:#d5e2df;background:#0b302b}.loopv2-contractor-listing .listing-section>header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;border-bottom:1px solid rgba(255,255,255,.11)}.loopv2-contractor-listing .listing-section>header h2{margin:0;color:#fff;font-size:20px}.loopv2-contractor-listing .listing-section>header span{display:grid;place-items:center;min-width:30px;height:30px;border-radius:50%;color:#fff;background:#1e6930;font-weight:900}.loopv2-contractor-listing .listing-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px}.loopv2-contractor-listing .listing-contact{grid-column:1/-1}.loopv2-contractor-listing .listing-section dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0;padding:8px 22px 20px}.loopv2-contractor-listing .listing-section dl div{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.09)}.loopv2-contractor-listing .listing-section dt{color:#8fa8a2;font-size:11px;font-weight:900;text-transform:uppercase}.loopv2-contractor-listing .listing-section dd{margin:4px 0 0;color:#fff;overflow-wrap:anywhere}.loopv2-contractor-listing .listing-section dd a{color:#8ee674}.loopv2-contractor-listing .listing-section ul{display:grid;gap:0;margin:0;padding:8px 22px 20px;list-style:none}.loopv2-contractor-listing .listing-section li{display:flex;align-items:flex-start;gap:10px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.09);line-height:1.45}.loopv2-contractor-listing .listing-section li:last-child{border-bottom:0}.loopv2-contractor-listing .listing-section li svg{flex:0 0 auto;width:18px;color:var(--green-2)}
.loopv2-contractor-listing .listing-profile-card+.listing-section{margin-top:28px}.loopv2-contractor-listing .listing-project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;padding:22px}.loopv2-contractor-listing .listing-project-photo{overflow:hidden;padding:0;border:1px solid rgba(255,255,255,.15);border-radius:9px;color:#fff;background:#092521;text-align:left;cursor:pointer}.loopv2-contractor-listing .listing-project-photo:hover{border-color:var(--green-2)}.loopv2-contractor-listing .listing-project-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.loopv2-contractor-listing .listing-project-photo span{display:grid;gap:3px;padding:12px;color:#aebfbb}.loopv2-contractor-listing .listing-project-photo strong{color:#fff}.loopv2-contractor-listing .listing-photo-modal[hidden]{display:none}.loopv2-contractor-listing .listing-photo-modal{position:fixed;z-index:4000;inset:0;display:grid;place-items:center;padding:40px;background:rgba(0,10,12,.92)}.loopv2-contractor-listing .listing-photo-modal>button{position:absolute;top:22px;right:22px;display:grid;place-items:center;width:46px;height:46px;border:1px solid #70817d;border-radius:50%;color:#fff;background:#102d29;cursor:pointer}.loopv2-contractor-listing .listing-photo-modal figure{max-width:min(1100px,94vw);margin:0}.loopv2-contractor-listing .listing-photo-modal img{display:block;max-width:100%;max-height:80vh;border-radius:10px}.loopv2-contractor-listing .listing-photo-modal figcaption{padding:12px;color:#fff;text-align:center}
@media(max-width:980px){.loopv2-contractor-listing .listing-profile-card{grid-template-columns:180px minmax(0,1fr)}.loopv2-contractor-listing .listing-logo{width:180px}.loopv2-contractor-listing .listing-actions{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}}
@media(max-width:680px){.loopv2-contractor-listing .listing-profile-card,.loopv2-contractor-listing .listing-detail-grid,.loopv2-contractor-listing .listing-section dl{grid-template-columns:1fr}.loopv2-contractor-listing .listing-logo{width:100%;max-width:220px}.loopv2-contractor-listing .listing-contact{grid-column:auto}.loopv2-contractor-listing .listing-section dl div{min-width:0}.loopv2-contractor-listing .listing-photo-modal{padding:16px}}

/* =========================================================
   08. V2 MATERIALS — FOUNDATION AND SHARED TOKENS
   Reusable directory patterns are named generically; this first rollout is
   body-scoped to Materials so other pages can migrate without side effects.
   ========================================================= */
body.loopv2-materials {
  --green: #318c2b;
  --green-2: #67cf43;
  --green-dark: #1f6e23;
  --orange: #f57a00;
  --ink: #f7fbf8;
  --muted: #a8bbb6;
  --panel: #0c2926;
  --panel-2: #102f2b;
  --line: rgba(103, 207, 67, .28);
  --white: #fff;
  --shadow: 0 18px 44px rgba(0, 0, 0, .24);
  min-width: 320px;
  min-height: 100vh;
  min-height: 100dvh;
  margin: 0;
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
  background: #07171a;
  color: var(--ink);
  font: 16px/1.5 Arial, Helvetica, sans-serif;
}
body.loopv2-materials *,
body.loopv2-materials *::before,
body.loopv2-materials *::after { box-sizing: border-box; }
.loopv2-materials main { flex: 1 0 auto; }
.loopv2-materials a { color: inherit; text-decoration: none; }
.loopv2-materials img { max-width: 100%; }
.loopv2-materials button,
.loopv2-materials input,
.loopv2-materials select { font: inherit; }
.loopv2-materials svg.lucide { width: 20px; height: 20px; stroke-width: 2.2; }
.loopv2-materials [hidden] { display: none !important; }
.loopv2-materials .demo-shell { width: min(1320px, calc(100% - 48px)); margin-inline: auto; }
.loopv2-materials .eyebrow {
  margin: 0 0 12px;
  color: var(--green-2) !important;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}

/* =========================================================
   09. V2 MATERIALS — HEADER AND FOOTER
   ========================================================= */
.loopv2-materials .site-header {
  position: sticky;
  top: 0;
  z-index: 900;
  background: #08191c;
  color: #fff;
  box-shadow: 0 2px 14px rgba(0, 0, 0, .3);
}
.loopv2-materials .site-nav {
  min-height: 76px;
  display: grid;
  grid-template-columns: 230px 1fr 280px;
  align-items: center;
  gap: 20px;
}
.loopv2-materials .demo-brand { width: 220px; height: 68px; display: flex; align-items: center; }
.loopv2-materials .demo-brand img { width: 100%; height: 100%; object-fit: contain; object-position: left; }
.loopv2-materials .site-nav-links,
.loopv2-materials .site-nav-actions { display: flex; align-items: center; font-size: 14px; font-weight: 800; }
.loopv2-materials .site-nav-links { justify-content: center; gap: 28px; }
.loopv2-materials .site-nav-actions { justify-content: flex-end; gap: 20px; }
.loopv2-materials .site-nav-actions > a { white-space: nowrap; }
.loopv2-materials .site-nav-links a {
  min-height: 76px;
  display: flex;
  align-items: center;
  border-bottom: 3px solid transparent;
  color: #fff;
  transition: color .18s ease, border-color .18s ease;
}
.loopv2-materials .site-nav-links a:hover,
.loopv2-materials .site-nav-links a:focus-visible,
.loopv2-materials .site-nav-links a.is-active { color: #7ce457; border-bottom-color: #67cf43; }
.loopv2-materials .demo-button,
.loopv2-materials .demo-button-outline-dark {
  min-height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 11px 22px;
  border: 1px solid var(--green-dark);
  border-radius: 7px;
  cursor: pointer;
  color: #fff;
  font-weight: 900;
  transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
.loopv2-materials .demo-button { background: linear-gradient(180deg, #45ad39, #2f872a); }
.loopv2-materials .demo-button-outline-dark { background: transparent; border-color: #41933b; }
.loopv2-materials .demo-button:hover,
.loopv2-materials .demo-button:focus-visible,
.loopv2-materials .demo-button-outline-dark:hover,
.loopv2-materials .demo-button-outline-dark:focus-visible { background: #54b83f; border-color: #78e255; transform: translateY(-1px); }
.loopv2-materials .demo-button-small { min-height: 42px; padding: 9px 20px; }
.loopv2-materials .demo-footer { flex: 0 0 auto; border-top: 1px solid var(--line); background: #08171a; color: #fff; }
.loopv2-materials .demo-footer-main { min-height: 112px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.loopv2-materials .demo-footer-statement,
.loopv2-materials .demo-footer-actions { display: flex; align-items: center; gap: 16px; }
.loopv2-materials .demo-brand-mark { width: 40px; height: 40px; border: 4px solid #f57a00; border-top-color: #78dc4c; border-right-color: #36842d; border-radius: 50%; }
.loopv2-materials .demo-footer-statement p { margin: 0; padding-left: 18px; border-left: 1px solid #536165; font-size: 19px; font-weight: 900; }
.loopv2-materials .demo-footer strong { color: var(--green-2); }
.loopv2-materials .demo-footer-bottom { min-height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid #304145; color: #aab8b5; font-size: 12px; }

/* =========================================================
   10. V2 MATERIALS — HERO AND SEARCH FORM
   ========================================================= */
.loopv2-materials .page-hero {
  border-bottom: 1px solid var(--line);
  --lf-search-hero-image: url('/assets/hero-materials.jpg');
  --lf-search-hero-position: center;
  background-image: linear-gradient(90deg, rgba(4, 20, 22, .96) 0%, rgba(5, 24, 25, .80) 48%, rgba(5, 24, 25, .52) 100%), var(--lf-search-hero-image);
  background-position: center, var(--lf-search-hero-position);
  background-size: cover, cover;
  background-repeat: no-repeat;
}
.loopv2-materials[data-page="materials"] .page-hero {
  --lf-search-hero-image: url('/assets/hero-materials.jpg');
  --lf-search-hero-position: center;
}
.loopv2-materials[data-page="rentals"] .page-hero {
  --lf-search-hero-image: url('/assets/hero-rentals-v1.jpg');
  --lf-search-hero-position: center;
}
.loopv2-materials[data-page="services"] .page-hero {
  --lf-search-hero-image: url('/assets/hero-services.jpg');
  --lf-search-hero-position: center;
}
.loopv2-materials[data-page="suppliers"] .page-hero {
  --lf-search-hero-image: url('/assets/hero-suppliers.jpg');
  --lf-search-hero-position: center;
}
.loopv2-contractors .page-hero {
  --lf-search-hero-image: url('/assets/hero-contractors.jpg');
  --lf-search-hero-position: center;
}
.loopv2-contractor-select .page-hero {
  --lf-search-hero-image: url('/assets/hero-contractor-select-v1.jpg');
  --lf-search-hero-position: center 48%;
}
.loopv2-contractors-homeowners .page-hero {
  --lf-search-hero-image: url('/assets/hero-homeowners-v2.jpg');
  --lf-search-hero-position: center 48%;
}
.loopv2-contractors-contractors .page-hero {
  --lf-search-hero-image: url('/assets/hero-contractors.jpg');
  --lf-search-hero-position: center;
}
.loopv2-contractors-developers-public .page-hero {
  --lf-search-hero-image: url('/assets/hero-contractors-developers-v1.jpg');
  --lf-search-hero-position: center 48%;
}
.loopv2-events .events-hero {
  background-image: linear-gradient(90deg, rgba(4, 20, 22, .97) 0%, rgba(5, 24, 25, .88) 48%, rgba(5, 24, 25, .58) 100%), url('/assets/hero-events-v1.jpg') !important;
  background-position: center, center !important;
  background-size: cover, cover !important;
  background-repeat: no-repeat !important;
}
.loopv2-materials .page-hero-grid { min-height: 260px; display: grid; grid-template-columns: minmax(0, 1fr) 360px; align-items: center; gap: 64px; padding-block: 44px; }
.loopv2-materials .page-hero h1 { max-width: 780px; margin: 0; color: #fff; font-size: clamp(36px, 5vw, 62px); line-height: 1.04; letter-spacing: -.035em; }
.loopv2-materials .page-hero h1 span { color: var(--green-2); }
.loopv2-materials .page-hero-copy > p:last-child { max-width: 760px; margin: 18px 0 0; color: #d2dfdc; font-size: 18px; }
.loopv2-materials .hero-proof { display: grid; gap: 1px; overflow: hidden; border: 1px solid rgba(255,255,255,.15); border-radius: 10px; background: rgba(255,255,255,.08); box-shadow: var(--shadow); }
.loopv2-materials .hero-proof > div { min-height: 66px; display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 10px; padding: 12px 18px; background: rgba(5, 23, 23, .86); }
.loopv2-materials .hero-proof svg { color: var(--green-2); }
.loopv2-materials .hero-proof p { margin: 0; }
.loopv2-materials .hero-proof strong,
.loopv2-materials .hero-proof span { display: block; color: #fff; }
.loopv2-materials .hero-proof strong { font-size: 15px; }
.loopv2-materials .hero-proof span { color: #aebeba; font-size: 12px; }
.loopv2-materials .filter-panel { margin-block: 32px; padding: 26px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); box-shadow: var(--shadow); }
.loopv2-materials .material-search-form { display: grid; grid-template-columns: minmax(220px, 1.25fr) minmax(280px, 2fr) 160px minmax(190px, 1fr) auto; align-items: end; gap: 18px; }
.loopv2-materials .field { min-width: 0; }
.loopv2-materials .field label,
.loopv2-materials .field > span { display: block; margin-bottom: 7px; color: #fff; font-size: 13px; font-weight: 900; }
.loopv2-materials .field label span { display: inline; color: #9db1ac; font-weight: 400; }
.loopv2-materials .field input,
.loopv2-materials .field select {
  width: 100%;
  min-height: 50px;
  padding: 11px 14px;
  border: 1px solid #31554f;
  border-radius: 7px;
  outline: 0;
  background: #102f2b;
  color: #fff;
}
.loopv2-materials .field input::placeholder { color: #8fa49f; opacity: 1; }
.loopv2-materials .field input:hover,
.loopv2-materials .field select:hover { border-color: #58b844; }
.loopv2-materials .field input:focus,
.loopv2-materials .field select:focus { border-color: #78e255; box-shadow: 0 0 0 3px rgba(103, 207, 67, .18); }
.loopv2-materials .search-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.loopv2-materials .material-search-error { margin: 18px 0 0; padding: 12px 15px; border: 1px solid #d06969; border-radius: 7px; background: #3b1a1a; color: #fff; font-weight: 700; }

/* =========================================================
   11. V2 MATERIALS — RESULTS, CARDS, AND CONTACTS
   ========================================================= */
.loopv2-materials .content-band { padding: 12px 0 48px; }
.loopv2-materials .section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 20px; }
.loopv2-materials .section-heading p { margin: 0 0 3px; color: var(--green-2); font-size: 12px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.loopv2-materials .section-heading h2 { margin: 0; color: #fff; font-size: clamp(25px, 3vw, 36px); }
.loopv2-materials .results-heading-actions,
.loopv2-materials .print-controls { display: flex; align-items: center; gap: 10px; }
.loopv2-materials .results-heading-actions > a { color: #dce8e4; font-size: 13px; font-weight: 800; }
.loopv2-materials .results-heading-actions > a:hover { color: var(--green-2); }
.loopv2-materials .print-controls button { min-height: 40px; display: inline-flex; align-items: center; gap: 8px; padding: 8px 13px; border: 1px solid #498f40; border-radius: 6px; background: #12312d; color: #fff; cursor: pointer; font-weight: 800; }
.loopv2-materials .print-controls button:hover,
.loopv2-materials .print-controls button:focus-visible { border-color: #78e255; background: #287c29; color: #fff; }
.loopv2-materials .results-with-map { display: grid; grid-template-columns: minmax(330px, .8fr) minmax(0, 1.2fr); align-items: start; gap: 24px; }
.loopv2-materials .demo-map-panel { position: sticky; top: 96px; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: var(--panel); box-shadow: var(--shadow); }
.loopv2-materials .demo-map-heading { min-height: 75px; display: flex; justify-content: space-between; align-items: center; gap: 15px; padding: 15px 18px; }
.loopv2-materials .demo-map-heading p,
.loopv2-materials .demo-map-heading h3 { margin: 0; color: #fff; }
.loopv2-materials .demo-map-heading p { color: var(--green-2); font-size: 11px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.loopv2-materials .demo-map-heading h3 { font-size: 16px; }
.loopv2-materials #demo-map { width: 100%; height: min(62vh, 570px); min-height: 390px; background: #102826; }
.loopv2-materials .demo-map-note { margin: 0; padding: 12px 18px; color: #b9cac5; font-size: 12px; }
.loopv2-materials .results-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.loopv2-materials .result-card { padding: 20px; border: 1px solid #294c46; border-radius: 9px; background: #0d2926; color: #fff; box-shadow: 0 8px 20px rgba(0,0,0,.14); transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.loopv2-materials .result-card:hover,
.loopv2-materials .result-card:focus-within,
.loopv2-materials .result-card.is-route-active { border-color: #78e255; background: #163b33; box-shadow: inset 5px 0 0 #68d747, 0 0 0 2px rgba(104,215,71,.18), 0 12px 28px rgba(0,0,0,.28); transform: translateY(-2px); }
.loopv2-materials .result-card-head { display: grid; grid-template-columns: minmax(0, 1fr) 140px; align-items: center; gap: 8px 14px; }
.loopv2-materials .result-rank { display: grid; grid-template-columns: 30px minmax(0, 1fr); align-items: center; gap: 8px; min-width: 0; }
.loopv2-materials .result-card-copy { grid-column: 1; min-width: 0; }
.loopv2-materials .result-number { display: grid; place-items: center; flex: 0 0 30px; width: 30px; min-width: 30px; max-width: 30px; height: 30px; min-height: 30px; max-height: 30px; aspect-ratio: 1 / 1; padding: 0; border-radius: 50%; background: #3eaa34; color: #fff; font-size: 13px; font-weight: 900; line-height: 1; }
.loopv2-materials .result-distance { min-width: 0; color: #fff; font-size: 13px; font-weight: 900; line-height: 1.25; white-space: normal; }
.loopv2-materials .result-card h3 { margin: 0; color: #fff; font-size: 21px; }
.loopv2-materials .result-card p { margin: 5px 0; color: #c4d2ce; }
.loopv2-materials .result-logo { grid-column: 2; grid-row: 1 / span 2; width: 140px; height: 54px; display: grid; place-items: center; justify-self: end; overflow: hidden; padding: 7px; border: 1px solid #365650; border-radius: 8px; background: #fff; color: #485552; text-align: center; }
.loopv2-materials .result-logo img { width: 124px; height: 31px; object-fit: contain; }
.loopv2-materials .result-no-logo small { font-size: 10px; }
.loopv2-materials .result-card.is-material-possibility { border-color: #58b844; box-shadow: inset 4px 0 0 #58b844, 0 8px 20px rgba(0,0,0,.14); }
.loopv2-materials .result-match-note { display: inline-flex; align-items: center; gap: 7px; margin-top: 14px !important; padding: 7px 10px; border: 1px solid #58a94a; border-radius: 6px; background: #173c2d; color: #fff !important; font-size: 12px; font-weight: 900; }
.loopv2-materials .result-match-note svg { width: 16px; height: 16px; color: #79df55; }
.loopv2-materials .result-contact { display: flex; flex-wrap: wrap; gap: 10px; margin: 13px 0; }
.loopv2-materials .result-contact a { display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; border: 1px solid #37655d; border-radius: 5px; color: #fff; font-size: 13px; font-weight: 800; }
.loopv2-materials .result-contact a:hover { border-color: #70db4c; background: #245c32; color: #fff; }
.loopv2-materials .result-material-list { margin: 14px 0; border-block: 1px solid #294a45; }
.loopv2-materials .result-material-list summary { display: flex; align-items: center; gap: 9px; padding: 11px 0; color: #fff; cursor: pointer; font-weight: 800; }
.loopv2-materials .result-material-list summary:hover { color: #7ce457; }
.loopv2-materials .result-material-list summary b { min-width: 24px; padding: 2px 6px; border-radius: 20px; background: #2e8229; text-align: center; font-size: 11px; }
.loopv2-materials .result-material-list summary svg { margin-left: auto; }
.loopv2-materials .result-material-list > div { display: flex; flex-wrap: wrap; gap: 7px; padding: 0 0 12px; }
.loopv2-materials .material-chip,
.loopv2-materials .tag { display: inline-flex; padding: 5px 9px; border: 1px solid #3e695f; border-radius: 20px; background: #153a34; color: #ecf6f1; font-size: 11px; font-weight: 800; }
.loopv2-materials .tag { border-color: #509546; background: #1a4a29; }
.loopv2-materials .result-meta { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 14px; color: #b9cac5; font-size: 13px; }
.loopv2-materials .result-meta a { color: #fff; font-weight: 900; }
.loopv2-materials .result-meta a:hover { color: var(--green-2); }

/* Empty catalog searches use the existing result markup, so distinguish them
   from real provider cards by their intentionally blank map coordinates. */
.loopv2-materials .result-card[data-lat=""][data-lng=""] {
  grid-column: 1 / -1;
  min-height: 280px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 36px clamp(24px, 6vw, 56px);
  border: 1px dashed #4c766d;
  background:
    radial-gradient(circle at 50% 0, rgba(102, 207, 70, .11), transparent 48%),
    #092522;
  box-shadow: none;
  text-align: center;
}
.loopv2-materials .result-card[data-lat=""][data-lng=""]:hover,
.loopv2-materials .result-card[data-lat=""][data-lng=""]:focus-within {
  border-color: #648a81;
  background:
    radial-gradient(circle at 50% 0, rgba(102, 207, 70, .11), transparent 48%),
    #092522;
  box-shadow: none;
  transform: none;
}
.loopv2-materials .result-card[data-lat=""][data-lng=""] .result-card-head {
  display: block;
}
.loopv2-materials .result-card[data-lat=""][data-lng=""] .result-rank,
.loopv2-materials .result-card[data-lat=""][data-lng=""] .result-logo {
  display: none;
}
.loopv2-materials .result-card[data-lat=""][data-lng=""] .result-card-copy {
  max-width: 520px;
  margin: 0 auto;
}
.loopv2-materials .result-card[data-lat=""][data-lng=""] .result-card-copy::before {
  content: "\00d7";
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  margin: 0 auto 18px;
  border: 1px solid #4f7f72;
  border-radius: 50%;
  background: #123a33;
  color: #7add59;
  font-size: 30px;
  font-weight: 400;
  line-height: 1;
}
.loopv2-materials .result-card[data-lat=""][data-lng=""] h3 {
  font-size: clamp(23px, 3vw, 30px);
  line-height: 1.18;
}
.loopv2-materials .result-card[data-lat=""][data-lng=""] .result-card-copy p {
  margin-top: 10px;
  color: #d1ded9;
  font-size: 15px;
}
.loopv2-materials .result-card[data-lat=""][data-lng=""] > p {
  max-width: 540px;
  margin: 22px auto 0;
  color: #aebfba;
  line-height: 1.55;
}
.loopv2-materials .result-card[data-lat=""][data-lng=""] .tag {
  align-self: center;
  margin-top: 22px;
  border-color: #496d65;
  background: #102e2a;
  color: #b9cac5;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.loopv2-materials .result-card[data-lat=""][data-lng=""] .result-meta {
  width: min(540px, 100%);
  align-items: center;
  justify-content: center;
  flex-direction: row;
  margin: 24px auto 0;
  padding-top: 20px;
  border-top: 1px solid #294943;
}
.loopv2-materials .result-card[data-lat=""][data-lng=""] .result-meta > span {
  display: none;
}
.loopv2-materials .result-card[data-lat=""][data-lng=""] .result-meta a {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 18px;
  border: 1px solid #57964b;
  border-radius: 6px;
  background: #143a31;
  font-size: 0;
  text-decoration: none;
}
.loopv2-materials .result-card[data-lat=""][data-lng=""] .result-meta a::after {
  content: "More info";
  font-size: 13px;
}
.loopv2-materials .result-card[data-lat=""][data-lng=""] .result-meta a:hover,
.loopv2-materials .result-card[data-lat=""][data-lng=""] .result-meta a:focus-visible {
  border-color: #78e255;
  background: #245c32;
  color: #fff;
}
.loopv2-materials .demo-map-marker span { width: 34px; height: 34px; display: grid; place-items: center; border: 3px solid #fff; border-radius: 50%; background: #348f2e; color: #fff; font-weight: 900; box-shadow: 0 3px 10px rgba(0,0,0,.72); transition: background .16s ease, transform .16s ease, box-shadow .16s ease; }
.loopv2-materials .demo-map-home-marker span { width: 42px; height: 42px; display: grid; place-items: center; border: 3px solid #fff; border-radius: 50% 50% 50% 0; background: #f57a00; color: #fff; font-weight: 900; transform: rotate(-45deg); box-shadow: 0 3px 10px #000; }
.loopv2-materials .demo-map-home-marker span > * { transform: rotate(45deg); }
.loopv2-materials .demo-map-home-marker span b { display: block; font-size: 23px; line-height: 1; }
.loopv2-materials .demo-map-marker.is-route-active { z-index: 1000 !important; filter: drop-shadow(0 0 8px #7cff55); }
.loopv2-materials .demo-map-marker.is-route-active span { border-color: #fff; background: #75e353; color: #07170c; transform: scale(1.18); box-shadow: 0 0 0 4px rgba(117,227,83,.28), 0 4px 13px rgba(0,0,0,.8); }

/* =========================================================
   12. V2 MATERIALS — REUSABLE MODALS AND PINPOINT MAP
   ========================================================= */
.loopv2-materials .v2-modal { position: fixed; inset: 0; z-index: 2000; display: grid; place-items: center; padding: 24px; background: rgba(1, 10, 12, .82); }
.loopv2-materials .v2-modal-card { position: relative; width: min(520px, 100%); max-height: calc(100vh - 48px); overflow: auto; padding: 28px; border: 1px solid #4b8d42; border-radius: 10px; background: #0b2825; color: #fff; box-shadow: 0 24px 70px #000; }
.loopv2-materials .v2-modal-card.pinpoint-card { width: min(780px, 100%); }
.loopv2-materials .v2-modal-card h2 { margin: 0 0 7px; color: #fff; font-size: 28px; }
.loopv2-materials .v2-modal-card > p:not(.eyebrow) { margin: 0 0 18px; color: #c2d2cd; }
.loopv2-materials .v2-modal-close { position: absolute; top: 14px; right: 14px; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid #45645f; border-radius: 50%; background: #102f2b; color: #fff; cursor: pointer; }
.loopv2-materials .v2-modal-close:hover { border-color: #7ce457; background: #286f2a; }
.loopv2-materials #pinpoint-map { width: 100%; height: min(55vh, 480px); min-height: 330px; border: 1px solid #527269; border-radius: 7px; background: #102826; }
.loopv2-materials .v2-modal-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 18px; }

/* =========================================================
   13. V2 MATERIALS — RESPONSIVE, ACCESSIBILITY, AND PRINT
   ========================================================= */
.loopv2-materials :focus-visible { outline: 3px solid #ffab45; outline-offset: 3px; }
.loopv2-materials .print-report-header,
.loopv2-materials .print-report-summary,
.loopv2-materials .print-report-footer { display: none; }
@media (max-width: 1180px) {
  .loopv2-materials .site-nav { grid-template-columns: 210px 1fr; }
  .loopv2-materials .site-nav-actions { display: none; }
  .loopv2-materials .material-search-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .loopv2-materials .material-search-form .demo-button { grid-column: 1 / -1; }
  .loopv2-materials .results-grid { grid-template-columns: 1fr; }
}

/* =========================================================
   14. V2 LOCATION DETAILS — PROFILE, MATERIALS, MAP, FLYERS
   Scoped to LocDetails.php so shared V2 pages are unaffected.
   ========================================================= */
.loopv2-location-details main { flex:1 0 auto; }
.v2-detail-page { padding:36px 20px 72px; }
.v2-detail-toolbar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:18px; }
.v2-detail-back { display:inline-flex; align-items:center; gap:8px; color:#fff; font-weight:800; text-decoration:none; }
.v2-detail-back:hover,.v2-detail-back:focus-visible { color:var(--v2-green,#58d13b); }
.v2-detail-back svg { width:19px; }
.v2-detail-location-number { color:#9bb2ad; font-size:.86rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.v2-detail-profile,.v2-detail-supporting,.v2-detail-section { border:1px solid rgba(81,207,56,.34); border-radius:16px; background:linear-gradient(145deg,rgba(14,52,47,.96),rgba(7,31,30,.98)); box-shadow:0 18px 42px rgba(0,0,0,.18); }
.v2-detail-profile { display:grid; grid-template-columns:220px minmax(0,1fr) auto; align-items:center; gap:32px; padding:32px; }
.v2-detail-logo { width:220px; height:92px; display:flex; align-items:center; justify-content:center; padding:16px; overflow:hidden; border-radius:12px; background:#fff; }
.v2-detail-logo img { width:200px; height:50px; object-fit:contain; }
.v2-detail-logo[data-empty="true"] { color:#50605d; font-weight:800; text-align:center; }
.v2-detail-heading { min-width:0; }
.v2-eyebrow,.v2-detail-label { margin:0 0 8px; color:var(--v2-green,#58d13b); font-size:.78rem; line-height:1.2; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.v2-detail-heading h1,.v2-detail-section h2 { margin:0; color:#fff; line-height:1.08; }
.v2-detail-heading h1 { font-size:clamp(2rem,4vw,3.3rem); }
.v2-detail-section h2 { font-size:clamp(1.55rem,3vw,2.25rem); }
.v2-detail-site-name { margin:8px 0 0; color:#d6e3df; font-size:1.1rem; font-weight:700; }
.v2-detail-address { display:flex; gap:9px; align-items:flex-start; margin:14px 0 0; color:#c0d1cd; }
.v2-detail-address svg { flex:0 0 auto; width:19px; color:var(--v2-green,#58d13b); }
.v2-detail-badges { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:18px; }
.v2-detail-distance,.v2-detail-verified,.v2-detail-claim { display:inline-flex; align-items:center; gap:7px; min-height:34px; padding:6px 11px; border:1px solid rgba(81,207,56,.45); border-radius:999px; color:#fff; background:rgba(39,126,38,.22); font-size:.84rem; text-decoration:none; }
.v2-detail-distance svg,.v2-detail-verified svg { width:17px; color:var(--v2-green,#58d13b); }
.v2-detail-claim { color:#fff; font-weight:800; }
.v2-detail-claim:hover,.v2-detail-claim:focus-visible { border-color:var(--v2-green,#58d13b); background:rgba(81,207,56,.22); }
.v2-detail-actions { display:grid; gap:10px; min-width:205px; }
.v2-detail-actions a { justify-content:center; white-space:nowrap; }
.v2-detail-supporting { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:32px; margin-top:18px; padding:26px 32px; }
.v2-detail-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 36px; }
.v2-detail-facts p { margin:0; color:#d7e3e0; line-height:1.55; overflow-wrap:anywhere; }
.v2-detail-notes { grid-column:1/-1; }
.v2-detail-flyers { min-width:190px; padding-left:28px; border-left:1px solid rgba(255,255,255,.12); }
.v2-detail-flyer-list { display:flex; gap:12px; }
.v2-detail-flyer { width:82px; padding:0; border:0; color:#fff; background:none; cursor:pointer; font:inherit; font-weight:800; }
.v2-detail-flyer img { width:82px; height:106px; padding:4px; object-fit:cover; border:1px solid rgba(255,255,255,.25); border-radius:9px; background:#fff; }
.v2-detail-flyer:hover img,.v2-detail-flyer:focus-visible img { border-color:var(--v2-green,#58d13b); box-shadow:0 0 0 3px rgba(81,207,56,.16); }
.v2-detail-flyer span { display:block; margin-top:6px; font-size:.78rem; }
.v2-detail-flyer-empty { width:210px; min-height:106px; display:grid; grid-template-columns:34px 1fr; align-content:center; gap:3px 10px; padding:14px; border:1px dashed rgba(255,255,255,.28); border-radius:10px; color:#fff; background:rgba(4,25,26,.36); }
.v2-detail-flyer-empty svg { grid-row:1/3; align-self:center; width:30px; height:30px; color:var(--v2-green,#58d13b); }
.v2-detail-flyer-empty strong { font-size:.84rem; line-height:1.25; }
.v2-detail-flyer-empty span { color:#9fb4af; font-size:.72rem; line-height:1.35; }
.v2-detail-section { margin-top:24px; overflow:hidden; }
.v2-detail-section-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:21px 24px; border-bottom:1px solid rgba(255,255,255,.11); }
.v2-detail-section-toggle { display:inline-flex; align-items:center; gap:8px; border:0; color:#fff; background:none; font:inherit; font-weight:800; cursor:pointer; }
.v2-detail-section-toggle:hover,.v2-detail-section-toggle:focus-visible { color:var(--v2-green,#58d13b); }
.v2-detail-section-toggle svg { width:19px; transition:transform .2s ease; }
.v2-detail-materials { padding:20px 24px 24px; color:#fff; }
.v2-detail-loading { display:flex; align-items:center; gap:12px; margin:0; color:#bed0cc; }
.v2-detail-spinner { width:20px; height:20px; border:3px solid rgba(255,255,255,.2); border-top-color:var(--v2-green,#58d13b); border-radius:50%; animation:v2-detail-spin .75s linear infinite; }
@keyframes v2-detail-spin { to { transform:rotate(360deg); } }
.v2-detail-materials .materials-groups { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:start; gap:12px; }
.v2-detail-materials .materials-column { display:contents; }
.v2-detail-materials .materials-category-block { width:100%; align-self:stretch; overflow:hidden; border:1px solid rgba(255,255,255,.12); border-radius:10px; background:rgba(4,25,26,.48); }
.v2-detail-materials .materials-category-title { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0; padding:11px 13px; border-bottom:1px solid rgba(255,255,255,.1); color:var(--v2-green,#58d13b); font-size:.9rem; }
.v2-detail-materials .materials-category-title b { display:grid; place-items:center; min-width:22px; height:22px; padding:0 6px; border-radius:999px; color:#fff; background:rgba(81,207,56,.22); font-size:.68rem; }
.v2-detail-materials .materials-list { margin:0; padding:0 13px; list-style:none; }
.v2-detail-materials .materials-list li+li { border-top:1px solid rgba(255,255,255,.1); }
.v2-detail-materials .material-card { display:flex; align-items:center; gap:10px; min-height:52px; padding:9px 0; }
.v2-detail-materials .material-thumb-link { position:relative; flex:0 0 auto; padding:0; border:0; border-radius:9px; background:none; cursor:pointer; }
.v2-detail-materials .material-thumb-link:hover,.v2-detail-materials .material-thumb-link:focus-visible { box-shadow:0 0 0 3px rgba(81,207,56,.35); }
.v2-detail-materials .material-thumb { display:block; width:64px; height:46px; object-fit:cover; border-radius:7px; }
.v2-detail-materials .material-photo-count { position:absolute; right:5px; bottom:5px; min-width:25px; padding:3px 6px; border-radius:999px; color:#fff; background:rgba(4,18,22,.88); font-size:.7rem; font-weight:900; }
.v2-detail-materials .material-card.no-photo { min-height:0; }
.v2-detail-materials .material-text { min-width:0; }
.v2-detail-materials .material-text strong { display:block; color:#fff; font-size:.9rem; line-height:1.25; overflow-wrap:anywhere; }
.v2-detail-materials .material-text p { margin:5px 0 0; color:#b8cac6; font-size:.86rem; line-height:1.4; }
.v2-detail-materials>p { margin:0; color:#c6d5d2; }
.v2-detail-route-grid { display:grid; grid-template-columns:minmax(0,1.18fr) minmax(330px,.82fr); min-height:520px; }
.v2-detail-map { min-height:520px; border-right:1px solid rgba(255,255,255,.12); background:#d9e5df; }
.loopv2-materials .is-map-unavailable { display:grid; place-items:center; padding:30px; color:#d5e2df; background:#0b2825; font-weight:800; text-align:center; }
.v2-detail-directions { max-height:520px; overflow:auto; padding:28px; color:#fff; }
.v2-detail-route-summary { display:flex; gap:13px; align-items:center; padding:17px; border:1px solid rgba(81,207,56,.38); border-radius:12px; background:rgba(40,126,38,.18); }
.v2-detail-route-summary>svg { width:28px; height:28px; color:var(--v2-green,#58d13b); }
.v2-detail-route-summary span,.v2-detail-route-summary strong { display:block; }
.v2-detail-route-summary span { color:#a8bdb8; font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.v2-detail-route-summary strong { margin-top:3px; font-size:1.15rem; }
.v2-detail-route-note { margin:16px 0 20px; color:#aebfbc; font-size:.88rem; line-height:1.5; }
.v2-detail-route-steps { display:grid; gap:0; margin:0; padding:0; list-style:none; counter-reset:route-step; }
.v2-detail-route-steps li { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px; padding:13px 4px; border-bottom:1px solid rgba(255,255,255,.1); color:#d8e4e1; line-height:1.4; counter-increment:route-step; }
.v2-detail-route-steps li span:before { content:counter(route-step) ". "; color:var(--v2-green,#58d13b); font-weight:900; }
.v2-detail-route-steps li strong { color:#fff; font-size:.82rem; white-space:nowrap; }
.v2-detail-home-marker,.v2-detail-result-marker { background:none!important; border:0!important; }
.v2-detail-home-marker span { width:48px!important; height:54px!important; font-size:25px!important; }
.v2-detail-result-marker span { display:flex; align-items:center; justify-content:center; width:42px; height:42px; border:3px solid #fff; border-radius:50%; color:#fff; background:#36b92f; box-shadow:0 5px 13px rgba(0,0,0,.45); font-weight:900; }
.v2-detail-modal[hidden] { display:none; }
.v2-detail-modal { position:fixed; z-index:3000; inset:0; display:grid; place-items:center; padding:28px; }
.v2-detail-modal-backdrop { position:absolute; inset:0; background:rgba(0,12,14,.88); }
.v2-detail-modal-dialog { position:relative; z-index:1; width:min(880px,92vw); max-height:92vh; padding:20px; overflow:auto; border:1px solid rgba(81,207,56,.55); border-radius:16px; background:#092c29; }
.v2-detail-modal-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:15px; }
.v2-detail-modal-heading h2 { margin:0; color:#fff; }
.v2-detail-modal-heading button { display:grid; place-items:center; width:42px; height:42px; border:1px solid rgba(255,255,255,.25); border-radius:50%; color:#fff; background:none; cursor:pointer; }
.v2-detail-modal-dialog>img { display:block; max-width:100%; max-height:calc(92vh - 100px); margin:auto; border-radius:8px; }
.v2-detail-gallery-controls { display:flex; align-items:center; justify-content:center; gap:18px; margin-top:15px; color:#fff; }
.v2-detail-gallery-controls[hidden] { display:none; }
.v2-detail-gallery-controls button { display:inline-flex; align-items:center; gap:7px; padding:8px 12px; border:1px solid rgba(81,207,56,.45); border-radius:8px; color:#fff; background:#10332f; font:inherit; font-weight:800; cursor:pointer; }
.v2-detail-gallery-controls button:hover,.v2-detail-gallery-controls button:focus-visible { background:#287d2a; }
.v2-detail-gallery-controls svg { width:17px; }
.v2-modal-open { overflow:hidden; }

@media (max-width:1050px) {
  .v2-detail-profile { grid-template-columns:190px minmax(0,1fr); }
  .v2-detail-logo { width:190px; }
  .v2-detail-actions { grid-column:1/-1; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); }
  .v2-detail-materials .materials-groups { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .v2-detail-route-grid { grid-template-columns:1fr; }
  .v2-detail-map { border-right:0; border-bottom:1px solid rgba(255,255,255,.12); }
}
@media (max-width:720px) {
  .v2-detail-page { padding:22px 14px 48px; }
  .v2-detail-location-number { display:none; }
  .v2-detail-profile { grid-template-columns:1fr; gap:22px; padding:22px; }
  .v2-detail-logo { width:100%; max-width:250px; }
  .v2-detail-actions { grid-template-columns:1fr; }
  .v2-detail-supporting { grid-template-columns:1fr; padding:22px; }
  .v2-detail-facts { grid-template-columns:1fr; }
  .v2-detail-notes { grid-column:auto; }
  .v2-detail-flyers { padding:20px 0 0; border-left:0; border-top:1px solid rgba(255,255,255,.12); }
  .v2-detail-section-heading { align-items:flex-start; padding:22px; }
  .v2-detail-section-toggle span { display:none; }
  .v2-detail-materials { padding:22px; }
  .v2-detail-materials .materials-groups { grid-template-columns:1fr; }
  .v2-detail-route-grid { min-height:0; }
  .v2-detail-map { min-height:360px; }
  .v2-detail-directions { max-height:none; padding:22px; }
}
@media (max-width: 850px) {
  .loopv2-materials .demo-shell { width: min(100% - 28px, 1320px); }
  .loopv2-materials .site-nav { min-height: 112px; grid-template-columns: 1fr; gap: 0; }
  .loopv2-materials .demo-brand { width: 205px; height: 62px; justify-self: center; }
  .loopv2-materials .site-nav-links { display: grid; grid-template-columns: repeat(3, 1fr); width: 100%; gap: 0; }
  .loopv2-materials .site-nav-links a { min-height: 38px; justify-content: center; font-size: 11px; }
  .loopv2-materials .page-hero-grid { min-height: 0; grid-template-columns: 1fr; gap: 26px; padding-block: 38px; }
  .loopv2-materials .hero-proof { grid-template-columns: repeat(3, 1fr); }
  .loopv2-materials .hero-proof > div { min-height: 90px; grid-template-columns: 1fr; align-content: center; text-align: center; }
  .loopv2-materials .results-with-map { grid-template-columns: 1fr; }
  .loopv2-materials .demo-map-panel { position: static; }
  .loopv2-materials .section-heading { align-items: flex-start; flex-direction: column; }
  .loopv2-materials .demo-footer-main { display: block; padding-block: 25px; }
  .loopv2-materials .demo-footer-actions { margin-top: 22px; flex-wrap: wrap; }
}
@media (max-width: 600px) {
  .loopv2-materials .material-search-form { grid-template-columns: 1fr; }
  .loopv2-materials .material-search-form .demo-button { grid-column: auto; }
  .loopv2-materials .filter-panel { padding: 18px; }
  .loopv2-materials .hero-proof { display: none; }
  .loopv2-materials .page-hero h1 { font-size: 38px; }
  .loopv2-materials .results-heading-actions { width: 100%; align-items: flex-start; flex-direction: column; }
  .loopv2-materials .result-card-head { grid-template-columns: 1fr; }
  .loopv2-materials .result-logo { display: none; }
  .loopv2-materials .result-meta { align-items: flex-start; flex-direction: column; }
  .loopv2-materials .demo-footer-actions { align-items: stretch; flex-direction: column; }
  .loopv2-materials .demo-footer-bottom { align-items: flex-start; flex-direction: column; padding-block: 12px; }
  .loopv2-materials .v2-modal { padding: 10px; }
  .loopv2-materials .v2-modal-card { max-height: calc(100vh - 20px); padding: 22px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .loopv2-materials *, .loopv2-materials *::before, .loopv2-materials *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
@media print {
  .loopv2-materials { display: block; background: #fff; color: #000; }
  .loopv2-materials .site-header,
  .loopv2-materials .page-hero,
  .loopv2-materials .filter-panel,
  .loopv2-materials .demo-map-panel,
  .loopv2-materials .section-heading,
  .loopv2-materials .demo-footer,
  .loopv2-materials .v2-modal { display: none !important; }
  .loopv2-materials .content-band { padding: 0; }
  .loopv2-materials .results-with-map,
  .loopv2-materials .results-grid { display: block; }
  .loopv2-materials .result-card { break-inside: avoid; margin: 0 0 10px; border: 1px solid #bbb; background: #fff; color: #000; box-shadow: none; }
  .loopv2-materials .result-card h3,
  .loopv2-materials .result-card p,
  .loopv2-materials .result-meta,
  .loopv2-materials .result-meta a { color: #000; }
}
/* Shared V2 information footer and cookie-preference panel. */
.demo-footer-loop-mark{display:block;width:40px;height:40px;flex:0 0 40px;object-fit:contain}
.demo-footer-links{display:flex;gap:1rem;flex-wrap:wrap;justify-content:flex-end}.demo-footer-links a{color:#c4d5d1;text-decoration:none}.demo-footer-links a:hover{color:#4bd83b}.lf-cookie-panel{position:fixed;z-index:9999;right:1rem;bottom:1rem;display:none;width:min(600px,calc(100% - 2rem));box-sizing:border-box;padding:1.3rem;border:1px solid #4bcf3b;border-radius:14px;background:#061d1b;color:#fff;box-shadow:0 20px 60px #0009}.lf-cookie-panel.is-visible{display:block}.lf-cookie-panel h2{margin:0 0 .6rem;color:#fff}.lf-cookie-panel p{color:#bed0cc;line-height:1.5}.lf-cookie-options{display:grid;gap:.6rem}.lf-cookie-option{display:flex;gap:1rem;justify-content:space-between;padding:.8rem;border:1px solid #345e55;border-radius:8px}.lf-cookie-option strong,.lf-cookie-option span{display:block}.lf-cookie-option span{color:#9fb8b2;font-size:.84rem}.lf-cookie-status{align-self:center!important;color:#63db55!important;font-weight:900;white-space:nowrap}.lf-cookie-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1rem}.lf-cookie-actions button{padding:.7rem .9rem;border:1px solid #48bd3b;border-radius:7px;background:#0a332d;color:#fff;font-weight:800;cursor:pointer}.lf-cookie-actions .lf-cookie-accept{background:#36a92c}.lf-cookie-links{margin-top:.8rem;color:#9fb8b2;font-size:.85rem}.lf-cookie-links a{color:#65dc58}@media(max-width:900px){.demo-footer-links{justify-content:flex-start}}@media(max-width:600px){.lf-cookie-actions{flex-direction:column}.lf-cookie-actions button{width:100%}}
/* V2 information, resource, and policy pages. */
.loopv2-info{background:#061c1b;color:#fff}.info-hero{border-bottom:1px solid rgba(74,211,56,.25);background:radial-gradient(circle at 80% 25%,rgba(74,211,56,.14),transparent 30%),linear-gradient(135deg,#061b1a,#082824)}.info-hero .demo-shell{padding-top:4.5rem;padding-bottom:4.5rem}.info-eyebrow{margin:0 0 1rem;color:#4bd83b;font-size:.82rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.info-hero h1{max-width:900px;margin:0;color:#fff;font-size:clamp(2.8rem,5vw,5rem);line-height:1;letter-spacing:-.05em}.info-hero h1 span{color:#4bd83b}.info-lead{max-width:820px;margin:1.4rem 0 0;color:#c9d9d5;font-size:1.12rem;line-height:1.65}.info-main{padding:3.5rem 0 5rem;background:#061c1b}.info-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:2rem;align-items:start}.info-stack{display:grid;gap:1rem}.info-card{padding:1.6rem;border:1px solid #345e55;border-radius:14px;background:#082522}.info-card h2,.info-card h3{margin:0 0 .8rem;color:#4bd83b}.info-card p,.info-card li{color:#c4d5d1;line-height:1.65}.info-card p{margin:.5rem 0}.info-card li+li{margin-top:.45rem}.info-card a{color:#69df5c;font-weight:800}.info-nav{position:sticky;top:100px;padding:1rem;border:1px solid #345e55;border-radius:12px;background:#082522}.info-nav strong{display:block;margin-bottom:.7rem;color:#fff}.info-nav a{display:block;padding:.55rem 0;border-bottom:1px solid #ffffff12;color:#a9c0ba;text-decoration:none}.info-nav a:last-child{border:0}.info-nav a:hover{color:#4bd83b}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.info-steps{counter-reset:steps;list-style:none;padding:0}.info-steps li{position:relative;padding-left:3.2rem}.info-steps li:before{counter-increment:steps;content:counter(steps);position:absolute;left:0;top:0;display:grid;width:2.2rem;height:2.2rem;place-items:center;border-radius:50%;background:#174e2a;color:#65df57;font-weight:900}.info-form{display:grid;gap:1rem}.info-form label{display:grid;gap:.4rem;color:#dce7e4;font-weight:800}.info-form input,.info-form textarea,.info-form select{box-sizing:border-box;width:100%;padding:.85rem;border:1px solid #426d63;border-radius:7px;background:#061d1b;color:#fff}.info-form textarea{min-height:130px}.info-notice{padding:1rem;border-left:4px solid #ff7a00;background:#0b2b27;color:#cbdad7;line-height:1.55}.policy-date{color:#9cb4ae;font-size:.9rem}.cookie-table-wrap{overflow:auto}.cookie-table{width:100%;border-collapse:collapse}.cookie-table th,.cookie-table td{padding:.8rem;border-bottom:1px solid #ffffff17;text-align:left;vertical-align:top}.cookie-table th{color:#4bd83b}@media(max-width:900px){.info-layout{grid-template-columns:1fr}.info-nav{position:static}.info-grid{grid-template-columns:1fr}}@media(max-width:600px){.info-hero .demo-shell{padding-top:3rem;padding-bottom:3rem}.info-main{padding-top:2rem}}

/* Current V2 header and footer on older signed-in member workflows. */
.loopv2-member-footer{margin-top:48px;border-top:1px solid #214b3a;background:#041416;color:#9fb4ae;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.loopv2-member-footer .demo-footer-main,.loopv2-member-footer .demo-footer-bottom{box-sizing:border-box;width:min(1320px,calc(100% - 48px));margin:0 auto}.loopv2-member-footer .demo-footer-main{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:42px 0}.loopv2-member-footer .demo-footer-statement p{margin:0;color:#d8e4e0;font-size:20px;line-height:1.45}.loopv2-member-footer .demo-footer-actions,.loopv2-member-footer .demo-footer-links{display:flex;flex-wrap:wrap;gap:14px}.loopv2-member-footer a{color:#bcd0ca;text-decoration:none}.loopv2-member-footer .demo-button,.loopv2-member-footer .demo-button-outline-dark{padding:12px 18px;border:1px solid #48bd3b;border-radius:7px;font-weight:800}.loopv2-member-footer .demo-button{background:#36a92c;color:#fff}.loopv2-member-footer .demo-footer-bottom{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-top:1px solid #1b3c32;font-size:13px}@media(max-width:760px){.loopv2-member-footer .demo-footer-main,.loopv2-member-footer .demo-footer-bottom{align-items:flex-start;flex-direction:column;width:min(100% - 28px,1320px)}}
.loopv2-member-compat{position:relative;z-index:1000;width:100%;border-bottom:1px solid rgba(81,207,56,.12);background:#061b1c;color:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.loopv2-member-compat .site-nav{display:grid;grid-template-columns:240px minmax(0,1fr) auto;align-items:center;gap:24px;box-sizing:border-box;width:min(1320px,calc(100% - 48px));min-height:92px;margin:0 auto}.loopv2-member-compat .demo-brand{display:block;width:220px}.loopv2-member-compat .demo-brand img{display:block;width:100%;height:auto}.loopv2-member-compat .site-nav-links,.loopv2-member-compat .site-nav-actions{display:flex;align-items:center;font-size:14px;font-weight:800}.loopv2-member-compat .site-nav-links{justify-content:center;gap:28px}.loopv2-member-compat .site-nav-actions{justify-content:flex-end;gap:20px}.loopv2-member-compat a{color:#f4f7f5;text-decoration:none;white-space:nowrap}.loopv2-member-compat .site-nav-links a{display:flex;align-items:center;min-height:92px;border-bottom:3px solid transparent}.loopv2-member-compat .site-nav-links a:hover,.loopv2-member-compat .site-nav-links a.is-active{color:#7ce457;border-bottom-color:#67cf43}.loopv2-member-compat .site-nav-actions>a.is-active{color:#7ce457}.loopv2-member-compat .demo-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-radius:7px;background:linear-gradient(#43b735,#31972b);color:#fff!important;font-weight:900}.loopv2-member-compat .loopv2-map-status{display:inline-grid;place-items:center;width:14px;height:14px}.loopv2-member-compat .loopv2-map-status-dot{display:block;width:7px;height:7px;border-radius:50%;background:#d95151;box-shadow:0 0 7px rgba(217,81,81,.65)}.loopv2-member-compat .loopv2-map-status.is-primary .loopv2-map-status-dot{background:#58dc43;box-shadow:0 0 7px rgba(88,220,67,.7)}.loopv2-member-compat .loopv2-map-status.is-backup .loopv2-map-status-dot{background:#e6b43d;box-shadow:0 0 7px rgba(230,180,61,.7)}@media(max-width:980px){.loopv2-member-compat .site-nav{grid-template-columns:210px 1fr}.loopv2-member-compat .site-nav-actions{display:none}.loopv2-member-compat .site-nav-links{justify-content:flex-end;gap:17px}}@media(max-width:680px){.loopv2-member-compat .site-nav{grid-template-columns:1fr;width:min(100% - 28px,1320px);padding:14px 0}.loopv2-member-compat .demo-brand{width:190px;margin:auto}.loopv2-member-compat .site-nav-links{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.loopv2-member-compat .site-nav-links a{justify-content:center;min-height:38px;font-size:11px}}

/* Shared V2 authentication and member account pages. */
.loopv2-auth{background:#071b1d;color:#f7faf8}.loopv2-auth .auth-page{min-height:calc(100vh - 190px);display:flex;align-items:center;padding:64px 0}.loopv2-auth .auth-layout{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(420px,1.15fr);gap:72px;align-items:center}.loopv2-auth .auth-intro{max-width:520px}.loopv2-auth .auth-kicker,.loopv2-auth .auth-panel-heading p{margin:0 0 12px;color:#65d33f;font-size:13px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.loopv2-auth .auth-intro h1{margin:0 0 20px;font-size:clamp(40px,5vw,68px);line-height:1.02}.loopv2-auth .auth-intro h1 span{color:#62c53a}.loopv2-auth .auth-intro>p:not(.auth-kicker){color:#c8d5d3;font-size:18px;line-height:1.6}.loopv2-auth .auth-benefits{display:grid;gap:14px;margin-top:30px}.loopv2-auth .auth-benefits span{display:flex;align-items:center;gap:12px;color:#edf5f2;font-weight:700}.loopv2-auth .auth-benefits svg{width:21px;height:21px;color:#65d33f}.loopv2-auth .auth-panel{padding:34px;border:1px solid #23563d;border-radius:10px;background:#0c2925;box-shadow:0 24px 60px rgba(0,0,0,.25)}.loopv2-auth .auth-panel-heading h2{margin:0 0 28px;font-size:30px}.loopv2-auth .auth-form{display:grid;gap:10px}.loopv2-auth .auth-form label{color:#eaf2ef;font-size:14px;font-weight:800}.loopv2-auth .auth-input{display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid #376253;border-radius:6px;background:#071f1d}.loopv2-auth .auth-input:focus-within{border-color:#65d33f;box-shadow:0 0 0 3px rgba(101,211,63,.13)}.loopv2-auth .auth-input svg{width:19px;color:#65d33f}.loopv2-auth .auth-input input{box-sizing:border-box;width:100%;border:0;padding:16px 0;background:transparent;color:#fff;outline:0;font:inherit}.loopv2-auth .auth-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.loopv2-auth .auth-form-grid label{display:grid;gap:7px}.loopv2-auth .auth-form-grid input,.loopv2-auth .auth-form-grid select{box-sizing:border-box;width:100%;min-height:48px;padding:0 13px;border:1px solid #376253;border-radius:6px;background:#071f1d;color:#fff;font:inherit}.loopv2-auth .auth-span-2{grid-column:1/-1}.loopv2-auth .auth-form-row{text-align:right}.loopv2-auth .auth-form a,.loopv2-auth .auth-switch a{color:#6cdb45;font-weight:800}.loopv2-auth .auth-captcha{min-height:78px;margin:8px 0;overflow:hidden}.loopv2-auth .auth-submit{width:100%;justify-content:center;min-height:52px;border:0;cursor:pointer;font-size:16px}.loopv2-auth .auth-switch{margin:22px 0 0;padding-top:20px;border-top:1px solid #285044;color:#b9c9c5;text-align:center}.loopv2-auth .auth-message,.loopv2-auth .auth-error{margin:0 0 20px;padding:12px 14px;border:1px solid #52705f;border-radius:6px;background:#12342d;color:#eaffea;font-weight:700;line-height:1.45}.loopv2-auth .auth-error{border-color:#b94a42;background:#351b1b;color:#ffd9d5}.loopv2-account{background:#06191b;color:#fff}.loopv2-account .account-section-hero{padding:58px 0 48px;border-bottom:1px solid #24513d;background:#071b1d}.loopv2-account .account-back{display:inline-block;margin-bottom:28px;color:#75dd50;font-size:14px;font-weight:800;text-decoration:none}.loopv2-account .account-section-title{display:flex;align-items:flex-start;gap:22px;max-width:820px}.loopv2-account .account-section-title>span{display:grid;place-items:center;flex:0 0 64px;width:64px;height:64px;border:1px solid #34714f;border-radius:7px;background:#10372d;color:#70dc49}.loopv2-account .account-section-title svg{width:30px;height:30px}.loopv2-account .account-section-title p,.loopv2-account .account-tools-heading p{margin:0 0 8px;color:#6ddd47;font-size:13px;font-weight:900;text-transform:uppercase}.loopv2-account .account-section-title h1{margin:0 0 12px;font-size:44px}.loopv2-account .account-section-title div div{color:#bed0ca;font-size:17px;line-height:1.55}.loopv2-account .account-route-nav{border-bottom:1px solid #214b3a;background:#0a2522}.loopv2-account .account-route-nav .demo-shell{display:flex;gap:4px;overflow-x:auto;padding-top:9px;padding-bottom:9px}.loopv2-account .account-route-nav a{padding:11px 14px;border-radius:5px;color:#bbcec8;font-size:13px;font-weight:800;text-decoration:none;white-space:nowrap}.loopv2-account .account-tools{min-height:52vh;padding:48px 0 70px}.loopv2-account .account-tools-heading{margin-bottom:24px}.loopv2-account .account-tool-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.loopv2-account .account-tool-card{position:relative;display:flex;flex-direction:column;box-sizing:border-box;min-height:220px;padding:26px;border:1px solid #25543f;border-radius:7px;background:#0b2a25;color:#fff;text-decoration:none}.loopv2-account .account-tool-icon{position:absolute;top:22px;right:22px;display:grid;place-items:center;width:38px;height:38px;border-radius:5px;background:#164532;color:#70df4b}.loopv2-account .account-tool-card h3{max-width:80%;margin:4px 0 14px;font-size:20px}.loopv2-account .account-tool-card p{margin:0 0 24px;color:#b7cac4;line-height:1.5}.loopv2-account .account-tool-card strong{margin-top:auto;color:#70dc49}@media(max-width:900px){.loopv2-auth .auth-layout{grid-template-columns:1fr;gap:30px}.loopv2-account .account-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.loopv2-auth .auth-page{padding:26px 0}.loopv2-auth .auth-intro h1{font-size:36px}.loopv2-auth .auth-panel{padding:22px 18px}.loopv2-auth .auth-form-grid{grid-template-columns:1fr}.loopv2-auth .auth-span-2{grid-column:auto}.loopv2-auth .auth-captcha{transform:scale(.86);transform-origin:left top;margin-bottom:-4px}.loopv2-account .account-section-title{display:block}.loopv2-account .account-section-title>span{margin-bottom:18px}.loopv2-account .account-tool-grid{grid-template-columns:1fr}}

/* Consolidated signed-in member dashboard styles. */
html,body.member-v2-page{min-height:100%;background:#06191b!important;color:#f4f8f6!important;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important}.member-v2-page .main-content{width:100%;max-width:none!important;margin:0!important;padding:0!important;background:#06191b!important}.member-v2-page .main-content>.center-content.main-content{max-width:1240px!important;margin:0 auto!important;padding:42px 28px 70px!important;box-sizing:border-box}.member-v2-page .welcome-message{max-width:none!important;margin:0 0 22px!important;padding:32px 36px!important;border:1px solid #24523f!important;border-radius:8px!important;background:#0b2925!important;text-align:left!important;box-shadow:0 18px 45px rgba(0,0,0,.18)!important}.member-v2-page .welcome-message h2{margin:0 0 8px!important;color:#fff!important;font-size:34px!important;letter-spacing:0!important}.member-v2-page .welcome-message p{margin:0!important;color:#b9cbc6!important;text-align:left!important;font-size:16px!important}.member-v2-page h1,.member-v2-page h2,.member-v2-page h3{color:#f8fbf9!important;letter-spacing:0!important}.member-v2-page a{color:#68d843}.member-v2-page .center-content>h1{margin:34px 0 14px!important;font-size:28px!important;text-align:left!important}.member-v2-page .member-home-intro{margin:0 0 28px!important;padding:24px 28px!important;border:1px solid #1f4939!important;border-radius:8px!important;background:#09231f!important;text-align:left!important}.member-v2-page .member-home-intro p,.member-v2-page .member-home-prompts{color:#c6d5d1!important;line-height:1.55!important}.member-v2-page .member-home-prompts{margin:0!important;padding-left:22px!important}.member-v2-page .member-home-prompts+.member-home-prompts{margin-top:14px!important}.member-v2-page .member-home-prompts li::marker{color:#63d33e}.member-v2-page .membership-expiration,.member-v2-page .expired-memberships{color:#d0ddd9!important}.member-v2-page .trial-status-grid{gap:16px!important;margin:20px 0!important}.member-v2-page .trial-status-card{border:1px solid #2a5b44!important;border-radius:7px!important;background:#0c2d27!important;color:#eaf2ef!important;box-shadow:none!important}.member-v2-page .tabs{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin:28px 0 18px!important;padding:8px!important;border:1px solid #214b3a!important;border-radius:8px!important;background:#081f1d!important}.member-v2-page .tab{flex:1 1 170px!important;min-height:46px!important;display:flex!important;align-items:center!important;justify-content:center!important;margin:0!important;padding:10px 16px!important;border:1px solid transparent!important;border-radius:6px!important;background:transparent!important;color:#bcd0ca!important;font-size:14px!important;font-weight:800!important;box-sizing:border-box!important;cursor:pointer!important}.member-v2-page .tab:hover{border-color:#367650!important;background:#10362d!important;color:#fff!important}.member-v2-page .tab.active{border-color:#60d23c!important;background:#2d8e2c!important;color:#fff!important;box-shadow:0 8px 20px rgba(45,142,44,.2)!important}.member-v2-page .slider-container{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;background:transparent!important}.member-v2-page .section-container{width:100%!important;max-width:none!important;margin:0!important;padding:28px!important;border:1px solid #214b3a!important;border-radius:8px!important;background:#09231f!important;box-sizing:border-box!important;box-shadow:none!important}.member-v2-page .section-container .area{margin:0 0 18px!important;padding:0 0 16px!important;border-bottom:1px solid #285342!important;background:transparent!important}.member-v2-page .section-container .area h2{margin:0!important;text-align:left!important;font-size:24px!important}.member-v2-page .section-container .row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;width:100%!important;max-width:none!important;margin:0 0 14px!important;padding:0!important}.member-v2-page .section-container .row.single-action-row{grid-template-columns:minmax(0,1fr)!important}.member-v2-page .lgreen-button,.member-v2-page .lf-corner-badge-button{display:flex!important;align-items:center!important;justify-content:space-between!important;min-width:0!important;width:100%!important;min-height:62px!important;margin:0!important;padding:16px 20px!important;border:1px solid #2b6548!important;border-radius:6px!important;background:#0d3029!important;color:#f5faf7!important;font-size:15px!important;font-weight:800!important;line-height:1.3!important;text-align:left!important;text-decoration:none!important;box-sizing:border-box!important;box-shadow:none!important}.member-v2-page .lgreen-button:hover,.member-v2-page .lf-corner-badge-button:hover{border-color:#66db41!important;background:#154b38!important;color:#75e34f!important;transform:translateY(-1px)!important}.member-v2-page .lf-corner-badge-button::before{background:#369d2f!important;color:#fff!important}.member-v2-page .contractor-listing-summary,.member-v2-page .locations-summary-row,.member-v2-page .premium-summary,.member-v2-page .area-container{border-color:#285342!important;background:#0b2925!important;color:#d6e1de!important;box-shadow:none!important}.member-v2-page table{border-collapse:collapse!important;background:#0b2925!important;color:#e7efec!important}.member-v2-page th{background:#12372f!important;color:#73dd4e!important}.member-v2-page td,.member-v2-page th{border-color:#2a5142!important}.member-v2-page input,.member-v2-page select,.member-v2-page textarea{border:1px solid #376253!important;background:#071f1d!important;color:#fff!important}.member-v2-page .footer{margin-top:auto!important;border-top:1px solid #224638!important;background:#041416!important;color:#9cb0ab!important}.member-v2-page .expired-memberships p{border:1px solid #714a2c!important;border-radius:6px!important;background:#2b2118!important;color:#f2d2b8!important}@media(max-width:760px){.member-v2-page .main-content>.center-content.main-content{padding:24px 14px 46px!important}.member-v2-page .welcome-message{padding:24px 20px!important}.member-v2-page .welcome-message h2{font-size:28px!important}.member-v2-page .tabs{display:grid!important;grid-template-columns:1fr!important}.member-v2-page .tab{width:100%!important}.member-v2-page .section-container{padding:18px 14px!important}.member-v2-page .section-container .row{grid-template-columns:1fr!important}.member-v2-page .lgreen-button,.member-v2-page .lf-corner-badge-button{min-height:56px!important}.member-v2-page .trial-status-grid{grid-template-columns:1fr!important}}


/* CONSOLIDATED MEMBER HUB */
.member-v2-page .member-tool-nav{position:sticky;top:72px;z-index:40;border-top:1px solid #17392f;border-bottom:1px solid #214b3a;background:#08211f}.member-v2-page .member-tool-nav-inner{display:flex;align-items:center;gap:4px;min-height:54px;overflow-x:auto;scrollbar-width:thin}.member-v2-page .member-tool-nav a{display:flex;align-items:center;min-height:38px;padding:0 14px;border-radius:5px;color:#b9ccc7!important;font-size:13px;font-weight:800;text-decoration:none;white-space:nowrap}.member-v2-page .member-tool-nav a:hover,.member-v2-page .member-tool-nav a.is-active{background:#184635;color:#76e451!important}.member-v2-page .main-content>.center-content.main-content{width:min(1280px,calc(100% - 40px))!important;max-width:1280px!important;margin:0 auto!important;padding:36px 0 58px!important}.member-v2-page .center-content{width:100%!important;max-width:none!important;box-sizing:border-box!important}.member-v2-page .welcome-message{position:relative;overflow:hidden;display:flex!important;flex-direction:column;justify-content:center;min-height:148px;max-width:none!important;margin:0 0 30px!important;padding:36px 42px!important;background:#0d322a!important}.member-v2-page .welcome-message:after{content:"MEMBER";position:absolute;right:30px;bottom:-16px;color:rgba(104,216,67,.07);font-size:86px;font-weight:900}.member-v2-page .welcome-message h2{font-size:40px!important}.member-v2-page .center-content>h1{margin:0 0 16px!important;font-size:32px!important}.member-v2-page .member-home-intro{padding:28px 32px!important}.member-v2-page .member-home-intro,.member-v2-page .member-home-intro p,.member-v2-page .member-home-prompts,.member-v2-page .member-home-prompts li{color:#c7d7d2!important;font-size:15px!important}.member-v2-page .member-home-prompts strong{color:#72dc4d!important}.member-v2-page .tabs{margin-top:30px!important}.member-v2-page .section-container{padding:32px 36px!important}.member-v2-page .section-container .area h2{font-size:27px!important}.member-v2-page .section-container .row{gap:16px!important;margin-bottom:16px!important}.member-v2-page .lgreen-button,.member-v2-page .lf-corner-badge-button{min-height:76px!important;padding:18px 22px!important;background:#0c3029!important;font-size:16px!important}.member-v2-page .lgreen-button:after,.member-v2-page .lf-corner-badge-button:after{content:"\2192";color:#6ddd47;font-size:22px;font-weight:400}.member-v2-page .section-container p,.member-v2-page .section-container li,.member-v2-page .section-container span:not(.trial-status-icon){color:#c5d6d1!important}.member-v2-page .demo-footer{margin-top:0!important}@media(max-width:900px){.member-v2-page .member-tool-nav{top:64px}.member-v2-page .main-content>.center-content.main-content{width:min(100% - 28px,1280px)!important;padding:26px 0 48px!important}.member-v2-page .welcome-message:after{display:none}.member-v2-page .section-container{padding:24px 20px!important}}@media(max-width:760px){.member-v2-page .member-tool-nav{position:static}.member-v2-page .member-tool-nav-inner{padding:8px 14px}.member-v2-page .welcome-message{min-height:120px;padding:26px 22px!important}.member-v2-page .welcome-message h2{font-size:31px!important}.member-v2-page .section-container{padding:20px 14px!important}.member-v2-page .lgreen-button,.member-v2-page .lf-corner-badge-button{min-height:64px!important}}
/* Shared shell, header, buttons, and footer for signed-in member pages. */
.member-v2-page,
.member-v2-page * { box-sizing: border-box; }
.member-v2-page { margin: 0; }
.member-v2-page a { color: inherit; text-decoration: none; }
.member-v2-page .demo-shell { width: min(1320px, calc(100% - 48px)); margin-inline: auto; }
.member-v2-page .site-header { position: sticky; top: 0; z-index: 30; background: #071b1d; color: #fff; box-shadow: 0 2px 12px rgba(0,0,0,.22); }
.member-v2-page .site-nav { min-height: 78px; display: grid; grid-template-columns: 230px minmax(0,1fr) 230px; align-items: center; gap: 20px; }
.member-v2-page .demo-brand { display: flex; align-items: center; width: 220px; height: 68px; }
.member-v2-page .demo-brand img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: left center; }
.member-v2-page .site-nav-links { display: flex; align-items: center; justify-content: center; gap: 28px; font-size: 14px; font-weight: 800; }
.member-v2-page .site-nav-links a { display: flex; align-items: center; min-height: 78px; border-bottom: 3px solid transparent; color: #fff; white-space: nowrap; }
.member-v2-page .site-nav-links a:hover,
.member-v2-page .site-nav-links a:focus-visible { color: #72d94a; border-bottom-color: #62bd42; }
.member-v2-page .site-nav-actions { display: flex; align-items: center; justify-content: flex-end; gap: 18px; color: #fff; font-size: 14px; font-weight: 800; }
.member-v2-page .site-nav-actions a { white-space: nowrap; }
.member-v2-page .demo-button,
.member-v2-page .demo-button-outline-dark { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 0 20px; border: 1px solid transparent; border-radius: 6px; font-weight: 800; }
.member-v2-page .demo-button { color: #fff; background: linear-gradient(180deg,#4ca43b,#2e7e28); }
.member-v2-page .demo-button-outline-dark { border-color: #64a858; color: #fff; background: transparent; }
.member-v2-page .demo-button-small { min-height: 40px; padding-inline: 18px; }
.member-v2-page .loopv2-map-status { display: inline-flex; align-items: center; justify-content: center; }

/* Canonical primary header: identical on public and signed-in pages. */
.site-header.loopv2-shared-header {
  position: sticky;
  top: 0;
  z-index: 900;
  width: 100%;
  border-bottom: 0;
  background: #08191c;
  color: #fff;
  box-shadow: 0 2px 14px rgba(0, 0, 0, .3);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.loopv2-shared-header .site-nav {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr) 280px;
  align-items: center;
  gap: 20px;
  box-sizing: border-box;
  width: min(1320px, calc(100% - 48px));
  min-height: 76px;
  margin-inline: auto;
}
.loopv2-shared-header .demo-brand {
  display: flex;
  align-items: center;
  width: 220px;
  height: 68px;
}
.loopv2-shared-header .demo-brand img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: left center;
}
.loopv2-shared-header .site-nav-links,
.loopv2-shared-header .site-nav-actions {
  display: flex;
  align-items: center;
  color: #fff;
  font-size: 14px;
  font-weight: 800;
}
.loopv2-shared-header .site-nav-links {
  justify-content: center;
  gap: 28px;
}
.loopv2-shared-header .site-nav-actions {
  justify-content: flex-end;
  gap: 20px;
}
.loopv2-shared-header .site-nav-links a {
  display: flex;
  align-items: center;
  min-height: 76px;
  border-bottom: 3px solid transparent;
  color: #fff;
  white-space: nowrap;
  text-decoration: none;
}
.loopv2-shared-header .site-nav-links a:hover,
.loopv2-shared-header .site-nav-links a:focus-visible,
.loopv2-shared-header .site-nav-links a.is-active {
  color: #7ce457;
  border-bottom-color: #67cf43;
}
.loopv2-shared-header .site-nav-actions > a { white-space: nowrap; text-decoration: none; }
.loopv2-shared-header .demo-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 20px;
  border-radius: 7px;
  background: linear-gradient(180deg, #43b735, #31972b);
  color: #fff;
  font-weight: 900;
}
@media (max-width: 1180px) {
  .loopv2-shared-header .site-nav { grid-template-columns: 210px minmax(0, 1fr); }
  .loopv2-shared-header .site-nav-actions { display: none; }
  .loopv2-shared-header .site-nav-links { justify-content: flex-end; gap: 18px; }
}
@media (max-width: 850px) {
  .loopv2-shared-header .site-nav {
    grid-template-columns: 1fr;
    width: min(100% - 28px, 1320px);
    gap: 0;
    padding-block: 8px;
  }
  .loopv2-shared-header .demo-brand { width: 205px; height: 62px; justify-self: center; }
  .loopv2-shared-header .site-nav-links {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    justify-content: stretch;
    width: 100%;
    gap: 0;
  }
  .loopv2-shared-header .site-nav-links a { justify-content: center; min-height: 38px; font-size: 11px; }
}
.member-v2-page .loopv2-map-status-dot { display: block; width: 8px; height: 8px; border-radius: 50%; background: #5ece3e; }
.member-v2-page .loopv2-map-status.is-down .loopv2-map-status-dot { background: #75817d; }
.member-v2-page .demo-footer { color: #fff; background: #091619; }
.member-v2-page .demo-footer-main { min-height: 105px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.member-v2-page .demo-footer-statement { display: flex; align-items: center; gap: 18px; }
.member-v2-page .demo-brand-mark { width: 39px; height: 39px; flex: 0 0 39px; border: 4px solid #f57a00; border-top-color: #78dc4c; border-right-color: #36842d; border-radius: 50%; }
.member-v2-page .demo-footer-statement p { margin: 0; padding-left: 18px; border-left: 1px solid #536165; font-size: 19px; font-weight: 800; }
.member-v2-page .demo-footer-statement strong { color: #69cf43; }
.member-v2-page .demo-footer-actions,
.member-v2-page .demo-footer-links { display: flex; align-items: center; gap: 12px; }
.member-v2-page .demo-footer-bottom { min-height: 44px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid #344247; color: #aab5b8; font-size: 11px; }
@media (max-width: 1050px) {
  .member-v2-page .site-nav { grid-template-columns: 210px 1fr; }
  .member-v2-page .site-nav-actions { display: none; }
  .member-v2-page .site-nav-links { justify-content: flex-end; gap: 18px; }
}
@media (max-width: 760px) {
  .member-v2-page .demo-shell { width: min(100% - 28px, 1320px); }
  .member-v2-page .site-nav { display: block; padding-block: 8px 12px; }
  .member-v2-page .demo-brand { width: 190px; height: 58px; margin-inline: auto; }
  .member-v2-page .site-nav-links { flex-wrap: wrap; gap: 4px 14px; }
  .member-v2-page .site-nav-links a { min-height: 36px; }
  .member-v2-page .demo-footer-main,
  .member-v2-page .demo-footer-bottom { display: block; padding-block: 24px; }
  .member-v2-page .demo-footer-actions,
  .member-v2-page .demo-footer-links { flex-wrap: wrap; margin-top: 18px; }
}
/* Member profile */
.member-profile-page .member-home-nav {
  width: min(1120px, calc(100% - 32px));
  margin: 22px auto 0;
}

.member-profile-page .member-profile-grid {
  display: grid;
  gap: 18px;
}

.member-profile-page .member-profile-grid > .row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 0;
}

.member-profile-page .member-profile-grid > .row:has(> :only-child) {
  grid-template-columns: 1fr;
}

.member-profile-page .input-container {
  min-width: 0;
  margin: 0;
}

.member-profile-page .input-container label {
  display: block;
  margin: 0 0 7px;
  color: var(--white, #fff);
}

.member-profile-page .member-full-width-form {
  width: 100%;
}

.member-profile-page .member-timezone-field {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 10px 16px;
}

.member-profile-page .member-timezone-field label {
  grid-column: 1 / -1;
}

.member-profile-page .member-current-time {
  min-width: 105px;
  padding-bottom: 12px;
  color: var(--green-2, #62d63c);
  font-weight: 800;
  text-align: right;
}

.member-profile-page .membership-area {
  margin: 0;
  padding: 20px;
  border: 1px solid rgba(98, 214, 60, .22);
  border-radius: 12px;
  background: rgba(10, 51, 43, .78) !important;
  box-shadow: none;
}

.member-profile-page .membership-area .membership-title {
  color: var(--white, #fff);
  font-size: 1.15rem;
}

.member-profile-page .lf-account-message.is-success {
  border-color: rgba(98, 214, 60, .4);
  color: var(--green-2, #62d63c);
}

@media (max-width: 760px) {
  .member-profile-page .member-profile-grid > .row,
  .member-profile-page .membership-area .row {
    grid-template-columns: 1fr;
  }

  .member-profile-page .member-timezone-field {
    grid-template-columns: 1fr;
  }

  .member-profile-page .member-current-time {
    padding: 0;
    text-align: left;
  }
}

/* Member profile: unified V2 account presentation */
.member-profile-page .lf-account-shell {
  width: min(1180px, calc(100% - 40px));
  margin: 36px auto 64px;
}
.member-profile-page .lf-account-hero {
  padding: 34px 38px;
  border: 1px solid rgba(98,214,60,.25);
  border-radius: 14px 14px 0 0;
  background: linear-gradient(135deg,#0e3931,#0a2d28);
}
.member-profile-page .lf-account-body {
  padding: 34px 38px;
  border: 1px solid rgba(98,214,60,.2);
  border-top: 0;
  border-radius: 0 0 14px 14px;
  background: rgba(7,35,32,.92);
}
.member-profile-page .member-profile-grid {
  gap: 20px;
}
.member-profile-page .member-profile-grid > .row {
  display: grid !important;
  grid-template-columns: repeat(2,minmax(0,1fr));
  align-items: end;
  gap: 18px;
  width: 100%;
  margin: 0 !important;
}
.member-profile-page .member-profile-grid > .row:has(> :only-child) {
  grid-template-columns: 1fr;
}
.member-profile-page .input-container {
  width: 100% !important;
  align-items: stretch;
}
.member-profile-page .input-container label {
  color: #dce8e5 !important;
  font-size: 13px;
  letter-spacing: .01em;
}
.member-profile-page .mem-profile-shell input.inputfield233,
.member-profile-page .mem-profile-shell input.inputfield350,
.member-profile-page .mem-profile-shell input.inputfield700,
.member-profile-page .mem-profile-shell select.inputfield233,
.member-profile-page .mem-profile-shell select.inputfield350 {
  min-height: 48px !important;
  border: 1px solid rgba(165,198,189,.38) !important;
  border-radius: 7px !important;
  background: #f5f8f7 !important;
  color: #18302b !important;
  box-shadow: none !important;
}
.member-profile-page .mem-profile-shell input[readonly],
.member-profile-page .mem-profile-shell input:disabled,
.member-profile-page .mem-profile-shell select:disabled {
  border-color: rgba(124,161,151,.28) !important;
  background: #dce4e1 !important;
  color: #38514b !important;
  opacity: 1;
}
.member-profile-page .member-timezone-field {
  grid-template-columns: minmax(0,1fr) 130px;
}
.member-profile-page .member-current-time {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  padding:0;
  border:1px solid rgba(98,214,60,.28);
  border-radius:7px;
  background:#0c3029;
  color:#74e150;
}
.member-profile-page .mem-profile-shell .lgreen-button,
.member-profile-page .mem-profile-shell input[type="submit"],
.member-profile-page .mem-profile-shell button[type="submit"],
.member-profile-page .mem-profile-shell .lorange-button {
  min-height: 50px !important;
  border: 1px solid rgba(98,214,60,.55) !important;
  border-radius: 7px !important;
  background: linear-gradient(180deg,#39b332,#2d9829) !important;
  color: #fff !important;
  box-shadow: none !important;
}
.member-profile-page .mem-profile-shell .lgreen-button:hover,
.member-profile-page .mem-profile-shell input[type="submit"]:hover,
.member-profile-page .mem-profile-shell button[type="submit"]:hover,
.member-profile-page .mem-profile-shell .lorange-button:hover {
  background: #45bd39 !important;
}
.member-profile-page .membership-area {
  padding: 26px !important;
  border-color: rgba(98,214,60,.3) !important;
  background: linear-gradient(145deg,rgba(14,57,49,.96),rgba(8,39,35,.98)) !important;
}
.member-profile-page .membership-area .membership-title {
  margin: 0;
  color: #fff !important;
  font-size: 22px;
  text-align: left;
}
.member-profile-page .membership-area .row {
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:16px;
  margin:0 0 16px !important;
}
.member-profile-page .membership-area .row:last-child { margin-bottom:0 !important; }
@media(max-width:760px){
  .member-profile-page .lf-account-shell{width:min(100% - 24px,1180px);margin:22px auto 44px}
  .member-profile-page .lf-account-hero,.member-profile-page .lf-account-body{padding:24px 18px}
  .member-profile-page .member-profile-grid>.row{grid-template-columns:1fr}
  .member-profile-page .member-timezone-field{grid-template-columns:1fr}
  .member-profile-page .member-current-time{justify-content:flex-start;padding:0 14px}
}
/* Member transactions */
.member-transactions-page .member-home-nav {
  width: min(1280px, calc(100% - 32px));
  margin: 22px auto 0;
}

.member-transactions-page .member-account-identity {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: 18px;
  color: var(--white, #fff);
}

.member-transactions-page .member-account-identity span {
  color: var(--muted, #a8bbb5);
}

.member-transactions-page .lf-account-body > h2,
.member-transactions-page .lf-account-body > h3 {
  margin: 28px 0 14px;
  color: var(--white, #fff);
}

.member-transactions-page .bulk-master,
.member-transactions-page .membership-area,
.member-transactions-page details {
  max-width: 100%;
}

.member-transactions-page table {
  width: 100%;
}

.member-transactions-page .member-empty-state {
  padding: 28px;
  border: 1px dashed rgba(98, 214, 60, .35);
  border-radius: 12px;
  color: var(--muted, #a8bbb5);
  text-align: center;
}

@media (max-width: 820px) {
  .member-transactions-page .lf-account-body {
    overflow-x: auto;
  }

  .member-transactions-page .member-account-identity {
    display: grid;
  }
}
/* Member location claim */
.member-claim-page .member-home-nav {
  width: min(470px, calc(100% - 32px));
  margin: 22px auto 0;
}

.member-claim-page .claim-shell {
  width: min(470px, calc(100% - 32px));
}

.member-claim-page .claim-shell .form-container,
.member-claim-page .claim-shell form {
  display: grid;
  gap: 10px;
  width: 100%;
}

.member-claim-page .claim-shell .row {
  width: 100%;
  margin: 0;
}

.member-claim-page .claim-shell label {
  color: var(--white, #fff);
  font-weight: 800;
}

.member-claim-page .claim-shell input[type="text"] {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box;
}

.member-claim-page .claim-shell .center-content {
  margin-top: 12px;
}
/* Member locations */
.member-locations-page .member-home-nav {
  width: min(1280px, calc(100% - 32px));
  margin: 22px auto 0;
}

.member-locations-page .member-locations-shell {
  width: min(1280px, calc(100% - 32px));
}

.member-locations-page .lf-account-message {
  max-width: 900px;
  margin: 0 auto 16px;
}

.member-locations-page .lf-account-message:empty {
  display: none;
}

.member-locations-page .lf-account-message.is-success {
  border-color: rgba(98, 214, 60, .4);
  background: rgba(24, 92, 48, .34);
  color: var(--green-2, #62d63c);
}

.member-locations-page .lf-account-message.is-error {
  border-color: rgba(255, 122, 0, .42);
  background: rgba(96, 40, 8, .28);
  color: #ffb36b;
}

.member-locations-page .location-wrapper {
  width: 100%;
  max-width: none;
  margin: 0;
}

.member-locations-page .location-container,
.member-locations-page .bulk-container,
.member-locations-page details {
  max-width: 100%;
}

@media (max-width: 760px) {
  .member-locations-page .lf-account-body {
    padding-inline: 14px;
  }
}
/* Shared member workflow pages */
.member-v2-page {
  min-height: 100vh;
  background: var(--page, #031d1d);
  color: var(--white, #fff);
}

.member-v2-page main,
.member-v2-page .main-content,
.member-v2-page .content-wrapper,
.member-v2-page .container,
.member-v2-page .container-fluid {
  max-width: 1280px;
  margin-inline: auto;
}

.member-v2-page h1,
.member-v2-page h2,
.member-v2-page h3,
.member-v2-page h4,
.member-v2-page legend {
  color: var(--white, #fff);
}

.member-v2-page label,
.member-v2-page p,
.member-v2-page li,
.member-v2-page td,
.member-v2-page th {
  line-height: 1.45;
}

.member-v2-page input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.member-v2-page select,
.member-v2-page textarea {
  max-width: 100%;
  border-radius: 8px;
}

.member-v2-page .form-container,
.member-v2-page .membership-area,
.member-v2-page .location-container,
.member-v2-page .mq-panel,
.member-v2-page .cont-form-shell,
.member-v2-page .pro-panel {
  border-color: rgba(98, 214, 60, .22);
}

.member-v2-page .member-home-nav,
.member-v2-page .contractor-home-nav,
.member-v2-page .mq-nav {
  padding-inline: 16px;
}

.member-v2-page .member-home-nav a,
.member-v2-page .contractor-home-nav a,
.member-v2-page .mq-nav a {
  border-radius: 8px;
}

.member-v2-page .lgreen-button,
.member-v2-page .green-button,
.member-v2-page .lorange-button,
.member-v2-page button,
.member-v2-page input[type="submit"] {
  min-height: 42px;
}

.member-map-page #map,
.member-map-page .map,
.member-map-page .map-container {
  max-width: 100%;
  border-radius: 12px;
  overflow: hidden;
}

.member-plan-page .membership-area,
.member-location-form-page .form-container,
.member-profile-edit-page .form-container,
.member-quote-page .mq-panel {
  width: min(960px, calc(100% - 32px));
  margin-inline: auto;
}

.contractor-member-page .contractor-home-nav,
.contractor-member-page .pro-nav,
.contractor-member-page .bidding-nav {
  max-width: 1280px;
  margin-inline: auto;
}

@media (max-width: 760px) {
  .member-v2-page main,
  .member-v2-page .main-content,
  .member-v2-page .content-wrapper,
  .member-v2-page .container,
  .member-v2-page .container-fluid {
    width: 100%;
  }
}

/* =========================================================
   MEMBER PLANS AND TRANSACTIONS
   Presentation only. Payment and subscription behavior remains page-owned.
   ========================================================= */
.member-plan-page .lf-account-shell,
.member-transactions-page .lf-account-shell {
  display: block;
  box-sizing: border-box;
  width: min(1180px, calc(100% - 40px));
  max-width: 1180px;
  margin: 34px auto 64px;
  border: 1px solid #24513d !important;
  border-radius: 10px;
  overflow: hidden;
  background: #08231f !important;
  color: #e8f1ee !important;
  box-shadow: 0 22px 55px rgba(0, 0, 0, .25);
}
.member-plan-page .lf-account-hero,
.member-transactions-page .lf-account-hero {
  margin: 0 !important;
  padding: 30px 36px !important;
  border: 0 !important;
  border-bottom: 1px solid #2c6048 !important;
  background: linear-gradient(135deg, #0e3b31, #0a2d27) !important;
  color: #fff !important;
}
.member-plan-page .lf-account-kicker,
.member-transactions-page .lf-account-kicker {
  display: block;
  margin: 0 0 8px !important;
  padding: 0 !important;
  background: transparent !important;
  color: #70df49 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.member-plan-page .lf-account-title,
.member-transactions-page .lf-account-title {
  margin: 0 0 8px !important;
  color: #fff !important;
  font-size: clamp(30px, 4vw, 44px) !important;
  line-height: 1.08;
}
.member-plan-page .lf-account-hero p,
.member-transactions-page .lf-account-copy {
  margin: 0 !important;
  color: #c2d4cf !important;
  font-size: 16px;
  line-height: 1.55;
}
.member-plan-page .lf-account-body,
.member-transactions-page .lf-account-body {
  padding: 34px 36px 42px !important;
  background: #08231f !important;
  color: #dce8e4 !important;
}
.member-plan-page .pricing-section {
  margin: 0 auto 26px !important;
  padding: 0 !important;
  background: transparent !important;
  color: #fff !important;
  text-align: center;
}
.member-plan-page .pricing-section h2 {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 190px;
  margin: 0 0 10px !important;
  padding: 18px 28px !important;
  border: 1px solid #4a875f !important;
  border-radius: 8px !important;
  background: #103b30 !important;
  color: #75e34f !important;
  font-size: 38px !important;
  box-shadow: none !important;
}
.member-plan-page .pricing-section p,
.member-plan-page .benefit-intro,
.member-plan-page .premium-note,
.member-plan-page .location-note {
  color: #c8d8d3 !important;
}
.member-plan-page .benefit-intro,
.member-plan-page .premium-note,
.member-plan-page .location-note {
  max-width: 760px;
  margin: 20px auto !important;
  font-size: 15px !important;
  line-height: 1.6;
}
.member-plan-page ul.custom-bullets {
  box-sizing: border-box;
  max-width: 760px !important;
  margin: 24px auto !important;
  padding: 24px 28px !important;
  border: 1px solid #32654e !important;
  border-radius: 8px !important;
  background: #0b2d27 !important;
  color: #e7f0ed !important;
  box-shadow: none !important;
}
.member-plan-page ul.custom-bullets li {
  margin: 0 !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.08);
  color: #e7f0ed !important;
  font-weight: 700;
}
.member-plan-page ul.custom-bullets li:last-child { border-bottom: 0; }
.member-plan-page ul.custom-bullets li::before { color: #69df45 !important; }
.member-plan-page .subscription-type {
  display: flex !important;
  justify-content: center;
  gap: 12px !important;
  margin: 26px auto !important;
}
.member-plan-page .subscription-type label {
  box-sizing: border-box;
  min-width: 230px !important;
  margin: 0 !important;
  padding: 13px 16px !important;
  border: 1px solid #3a6a55 !important;
  border-radius: 7px !important;
  background: #0b2d27 !important;
  color: #edf5f2 !important;
}
.member-plan-page .trial-message-container,
.member-plan-page .conversion-banner,
.member-plan-page .coupon-hint,
.member-plan-page .coupon-area {
  border-color: #396d56 !important;
  background: #10352d !important;
  color: #dceae5 !important;
  box-shadow: none !important;
}
.member-plan-page .lf-account-body > .trial-button,
.member-plan-page .lf-account-body > #checkout-button,
.member-plan-page #checkout-button,
.member-plan-page .o-button {
  border: 1px solid #58c63a !important;
  border-radius: 7px !important;
  background: linear-gradient(180deg, #43b735, #2f8f29) !important;
  color: #fff !important;
  box-shadow: none !important;
}
.member-plan-page .modal-content {
  border-color: #396d56 !important;
  background: #0b2d27 !important;
  color: #e6efec !important;
}

.member-transactions-page .member-account-identity {
  margin-top: 18px;
  color: #fff;
}
.member-transactions-page .lf-account-body > h2,
.member-transactions-page .lf-account-body > h3 {
  margin: 30px 0 14px !important;
  color: #fff !important;
  text-align: left;
}
.member-transactions-page .bulk-master,
.member-transactions-page details.bulk-card,
.member-transactions-page details.loc-card,
.member-transactions-page details.prem-card,
.member-transactions-page details.cont-card,
.member-transactions-page .membership-area {
  margin: 0 0 16px !important;
  border: 1px solid #32654e !important;
  border-radius: 8px !important;
  overflow: hidden;
  background: #0b2d27 !important;
  color: #e5efeb !important;
  box-shadow: none !important;
}
.member-transactions-page .bulk-master-head,
.member-transactions-page .bulk-head,
.member-transactions-page .loc-head,
.member-transactions-page .prem-head,
.member-transactions-page .cont-head {
  border: 0 !important;
  background: #103b30 !important;
  color: #eaf4f0 !important;
}
.member-transactions-page summary {
  padding: 15px 18px !important;
  cursor: pointer;
}
.member-transactions-page summary strong,
.member-transactions-page .prem-head strong,
.member-transactions-page .loc-head strong,
.member-transactions-page .bulk-head strong {
  color: #72df4b !important;
}
.member-transactions-page .badge,
.member-transactions-page .cancellation-badge,
.member-transactions-page .prem-toggle-label {
  border-color: #738b7e !important;
  background: #173d33 !important;
  color: #f2d09a !important;
}
.member-transactions-page .table-responsive { overflow-x: auto; background: #092720 !important; }
.member-transactions-page table,
.member-transactions-page .premium-table {
  width: 100%;
  border-collapse: collapse;
  background: #092720 !important;
  color: #dce8e4 !important;
}
.member-transactions-page th {
  padding: 12px !important;
  border: 1px solid #315b4b !important;
  background: #154536 !important;
  color: #77e151 !important;
}
.member-transactions-page td,
.member-transactions-page td.tx-cell,
.member-transactions-page tr.tx-row td.tx-cell {
  padding: 12px !important;
  border: 1px solid #315348 !important;
  background: #0b2b25 !important;
  color: #dbe7e3 !important;
}
.member-transactions-page tr.tr-canceled td {
  background: #172b27 !important;
  color: #9eb0aa !important;
}
.member-transactions-page code { color: #b9cec7 !important; }

/* Member dashboard alignment: center the secondary navigation and compact panels. */
.member-v2-page .member-tool-nav-inner {
  justify-content: center !important;
  justify-content: safe center !important;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}
.member-v2-page .member-tabs-wrap {
  box-sizing: border-box;
  width: min(920px, 100%);
  margin: 30px auto 18px;
}
.member-v2-page .member-tabs-wrap .tabs {
  width: 100% !important;
  margin: 0 !important;
}
.member-v2-page .main-content > .center-content.main-content > .welcome-message,
.member-v2-page .main-content > .center-content.main-content > .tabs,
.member-v2-page .main-content > .center-content.main-content > .center-content.main-content > .tabs {
  margin-right: auto !important;
  margin-left: auto !important;
}
.member-v2-page main.main-content > .center-content.main-content > .center-content.main-content {
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}
.member-v2-page main.main-content > .center-content.main-content > .center-content.main-content > .tabs {
  width: min(920px, 100%) !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

@media (max-width: 760px) {
  .member-plan-page .lf-account-shell,
  .member-transactions-page .lf-account-shell { width: min(100% - 24px, 1180px); margin-block: 22px 42px; }
  .member-plan-page .lf-account-hero,
  .member-transactions-page .lf-account-hero,
  .member-plan-page .lf-account-body,
  .member-transactions-page .lf-account-body { padding: 24px 18px !important; }
  .member-plan-page .subscription-type { flex-direction: column !important; }
  .member-plan-page .subscription-type label { width: 100%; min-width: 0 !important; }
}
/* Member-owned rental and service location pages */
.member-directory-page,
.member-editor-page {
  padding: 48px 0 80px;
}
.member-directory-heading {
  width: min(920px, 100%);
  margin: 0 auto 28px;
  text-align: center;
}
.member-directory-heading h1 { margin: 6px 0 10px; }
.member-directory-heading p:last-child { color: var(--muted); }
.member-location-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  width: min(1100px, 100%);
  margin: 0 auto;
}
.member-location-card,
.member-empty-panel,
.member-form-panel {
  border: 1px solid rgba(76, 211, 49, .24);
  border-radius: 12px;
  background: rgba(7, 43, 37, .88);
  box-shadow: 0 16px 36px rgba(0, 0, 0, .16);
}
.member-location-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 20px;
  padding: 22px;
}
.member-location-card h2 { margin: 12px 0 8px; }
.member-location-card p { margin: 6px 0; color: var(--muted); }
.member-status-pill {
  display: inline-flex;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(76, 211, 49, .14);
  color: var(--green-2);
  font-size: 12px;
  font-weight: 800;
}
.member-empty-panel {
  width: min(760px, 100%);
  margin: 0 auto;
  padding: 30px;
  text-align: center;
}
.member-location-form { width: min(1050px, 100%); margin: 0 auto; }
.member-form-panel { padding: 24px; margin-bottom: 20px; }
.member-form-panel h2 { margin-top: 0; }
.member-form-grid,
.member-item-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.member-form-grid label:not(.member-checkbox) { display: grid; gap: 7px; font-weight: 700; }
.member-form-grid input,
.member-form-grid textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 8px;
  background: #082d27;
  color: #fff;
  padding: 12px 13px;
}
.member-form-grid textarea { min-height: 130px; resize: vertical; }
.member-form-wide { grid-column: 1 / -1; }
.member-checkbox {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 12px;
  border: 1px solid rgba(76, 211, 49, .18);
  border-radius: 8px;
  background: rgba(0,0,0,.1);
  font-weight: 700;
}
.member-form-actions {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 24px;
}
.member-form-message {
  width: min(1050px, 100%);
  margin: 0 auto 18px;
  padding: 13px 16px;
  border-radius: 8px;
  text-align: center;
  font-weight: 800;
}
.member-form-message.success { background: #145d25; color: #fff; }
.member-form-message.error { background: #7b2424; color: #fff; }
@media (max-width: 760px) {
  .member-location-grid,
  .member-form-grid,
  .member-item-grid { grid-template-columns: 1fr; }
  .member-form-wide { grid-column: auto; }
  .member-form-actions { flex-direction: column; }
}

/* Main advertising and listing-options page */
.loopv2-advertise { background: #041716; }
.advertise-hero {
  overflow: hidden;
  border-bottom: 1px solid rgba(76,211,49,.25);
  background: radial-gradient(circle at 82% 22%,rgba(76,211,49,.18),transparent 28%),linear-gradient(135deg,#041716,#082b26);
}
.advertise-hero-grid {
  display: grid;
  grid-template-columns: 1.28fr .72fr;
  gap: 4rem;
  align-items: center;
  padding-top: 5.5rem;
  padding-bottom: 5.5rem;
}
.advertise-hero h1 {
  max-width: 850px;
  margin: .7rem 0 0;
  color: #fff;
  font-size: clamp(3.2rem,6vw,5.8rem);
  line-height: .98;
  letter-spacing: -.055em;
}
.advertise-hero h1 span { color: #4bd83b; }
.advertise-lead {
  max-width: 780px;
  margin: 1.5rem 0 0;
  color: #c7d8d4;
  font-size: 1.16rem;
  line-height: 1.7;
}
.advertise-hero-actions { display: flex; gap: .85rem; flex-wrap: wrap; margin-top: 2rem; }
.advertise-hero-proof {
  overflow: hidden;
  border: 1px solid rgba(76,211,49,.3);
  border-radius: 18px;
  background: rgba(3,20,18,.76);
  box-shadow: 0 24px 55px rgba(0,0,0,.3);
}
.advertise-hero-proof > div {
  display: grid;
  grid-template-columns: 2.7rem 1fr;
  gap: .9rem;
  align-items: center;
  padding: 1.25rem 1.4rem;
  border-bottom: 1px solid rgba(255,255,255,.09);
}
.advertise-hero-proof > div:last-child { border-bottom: 0; }
.advertise-hero-proof i { width: 1.45rem; color: #4bd83b; }
.advertise-hero-proof p { margin: 0; }
.advertise-hero-proof strong,.advertise-hero-proof span { display: block; }
.advertise-hero-proof strong { color: #fff; }
.advertise-hero-proof span { margin-top: .25rem; color: #9fb7b1; font-size: .86rem; line-height: 1.4; }
.advertise-options { padding: 5rem 0; background: #061c1b; }
.advertise-section-heading { max-width: 800px; margin: 0 auto 2.5rem; text-align: center; }
.advertise-section-heading h2 { margin: .5rem 0 .8rem; color: #fff; font-size: clamp(2.1rem,4vw,3.5rem); line-height: 1.08; letter-spacing: -.035em; }
.advertise-section-heading > p:last-child { color: #a9bfba; line-height: 1.65; }
.advertise-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1.15rem; }
.advertise-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 1.6rem;
  border: 1px solid rgba(76,211,49,.24);
  border-radius: 17px;
  background: linear-gradient(155deg,#0a2b27,#071f1d);
  box-shadow: 0 18px 38px rgba(0,0,0,.2);
}
.advertise-card.featured { border-color: rgba(76,211,49,.55); box-shadow: 0 18px 42px rgba(39,166,43,.12); }
.advertise-card.event-card { border-color: rgba(255,137,24,.5); }
.advertise-card.premium-card { border-color: rgba(78,145,230,.45); }
.advertise-card-icon { display: grid; width: 3.2rem; height: 3.2rem; place-items: center; border: 1px solid rgba(76,211,49,.38); border-radius: 12px; background: rgba(76,211,49,.09); color: #4bd83b; }
.advertise-card-icon i { width: 1.55rem; }
.advertise-card-heading { margin-top: 1.25rem; }
.advertise-card-heading p { margin: 0 0 .25rem; color: #70dd63; font-size: .72rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.advertise-card-heading h3 { margin: 0; color: #fff; font-size: 1.75rem; }
.advertise-price { display: grid; grid-template-columns: auto 1fr; column-gap: .75rem; align-items: end; margin: 1.25rem 0; padding: 1rem; border-radius: 12px; background: rgba(0,0,0,.17); }
.advertise-price strong { grid-row: 1 / 3; color: #fff; font-size: 2.35rem; line-height: 1; }
.advertise-price span { color: #c6d7d3; font-weight: 800; }
.advertise-price small { color: #83a19a; }
.advertise-card > p { margin: 0; color: #b7cbc6; line-height: 1.62; }
.advertise-card ul { display: grid; gap: .6rem; margin: 1.35rem 0; padding: 0; list-style: none; }
.advertise-card li { position: relative; padding-left: 1.35rem; color: #d7e3e0; font-size: .92rem; line-height: 1.4; }
.advertise-card li:before { content: ""; position: absolute; left: 0; top: .48rem; width: .5rem; height: .5rem; border-radius: 50%; background: #4bd83b; }
.advertise-card-action { display: flex; gap: .5rem; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.1); color: #55dc48; font-weight: 900; text-decoration: none; }
.advertise-card-action:hover { color: #fff; }
.advertise-card-action i { width: 1.1rem; }
.advertise-process { padding: 5rem 0; background: #041716; }
.advertise-steps { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; }
.advertise-steps article { padding: 1.5rem; border-top: 3px solid #42cc32; background: #082522; }
.advertise-steps span { color: #ff8a18; font-size: .78rem; font-weight: 900; }
.advertise-steps h3 { margin: .7rem 0; color: #fff; }
.advertise-steps p { margin: 0; color: #a9bfba; line-height: 1.58; }
.advertise-fit { padding: 0 0 5rem; background: #041716; }
.advertise-fit-inner { display: flex; gap: 3rem; align-items: center; justify-content: space-between; padding: 2.5rem; border: 1px solid rgba(76,211,49,.38); border-radius: 18px; background: linear-gradient(120deg,#0a352d,#0b2925); }
.advertise-fit-inner > div { max-width: 800px; }
.advertise-fit h2 { margin: .4rem 0 .7rem; color: #fff; font-size: clamp(1.9rem,3vw,2.8rem); }
.advertise-fit p:last-child { margin: 0; color: #b9cbc7; line-height: 1.65; }
.advertise-fit .demo-button { flex: 0 0 auto; }
@media (max-width: 1050px) {
  .advertise-hero-grid { grid-template-columns: 1fr; gap: 2rem; }
  .advertise-hero-proof { max-width: 650px; }
  .advertise-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .advertise-steps { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 680px) {
  .advertise-hero-grid { padding-top: 3.5rem; padding-bottom: 3.5rem; }
  .advertise-options,.advertise-process { padding: 3.5rem 0; }
  .advertise-grid,.advertise-steps { grid-template-columns: 1fr; }
  .advertise-fit-inner { align-items: flex-start; flex-direction: column; padding: 1.5rem; }
  .advertise-fit .demo-button { width: 100%; justify-content: center; }
}

/* Shared Loopfella modal used by footer tools. */
.lf-standard-modal[hidden] { display: none !important; }
.lf-standard-modal {
  --lf-modal-green: var(--green-2, #54ad36);
  --lf-modal-green-dark: var(--green-dark, #155c1b);
  --lf-modal-bg: #08221f;
  --lf-modal-panel: #0b302b;
  --lf-modal-field: #0a2824;
  --lf-modal-text: #f7fbf7;
  --lf-modal-muted: #b9cbc7;
  --lf-modal-line: rgba(84, 173, 54, .32);
  position: fixed;
  z-index: 5000;
  inset: 0;
  display: grid;
  place-items: center;
  box-sizing: border-box;
  padding: 24px;
  overflow-y: auto;
  background: rgba(0, 0, 0, .58);
  backdrop-filter: blur(4px);
}
.lf-standard-modal-card {
  box-sizing: border-box;
  width: min(760px, 100%);
  max-height: calc(100vh - 48px);
  padding: 28px;
  overflow-y: auto;
  border: 1px solid var(--lf-modal-line);
  border-radius: 14px;
  background: var(--lf-modal-bg);
  color: var(--lf-modal-text);
  box-shadow: 0 18px 42px rgba(0, 0, 0, .28);
}
.lf-standard-modal-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; margin-bottom: 22px; }
.lf-standard-modal-header h2 { margin: 4px 0 8px; color: var(--lf-modal-text); font-size: 30px; line-height: 1.1; }
.lf-standard-modal-header p { margin: 0; color: var(--lf-modal-muted); line-height: 1.5; }
.lf-standard-modal-eyebrow { color: var(--lf-modal-green) !important; font-size: 11px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.lf-standard-modal-close {
  display: grid;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--lf-modal-green);
  font-size: 25px;
  line-height: 1;
  cursor: pointer;
}
.lf-standard-modal-close:hover,.lf-standard-modal-close:focus-visible { background: var(--lf-modal-panel); color: var(--lf-modal-text); }
.lf-standard-form { display: grid; gap: 18px; }
.lf-standard-form label { display: grid; gap: 8px; color: var(--lf-modal-text); font-weight: 800; }
.lf-standard-form input,.lf-standard-form textarea {
  box-sizing: border-box;
  width: 100%;
  border: 1px solid var(--lf-modal-line);
  border-radius: 9px;
  outline: 0;
  background: var(--lf-modal-field);
  color: var(--lf-modal-text);
  font: inherit;
}
.lf-standard-form input { min-height: 50px; padding: 12px 14px; }
.lf-standard-form textarea { min-height: 150px; padding: 14px; resize: vertical; }
.lf-standard-form input:focus,.lf-standard-form textarea:focus { border-color: var(--lf-modal-green); box-shadow: 0 0 0 3px rgba(84, 173, 54, .18); }
.lf-standard-submit { width: 100%; min-height: 50px; border: 0; background: linear-gradient(180deg,var(--lf-modal-green),var(--lf-modal-green-dark)) !important; color: #fff !important; cursor: pointer; }
.lf-standard-submit:disabled { cursor: wait; opacity: .65; }
.lf-form-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; }
.lf-issue-messages { display: none; margin-bottom: 18px; padding: 12px 14px; border-radius: 8px; line-height: 1.45; }
.lf-issue-messages.is-success,.lf-issue-messages.is-error { display: block; }
.lf-issue-messages.is-success { border: 1px solid #4acb3d; background: #e9f8e6; color: #155724; }
.lf-issue-messages.is-error { border: 1px solid #dc6d62; background: #fbe9e7; color: #8b2118; }
.lf-help-modal-card { width: min(840px,100%); }
.lf-help-controls { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: center; margin-bottom: 20px; }
.lf-help-search-wrap input { box-sizing: border-box; width: 100%; min-height: 52px; padding: 12px 15px; border: 1px solid var(--lf-modal-line); border-radius: 8px; outline: 0; background: var(--lf-modal-field); color: var(--lf-modal-text); font: inherit; }
.lf-help-search-wrap input::placeholder { color: var(--lf-modal-muted); }
.lf-help-search-wrap input:focus { border-color: var(--lf-modal-green); box-shadow: 0 0 0 3px rgba(84,173,54,.18); }
.lf-help-scope { display: flex; gap: 7px; }
.lf-help-scope button { min-height: 44px; padding: 0 16px; border: 1px solid var(--lf-modal-line); border-radius: 999px; background: var(--lf-modal-field); color: var(--lf-modal-text); font-weight: 800; cursor: pointer; }
.lf-help-scope button.is-active { border-color: var(--lf-modal-green); background: var(--lf-modal-green-dark); color: #fff; }
.lf-help-results-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 10px; }
.lf-help-results-heading p { margin: 0; color: var(--lf-modal-text); font-size: 12px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.lf-help-results-heading span { display: block; margin-top: 3px; color: var(--lf-modal-muted); font-size: 12px; }
.lf-help-results-heading button { border: 0; background: transparent; color: var(--lf-modal-green); font-weight: 800; cursor: pointer; }
.lf-help-topics { display: grid; gap: 10px; }
.lf-help-item { overflow: hidden; border: 1px solid var(--lf-modal-line); border-radius: 9px; background: var(--lf-modal-field); }
.lf-help-item summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 15px 17px; color: var(--lf-modal-text); font-weight: 900; cursor: pointer; list-style: none; }
.lf-help-item summary::-webkit-details-marker { display: none; }
.lf-help-item summary:after { content: "+"; color: var(--lf-modal-green); font-size: 21px; font-weight: 500; }
.lf-help-item[open] summary { border-bottom: 1px solid var(--lf-modal-line); background: var(--lf-modal-panel); }
.lf-help-item[open] summary:after { content: "−"; }
.lf-help-item summary small { margin-left: auto; color: var(--lf-modal-muted); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.lf-help-answer { padding: 17px; color: var(--lf-modal-muted); line-height: 1.55; }
.lf-help-answer ol { margin: 0 0 16px 22px; padding: 0; }
.lf-help-answer li + li { margin-top: 8px; }
.lf-help-action { display: inline-flex; min-height: 40px; padding: 9px 15px; background: linear-gradient(180deg,var(--lf-modal-green),var(--lf-modal-green-dark)) !important; color: #fff !important; }
.lf-help-empty { padding: 24px; border: 1px dashed var(--lf-modal-line); border-radius: 9px; background: var(--lf-modal-field); color: var(--lf-modal-muted); text-align: center; }
.lf-help-empty strong { color: var(--lf-modal-text); }
.lf-help-empty p { margin: 6px 0 0; }
.lf-help-launcher { position: fixed; z-index: 1200; right: 0; top: 150px; }
.lf-help-button,.common-link { display: grid; width: 82px; min-height: 42px; place-items: center; border: 0; border-radius: 10px 0 0 10px; background: var(--green-dark, #155c1b); color: #fff; font-weight: 800; text-decoration: none; cursor: pointer; }
.common-link-container { position: fixed; z-index: 1200; right: 0; top: 200px; }
.common-link { background: var(--green-dark, #155c1b); }
body.modal-open { overflow: hidden; }
@media (max-width: 600px) {
  .lf-standard-modal { align-items: start; padding: 14px; }
  .lf-standard-modal-card { max-height: calc(100dvh - 28px); padding: 22px 18px; }
  .lf-standard-modal-header h2 { font-size: 26px; }
  .lf-help-controls { grid-template-columns: 1fr; }
  .lf-help-scope button { flex: 1; }
  .lf-help-item summary { align-items: flex-start; }
  .lf-help-item summary small { display: none; }
}

/* Member trial email verification uses the current user-side palette. */
body.lf-trial-verification{background:#061c1b;color:#f4f8f6}
.lf-trial-verification .lf-trial-card,.lf-trial-verification .lf-trial-card *{box-sizing:border-box}
.lf-trial-verification .lf-trial-card{width:calc(100% - 32px);max-width:760px;margin:48px auto 64px;background:#0c2926;border:1px solid #285247;border-radius:12px;overflow:hidden}
.lf-trial-verification .lf-trial-card .header{padding:28px 30px 22px;background:#0c2926;border-bottom:1px solid #285247}
.lf-trial-verification .lf-trial-card h1{margin:0;color:#f4f8f6;font-size:clamp(22px,4vw,30px);line-height:1.3}
.lf-trial-verification .content{padding:26px 30px;line-height:1.6}
.lf-trial-verification .content p{color:#aec4bd;margin:0 0 18px}
.lf-trial-verification .content .lf-verification-step{color:#67cf43;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.lf-trial-verification .input-container,.lf-trial-verification form{width:100%;margin:0}
.lf-trial-verification #code-inputs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;max-width:360px;margin:24px 0}
.lf-trial-verification .digit-input{width:100%;min-width:0;height:54px;padding:0;background:#08221f;color:#f4f8f6;border:1px solid #285247;border-radius:7px;text-align:center;font:700 24px/1 Arial,sans-serif}
.lf-trial-verification .digit-input:focus-visible{outline:2px solid #67cf43;outline-offset:2px}
.lf-trial-verification .green-button{display:inline-flex;align-items:center;justify-content:center;width:auto;max-width:100%;min-height:46px;margin:6px 0 0;padding:12px 20px;border:1px solid #4d9a3d;border-radius:6px;background:linear-gradient(180deg,#4ca43b,#2e7e28);color:#fff;font:700 14px/1.4 Arial,sans-serif;cursor:pointer}
.lf-trial-verification .custom-bullets{padding:18px 18px 18px 36px;margin:20px 0;border:1px solid #285247;border-radius:8px;background:#08221f}
.lf-trial-verification .custom-bullets li{margin:8px 0}
.lf-trial-verification .custom-bullets li::marker{color:#67cf43}
.lf-trial-verification .smallerfont{font-size:13px}
.lf-trial-verification .content .msg{padding:14px 16px;border:1px solid #527469;border-radius:7px;color:#f4f8f6}
@media(max-width:480px){.lf-trial-verification .lf-trial-card{margin-top:24px}.lf-trial-verification .lf-trial-card .header,.lf-trial-verification .content{padding:22px 18px}.lf-trial-verification #code-inputs{gap:6px}.lf-trial-verification .digit-input{height:48px}.lf-trial-verification .green-button{width:100%}}

.lf-trial-verification main.lf-trial-card{min-height:0;flex:none}

/* =========================================================
   2026-09-07 SHARED PRINT REPORT SYSTEM
   White, practical print output translated from the current Loopfella theme.
   ========================================================= */
body.lf-print-page {
  --lf-print-green:#2f8129;
  --lf-print-bright:#54ad36;
  --lf-print-dark:#155c1b;
  --lf-print-orange:#f57a00;
  --lf-print-ink:#142027;
  --lf-print-muted:#5f7069;
  --lf-print-line:#d4dfd7;
  --lf-print-soft:#f3f7f4;
  box-sizing:border-box;
  width:min(8.5in,calc(100% - 28px));
  min-height:100vh;
  margin:14px auto;
  padding:24px 28px 18px;
  border-top:6px solid var(--lf-print-green);
  background:#fff;
  color:var(--lf-print-ink);
  font:12px/1.45 Inter,Arial,Helvetica,sans-serif;
  box-shadow:0 12px 38px rgba(15,42,33,.14);
  color-scheme:light;
}
body.lf-print-page *,body.lf-print-page *::before,body.lf-print-page *::after{box-sizing:border-box}
html:has(body.lf-print-page){background:#e8eeea}
body.lf-print-page .header,
.member-quote-print-page .brand{
  display:grid;
  grid-template-columns:165px minmax(0,1fr) auto;
  align-items:center;
  gap:22px;
  margin:0;
  padding:0 0 18px;
  border:0;
  border-bottom:1px solid #d4dfd7;
  background:#fff;
}
body.lf-print-page .header>img,
.member-quote-print-page .brand>img{
  display:block;
  width:165px;
  max-width:100%;
  height:54px;
  margin:0;
  object-fit:contain;
  object-position:left center;
}
body.lf-print-page .report-title,.member-quote-print-page .brand>div{min-width:0;text-align:left}
body.lf-print-page .report-eyebrow,
.member-quote-print-page .brand>div>div:first-child{
  display:block;
  margin:0 0 4px;
  color:#2f8129!important;
  font-size:10px;
  font-weight:900!important;
  letter-spacing:.14em!important;
  text-transform:uppercase;
}
body.lf-print-page h1,
body.lf-print-page .header h1,
.member-quote-print-page .brand h1{
  margin:0;
  color:#142027!important;
  font-size:25px;
  font-weight:850;
  line-height:1.08;
  letter-spacing:-.025em;
  text-align:left;
}
body.lf-print-page .header>h1::before{
  content:"THE CONSTRUCTION LOOP";
  display:block;
  margin:0 0 4px;
  color:#2f8129;
  font-size:10px;
  font-weight:900;
  letter-spacing:.14em;
}
body.lf-print-page .report-meta,
body.lf-print-page .header>p,
.member-quote-print-page .brand>div>div:last-child{
  display:grid;
  gap:3px;
  margin:0;
  color:#5f7069;
  font-size:10px;
  line-height:1.35;
  text-align:right;
  white-space:nowrap;
}
/* Retire the older FIND / CONNECT / BUILD print banner. The current site uses
   a quieter branded header and lets the report content lead. */
body.lf-print-page .brand-message{display:none}
body.lf-print-page .print-actions,
.member-quote-print-page .print-actions{display:flex;justify-content:center;gap:10px;margin:14px 0 18px}
body.lf-print-page .print-actions a,
body.lf-print-page .print-actions button,
.member-quote-print-page .print-actions a,
.member-quote-print-page .print-actions button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:0 18px;
  border:1px solid #155c1b;
  border-radius:6px;
  background:#2f8129;
  color:#fff;
  font:inherit;
  font-weight:850;
  text-decoration:none;
  cursor:pointer;
  box-shadow:0 4px 12px rgba(34,104,37,.16);
}
body.lf-print-page .print-actions button:last-child,
.member-quote-print-page .print-actions button:last-child{border-color:#a94200;background:var(--lf-action-orange);color:var(--lf-on-action-orange)}
body.lf-print-page>button:not(.mobile-print-button){
  display:flex!important;
  align-items:center;
  justify-content:center;
  min-height:40px;
  margin:14px auto 18px!important;
  padding:0 18px!important;
  border:1px solid #cc6500!important;
  border-radius:6px!important;
  background:var(--lf-action-orange)!important;
  color:var(--lf-on-action-orange)!important;
  font:inherit!important;
  font-weight:850!important;
  cursor:pointer;
  box-shadow:0 4px 12px rgba(204,101,0,.16);
}
body.lf-print-page .mobile-print-button{display:none!important}
body.lf-print-page>hr,body.lf-print-page main.report>hr{display:none}
body.lf-print-page .project-info,
.member-quote-print-page .meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:0 0 18px}
body.lf-print-page .project-info p,
.member-quote-print-page .meta>div{
  min-height:48px;
  margin:0;
  padding:10px 12px;
  border:1px solid #cbdcd0;
  border-top:3px solid #2f8129;
  border-radius:6px;
  background:#f3f7f4;
  color:#142027;
}
body.lf-print-page .project-info strong,
.member-quote-print-page .meta strong{
  display:block;
  margin-bottom:2px;
  color:#5f7069;
  font-size:9px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}
body.lf-print-page h2,
body.lf-print-page .results-heading,
.member-quote-print-page .section{
  margin:18px 0 10px;
  padding:0 0 7px;
  border:0;
  border-bottom:2px solid #2f8129;
  color:#142027!important;
  font-size:16px;
  font-weight:850;
  line-height:1.25;
}
body.lf-print-page .contractor,
body.lf-print-page .location{
  display:flex;
  align-items:stretch;
  gap:14px;
  width:100%;
  min-height:104px;
  margin:0 0 10px;
  padding:13px;
  border:1px solid #d4dfd7!important;
  border-left:4px solid #2f8129!important;
  border-radius:7px;
  background:#fff!important;
  color:#142027!important;
  break-inside:avoid;
  page-break-inside:avoid;
  box-shadow:0 3px 10px rgba(15,42,33,.06);
}
body.lf-print-page .result-number{
  display:grid;
  place-items:center;
  align-self:center;
  flex:0 0 40px;
  width:40px;
  min-width:40px;
  max-width:40px;
  height:40px;
  min-height:40px;
  max-height:40px;
  aspect-ratio:1/1;
  margin:0;
  padding:0;
  border-radius:50%;
  border:2px solid #dff1da;
  background:#3eaa34;
  color:#fff;
  font-size:16px;
  font-weight:900;
  line-height:1;
}
body.lf-print-page .location>img,
body.lf-print-page .logo-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 108px;
  width:108px;
  height:78px;
  margin:0;
  padding:8px;
  border:1px solid #d4dfd7;
  border-radius:6px;
  background:#f3f7f4;
  color:#5f7069;
  font-size:9px;
  line-height:1.25;
  text-align:center;
  object-fit:contain;
}
body.lf-print-page .contractor-body,body.lf-print-page .location-info{flex:1 1 auto;min-width:0}
body.lf-print-page .contractor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:7px}
body.lf-material-print-page .location-summary{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  align-content:center;
  justify-items:start;
  gap:5px;
  min-width:0;
  margin:0;
}
body.lf-print-page .contractor h3,
body.lf-print-page .location-name,
body.lf-print-page .location-info>b{color:#155c1b;font-size:14px;font-weight:900;line-height:1.25}
body.lf-print-page .contractor h3,
body.lf-print-page .location-info>b{
  min-width:0;
  overflow-wrap:break-word;
  word-break:normal;
  hyphens:none;
}
body.lf-material-print-page .location-name{
  width:100%;
  min-width:0;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
  white-space:normal;
}
body.lf-print-page .distance{
  display:inline-flex;
  align-items:center;
  width:auto;
  margin:0;
  padding:4px 8px;
  border:1px solid #bed2bf;
  border-radius:999px;
  background:#f3f7f4;
  color:#155c1b!important;
  font-size:10px;
  font-weight:900;
  white-space:nowrap;
}
body.lf-material-print-page .location-summary .distance{justify-self:start}
body.lf-print-page .location-address,body.lf-print-page .location-contact,body.lf-print-page .meta-item{color:#142027}
body.lf-print-page .detail-label,body.lf-print-page .meta-item>strong{color:#5f7069;font-weight:850}
body.lf-print-page .misc-aggregate,body.lf-print-page .tag{
  display:inline-flex;
  width:auto;
  margin:0 0 6px;
  padding:3px 8px;
  border:1px solid #b8d0b8;
  border-radius:999px;
  background:#edf7e9!important;
  color:#155c1b!important;
  font-size:9px;
  font-weight:850;
  line-height:1.3;
}
body.lf-print-page .qualifications{margin-top:9px;padding-top:8px;border-top:1px solid #d4dfd7}
body.lf-print-page .tags{margin-top:8px}
body.lf-print-page .footer{margin-top:18px;padding-top:10px;border-top:1px solid #d4dfd7;color:#5f7069;font-size:9px;text-align:center}
body.lf-print-page .footer hr{display:none}
body.lf-print-page .footer p{margin:0}
body.lf-print-page .footer strong{color:#155c1b;letter-spacing:.08em}

/* Material quote comparison retains its wider table format. */
.member-quote-print-page{box-sizing:border-box;width:min(10.5in,calc(100% - 28px));min-height:100vh;margin:14px auto!important;padding:24px 28px 18px!important;border-top:6px solid #2f8129;background:#fff!important;color:#142027!important;font:12px/1.45 Inter,Arial,sans-serif!important;box-shadow:0 12px 38px rgba(15,42,33,.14)}
.member-quote-print-page *{box-sizing:border-box}
.member-quote-print-page .report{max-width:none;margin:0;padding:0;border:0;background:#fff;color:#142027;box-shadow:none}
.member-quote-print-page .items{margin:0 0 18px;padding-left:22px}
.member-quote-print-page .comparison{width:100%;border-collapse:collapse;font-size:10px}
.member-quote-print-page .comparison th,.member-quote-print-page .comparison td{padding:8px;border:1px solid #d4dfd7;color:#142027;text-align:left;vertical-align:top}
.member-quote-print-page .comparison th{background:#123b31;color:#fff;font-size:9px;letter-spacing:.035em}
.member-quote-print-page .comparison tr:nth-child(even) td{background:#f3f7f4}
.member-quote-print-page .comparison tr.awarded td{background:#e4f4df}
.member-quote-print-page .fine{margin-top:18px;padding-top:10px;border-top:1px solid #d4dfd7;color:#5f7069;font-size:9px}

/* Outreach evidence report light preview and printed record. */
.lf-outreach-report-page .lf-evidence-report{
  --lf-print-green:#2f8129;
  --lf-print-dark:#155c1b;
  --lf-print-orange:#f57a00;
  --lf-print-ink:#142027;
  --lf-print-muted:#5f7069;
  --lf-print-line:#d4dfd7;
  --lf-print-soft:#f3f7f4;
  box-sizing:border-box;
  width:min(1050px,calc(100% - 32px));
  margin:28px auto 40px;
  padding:30px;
  border:1px solid var(--lf-print-line);
  border-top:6px solid var(--lf-print-green);
  background:#fff;
  color:var(--lf-print-ink);
  font:12px/1.45 Inter,Arial,sans-serif;
  box-shadow:0 12px 38px rgba(15,42,33,.18);
  color-scheme:light;
}
.lf-outreach-report-page .lf-evidence-report *{box-sizing:border-box}
.lf-outreach-report-page .lf-evidence-report-header{display:grid;grid-template-columns:165px 1fr;align-items:center;gap:22px;padding-bottom:18px;border-bottom:3px solid var(--lf-print-green)}
.lf-outreach-report-page .lf-evidence-report-header img{width:165px;height:54px;object-fit:contain;object-position:left center}
.lf-outreach-report-page .lf-evidence-report-header p{margin:0 0 4px;color:var(--lf-print-green)!important;font-size:10px;font-weight:900;letter-spacing:.14em}
.lf-outreach-report-page .lf-evidence-report-header h1{margin:0 0 4px!important;color:var(--lf-print-ink)!important;font-size:25px!important;line-height:1.08}
.lf-outreach-report-page .lf-evidence-report-header small,.lf-outreach-report-page .lf-evidence-report-header span{display:block;color:var(--lf-print-muted)!important}
.lf-outreach-report-page .lf-evidence-report section{margin-top:22px}
.lf-outreach-report-page .lf-evidence-report h2{margin:0 0 11px!important;padding-bottom:7px;border-bottom:2px solid var(--lf-print-green);color:var(--lf-print-ink)!important;font-size:16px!important}
.lf-outreach-report-page .lf-evidence-report dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin:0}
.lf-outreach-report-page .lf-evidence-report dl div{padding:8px 10px;border:1px solid var(--lf-print-line)!important;border-radius:5px;background:var(--lf-print-soft)!important}
.lf-outreach-report-page .lf-evidence-report dt{color:var(--lf-print-muted);font-size:9px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.lf-outreach-report-page .lf-evidence-report dd{margin:2px 0 0;color:var(--lf-print-ink)}
.lf-outreach-report-page .lf-report-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.lf-outreach-report-page .lf-report-summary-grid div{display:grid;gap:3px;padding:11px;border:1px solid var(--lf-print-line);border-radius:6px;background:var(--lf-print-soft);text-align:center}
.lf-outreach-report-page .lf-report-summary-grid strong{color:var(--lf-print-dark);font-size:18px}
.lf-outreach-report-page .lf-report-summary-grid span{color:var(--lf-print-ink);font-size:9px;font-weight:800}
.lf-outreach-report-page .lf-report-contractor{margin-bottom:12px;border:1px solid var(--lf-print-line);border-left:5px solid var(--lf-print-green);border-radius:6px;break-inside:avoid;overflow:hidden}
.lf-outreach-report-page .lf-report-contractor>header{display:flex;justify-content:space-between;gap:14px;padding:11px 13px;background:var(--lf-print-soft)}
.lf-outreach-report-page .lf-report-contractor h3,.lf-outreach-report-page .lf-report-contractor header p{margin:0!important;color:var(--lf-print-ink)!important}
.lf-outreach-report-page .lf-report-source-badges{display:flex;align-items:flex-start;justify-content:flex-end;flex-wrap:wrap;gap:5px}
.lf-outreach-report-page .lf-report-source-badges span{padding:3px 7px;border:1px solid #b8d0b8;border-radius:999px;background:#fff;color:var(--lf-print-dark)!important;font-size:8px;font-weight:900}
.lf-outreach-report-page .lf-report-contractor-details{padding:9px 12px}
.lf-outreach-report-page .lf-report-contractor-details .wide{grid-column:1/-1}
.lf-outreach-report-page .lf-report-no-activity{margin:0;padding:10px 13px;color:var(--lf-print-muted);font-style:italic}
.lf-outreach-report-page .lf-report-attempt-table{width:100%;border-collapse:collapse!important;background:#fff!important;color:var(--lf-print-ink)!important;font-size:10px}
.lf-outreach-report-page .lf-report-attempt-table th,.lf-outreach-report-page .lf-report-attempt-table td{padding:7px!important;border:1px solid var(--lf-print-line)!important;background:#fff!important;color:var(--lf-print-ink)!important;text-align:left;vertical-align:top}
.lf-outreach-report-page .lf-report-attempt-table th{background:#123b31!important;color:#fff!important}
.lf-outreach-report-page .lf-report-message-copy td{background:#fff8ed!important}
.lf-outreach-report-page .lf-report-message-copy div{margin-top:5px;padding:7px;border-left:3px solid var(--lf-print-orange);white-space:pre-wrap}
.lf-outreach-report-page .lf-report-signatures{display:grid;grid-template-columns:2fr 1fr;gap:38px;margin-top:34px}
.lf-outreach-report-page .lf-report-signatures span{display:block;border-top:1px solid var(--lf-print-ink)}
.lf-outreach-report-page .lf-report-signatures label,.lf-outreach-report-page .lf-report-disclaimer{color:var(--lf-print-muted);font-size:9px}
.lf-outreach-report-page .lf-report-disclaimer{margin-top:24px;padding-top:10px;border-top:1px solid var(--lf-print-line)}

@media(max-width:700px){
  body.lf-print-page{width:calc(100% - 16px);margin:8px auto;padding:18px 14px}
  body.lf-print-page .header,.member-quote-print-page .brand{grid-template-columns:120px minmax(0,1fr);gap:13px}
  body.lf-print-page .header>img,.member-quote-print-page .brand>img{width:120px;height:42px}
  body.lf-print-page .report-meta,body.lf-print-page .header>p{grid-column:1/-1;text-align:left;white-space:normal}
  body.lf-print-page .brand-message{grid-template-columns:1fr;gap:5px}
  body.lf-print-page .project-info,.member-quote-print-page .meta{grid-template-columns:1fr}
  body.lf-print-page .location{flex-wrap:wrap}
  body.lf-print-page .location-info{flex-basis:calc(100% - 126px)}
  .member-quote-print-page .comparison{font-size:8px}
  .lf-outreach-report-page .lf-report-summary-grid,.lf-outreach-report-page .lf-evidence-report dl{grid-template-columns:1fr 1fr}
}

@media print{
  @page{size:letter portrait;margin:.45in}
  html,
  html:has(body.lf-print-page),
  body.lf-print-page,
  body.loopv2-materials,
  .member-quote-print-page,
  .lf-outreach-report-page{
    width:auto!important;
    min-height:0;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:#fff!important;
    box-shadow:none!important;
    color-scheme:light!important;
  }
  body.lf-print-page .print-actions,body.lf-print-page .mobile-print-button,.member-quote-print-page .print-actions{display:none!important}
  body.lf-print-page .contractor,body.lf-print-page .location{box-shadow:none}
  body.lf-print-page .header,body.lf-print-page .brand-message,body.lf-print-page .project-info,
  body.lf-print-page .contractor,body.lf-print-page .location,.member-quote-print-page .brand,
  .member-quote-print-page .meta,.member-quote-print-page .comparison th,.member-quote-print-page .comparison td,
  .lf-outreach-report-page .lf-evidence-report *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}

  /* Current supplier directory Print 5 / Print 20. */
  .loopv2-materials .print-report-header{display:grid!important;grid-template-columns:165px minmax(0,1fr);align-items:center;gap:22px;margin-bottom:14px;padding-bottom:16px;border-bottom:3px solid #2f8129;color:#142027}
  .loopv2-materials .print-report-header img{width:165px;height:54px;object-fit:contain;object-position:left center}
  .loopv2-materials .print-report-header p{margin:0 0 3px;color:#2f8129;font-size:9pt;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
  .loopv2-materials .print-report-header h1{margin:0;color:#142027;font-size:20pt;line-height:1.08}
  .loopv2-materials .print-report-header span{color:#5f7069;font-size:8pt}
  .loopv2-materials .print-report-summary{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:0 0 14px}
  .loopv2-materials .print-report-summary>div{padding:8px 9px;border:1px solid #d4dfd7;border-radius:5px;background:#f3f7f4}
  .loopv2-materials .print-report-summary span{display:block;margin-bottom:2px;color:#5f7069;font-size:7pt;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
  .loopv2-materials .print-report-summary strong{color:#142027;font-size:9pt}
  .loopv2-materials .result-card{position:relative;min-height:0;margin:0 0 8px;padding:10px!important;border:1px solid #d4dfd7!important;border-left:4px solid #2f8129!important;border-radius:6px;background:#fff!important;break-inside:avoid;box-shadow:none!important}
  .loopv2-materials .result-card h3{color:#155c1b!important;font-size:12pt}
  .loopv2-materials .result-number{border:2px solid #dff1da!important;background:#3eaa34!important;color:#fff!important}
  .loopv2-materials .result-meta a{display:none!important}
  .loopv2-materials .print-report-footer{display:flex!important;align-items:baseline;gap:8px;margin-top:14px;padding-top:9px;border-top:1px solid #d4dfd7;color:#5f7069;font-size:8pt}
  .loopv2-materials .print-report-footer strong{color:#155c1b;letter-spacing:.08em}
  .loopv2-materials .print-report-footer p{margin:0 0 0 auto}
  .loopv2-materials .is-print-hidden{display:none!important}

  .lf-outreach-report-page>*:not(.lf-evidence-report){display:none!important}
  .lf-outreach-report-page .lf-evidence-report{display:block!important;width:100%;margin:0;padding:0;border:0;box-shadow:none;font-size:9pt}
  .lf-outreach-report-page .lf-report-attempt-table{font-size:7.5pt}
  .lf-outreach-report-page .lf-report-contractor{break-inside:avoid}
}

/* Current Loopfella presentation for the private Contractor Pro workflow.
 * This stylesheet intentionally loads after the legacy page-owned styles. */

body.contractor-member-page {
  min-height: 100vh;
  margin: 0;
  background: #06191b !important;
  color: #dce8e4;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-align: left !important;
}

.contractor-member-page,
.contractor-member-page * {
  box-sizing: border-box;
}

.contractor-member-page .member-nav {
  display: flex !important;
  align-items: center;
  justify-content: safe center !important;
  gap: 8px !important;
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto !important;
  padding: 14px 0 !important;
  overflow-x: auto;
  background: transparent !important;
  scrollbar-width: thin;
}

.contractor-member-page .member-nav a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 0 !important;
  min-height: 42px;
  padding: 0 17px !important;
  border: 1px solid #2d674d !important;
  border-radius: 6px !important;
  background: #0b2d27 !important;
  color: #d9e8e3 !important;
  box-shadow: none !important;
  font-size: 13px;
  font-weight: 800 !important;
  text-decoration: none;
  white-space: nowrap;
}

.contractor-member-page .member-nav a:hover,
.contractor-member-page .member-nav a:focus-visible {
  border-color: #69da46 !important;
  background: #174b38 !important;
  color: #7ce457 !important;
  outline: none;
}

.contractor-member-page main.page-card,
.contractor-member-page main.lf-page-card,
.contractor-member-page main.edit-card {
  width: min(1120px, calc(100% - 48px)) !important;
  max-width: 1120px !important;
  margin: 20px auto 64px !important;
  padding: 36px 40px 42px !important;
  border: 1px solid #24513d !important;
  border-radius: 12px !important;
  background: #08231f !important;
  color: #dce8e4 !important;
  box-shadow: 0 22px 55px rgba(0, 0, 0, .24) !important;
  text-align: left !important;
}

.contractor-member-page main.edit-card {
  overflow: hidden;
  padding: 0 !important;
}

.contractor-member-page .edit-card-header {
  padding: 34px 40px 30px !important;
  border-bottom: 1px solid #2c6048 !important;
  background: linear-gradient(135deg, #0e3b31, #0a2d27) !important;
  color: #fff !important;
}

.contractor-member-page .edit-card-header h1 {
  margin: 0 0 10px !important;
  color: #fff !important;
  font-size: clamp(32px, 4vw, 46px) !important;
  letter-spacing: -.03em;
}

.contractor-member-page .edit-card-header .lead {
  margin-bottom: 0 !important;
}

.contractor-member-page .edit-card-body {
  padding: 34px 40px 42px !important;
  background: #08231f !important;
  color: #dce8e4 !important;
}

.contractor-member-page .approval-panel {
  width: min(1120px, calc(100% - 48px)) !important;
  max-width: 1120px !important;
  margin: 18px auto !important;
  padding: 18px 20px !important;
  border: 1px solid #46715d !important;
  border-radius: 8px !important;
  background: #0b2d27 !important;
  color: #dce8e4 !important;
}

.contractor-member-page .approval-panel.waiting {
  border-color: #8b5b25 !important;
  background: #2b241a !important;
}

.contractor-member-page .approval-panel.approved {
  border-color: #42903d !important;
  background: #123b29 !important;
}

.contractor-member-page .pro-tools-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px !important;
}

.contractor-member-page .pro-tool-card,
.contractor-member-page .review-note,
.contractor-member-page .coord-note {
  border: 1px solid #285740 !important;
  border-radius: 8px !important;
  background: #0b2a25 !important;
  color: #c9d8d3 !important;
  box-shadow: none !important;
}

.contractor-member-page .pro-tool-card {
  padding: 20px !important;
}

.contractor-member-page .pro-tool-card h3 {
  color: #fff !important;
}

.contractor-member-page .pro-tool-meta,
.contractor-member-page .pro-lock-note {
  color: #aebfba !important;
}

.contractor-member-page .review-note,
.contractor-member-page .coord-note {
  padding: 15px 17px !important;
}

.contractor-member-page main.page-card > h1,
.contractor-member-page main.lf-page-card > h1,
.contractor-member-page main.lf-page-card > .lf-page-hero h1 {
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(32px, 4vw, 48px) !important;
  line-height: 1.08;
  letter-spacing: -.03em;
  text-align: left !important;
}

/* Direct-title Contractor Pro child pages predate the shared workspace shell.
 * Pull their title and lead copy to the card edges so they render as one
 * consistent header instead of two differently sized legacy green blocks. */
.contractor-member-page main.page-card > h1 {
  max-width: none !important;
  margin: -36px -40px 0 !important;
  padding: 34px 40px 7px !important;
  border: 0 !important;
  border-radius: 11px 11px 0 0 !important;
  background: linear-gradient(135deg, #0e3b31, #0a2d27) !important;
}

.contractor-member-page main.page-card > h1 + .lead {
  max-width: none !important;
  margin: 0 -40px 28px !important;
  padding: 0 40px 30px !important;
  border: 0 !important;
  border-bottom: 1px solid #2c6048 !important;
  border-radius: 0 !important;
  background: linear-gradient(135deg, #0e3b31, #0a2d27) !important;
  color: #bcd0ca !important;
}

.contractor-member-page main.lf-page-card > .lf-page-hero {
  margin: -36px -40px 28px !important;
  padding: 34px 40px 30px !important;
  border: 0 !important;
  border-bottom: 1px solid #2c6048 !important;
  border-radius: 11px 11px 0 0;
  background: linear-gradient(135deg, #0e3b31, #0a2d27) !important;
}

.contractor-member-page main.lf-page-card > .lf-page-hero p,
.contractor-member-page .lead,
.contractor-member-page .page-card > .lead,
.contractor-member-page .lf-page-card > .lead {
  max-width: 780px !important;
  margin: 10px 0 24px !important;
  color: #bcd0ca !important;
  font-size: 16px;
  line-height: 1.6 !important;
  text-align: left !important;
}

.contractor-member-page .listing-name,
.contractor-member-page .project-summary {
  margin: 20px 0 28px !important;
  padding: 16px 18px !important;
  border: 1px solid #2d654c !important;
  border-left: 4px solid #f57a00 !important;
  border-radius: 7px !important;
  background: #0c2d27 !important;
  color: #dce8e4 !important;
  line-height: 1.5;
  text-align: left !important;
}

.contractor-member-page .listing-name strong,
.contractor-member-page .project-summary strong {
  color: #fff !important;
}

.contractor-member-page .lf-contractor-section-heading,
.contractor-member-page .section-title {
  margin: 28px 0 14px !important;
  padding: 0 0 11px !important;
  border: 0 !important;
  border-bottom: 1px solid #2b5c47 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #72df4c !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  letter-spacing: .08em;
  text-align: left !important;
  text-transform: uppercase;
}

.contractor-member-page .toolbar,
.contractor-member-page .action-row,
.contractor-member-page .actions {
  display: flex !important;
  align-items: center;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 22px 0 !important;
  padding: 16px !important;
  border: 1px solid #285740 !important;
  border-radius: 8px !important;
  background: #0a2924 !important;
}

.contractor-member-page .bid-card,
.contractor-member-page .sub-card,
.contractor-member-page .project-card,
.contractor-member-page .candidate-card,
.contractor-member-page .trade-card,
.contractor-member-page .history-card,
.contractor-member-page .panel,
.contractor-member-page .tool-panel,
.contractor-member-page .upload-panel,
.contractor-member-page .photo-card,
.contractor-member-page .email-panel,
.contractor-member-page .empty-state {
  border: 1px solid #285740 !important;
  border-radius: 9px !important;
  background: #0b2a25 !important;
  color: #d5e3df !important;
  box-shadow: none !important;
}

.contractor-member-page .bid-card,
.contractor-member-page .sub-card,
.contractor-member-page .project-card,
.contractor-member-page .candidate-card,
.contractor-member-page .trade-card,
.contractor-member-page .history-card,
.contractor-member-page .panel,
.contractor-member-page .tool-panel,
.contractor-member-page .upload-panel,
.contractor-member-page .photo-card,
.contractor-member-page .empty-state {
  padding: 18px !important;
}

.contractor-member-page .saved-card,
.contractor-member-page .candidate-card.saved {
  border-color: #8b5b25 !important;
  background: #2b241a !important;
}

.contractor-member-page .bid-card h2,
.contractor-member-page .bid-card h3,
.contractor-member-page .sub-card h2,
.contractor-member-page .sub-card h3,
.contractor-member-page .project-title,
.contractor-member-page .project-card h2,
.contractor-member-page .candidate-card h2,
.contractor-member-page .candidate-card h3,
.contractor-member-page .trade-card h3,
.contractor-member-page .history-card h3,
.contractor-member-page .tool-panel h2 {
  margin-top: 0 !important;
  color: #fff !important;
}

.contractor-member-page .meta,
.contractor-member-page .project-meta,
.contractor-member-page .sub-meta,
.contractor-member-page .bid-meta,
.contractor-member-page .small-note,
.contractor-member-page [style*="color:#5f6b78"] {
  color: #aebfba !important;
  line-height: 1.55;
}

.contractor-member-page .pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 12px;
}

.contractor-member-page .pill,
.contractor-member-page .plan-badge,
.contractor-member-page .network-flag {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 9px !important;
  border: 1px solid #3c7758 !important;
  border-radius: 999px !important;
  background: #123a30 !important;
  color: #bdeeb0 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

.contractor-member-page .note {
  margin: 20px 0 0 !important;
  padding: 15px 17px !important;
  border: 0 !important;
  border-left: 4px solid #f57a00 !important;
  border-radius: 0 7px 7px 0 !important;
  background: #162a25 !important;
  color: #c7d6d1 !important;
  line-height: 1.55 !important;
}

.contractor-member-page .message {
  width: min(1120px, calc(100% - 48px)) !important;
  max-width: 1120px !important;
  margin: 16px auto !important;
  padding: 13px 16px !important;
  border: 1px solid #47705d !important;
  border-radius: 7px !important;
  background: #12352d !important;
  color: #e5f3ee !important;
  box-shadow: none !important;
  text-align: center;
}

.contractor-member-page .message.success {
  border-color: #46913f !important;
  background: #123b29 !important;
  color: #d9ffd3 !important;
}

.contractor-member-page .message.error {
  border-color: #a24e48 !important;
  background: #351f1e !important;
  color: #ffd9d5 !important;
}

.contractor-member-page label {
  color: #e6efec !important;
  font-weight: 800 !important;
}

.contractor-member-page input[type="text"],
.contractor-member-page input[type="email"],
.contractor-member-page input[type="tel"],
.contractor-member-page input[type="number"],
.contractor-member-page input[type="date"],
.contractor-member-page input[type="file"],
.contractor-member-page select,
.contractor-member-page textarea {
  width: 100%;
  min-height: 46px;
  border: 1px solid #376253 !important;
  border-radius: 6px !important;
  background: #071f1d !important;
  color: #fff !important;
  box-shadow: none !important;
}

.contractor-member-page input[type="file"] {
  padding: 10px !important;
}

.contractor-member-page input:focus,
.contractor-member-page select:focus,
.contractor-member-page textarea:focus {
  border-color: #69da46 !important;
  outline: 3px solid rgba(105, 218, 70, .14) !important;
  outline-offset: 0;
}

.contractor-member-page .button,
.contractor-member-page button.button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 0 !important;
  min-height: 43px;
  padding: 10px 16px !important;
  border: 1px solid #48a63b !important;
  border-radius: 6px !important;
  background: linear-gradient(180deg, #43b735, #31972b) !important;
  color: #fff !important;
  box-shadow: none !important;
  font: inherit;
  font-weight: 900 !important;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}

.contractor-member-page .button:hover,
.contractor-member-page .button:focus-visible {
  border-color: #75e453 !important;
  background: linear-gradient(180deg, #50c440, #358f2e) !important;
  color: #fff !important;
  outline: 3px solid rgba(105, 218, 70, .17);
}

.contractor-member-page .button.secondary {
  border-color: var(--lf-action-orange) !important;
  background: var(--lf-action-orange) !important;
  color: var(--lf-on-action-orange) !important;
}

.contractor-member-page .button.secondary:hover,
.contractor-member-page .button.secondary:focus-visible {
  border-color: var(--lf-action-orange-hover) !important;
  background: var(--lf-action-orange-hover) !important;
  color: var(--lf-on-action-orange) !important;
}

.contractor-member-page .button.ghost {
  border-color: #4a7565 !important;
  background: transparent !important;
  color: #c7dbd4 !important;
}

.contractor-member-page .button.danger,
.contractor-member-page .button.archive {
  border-color: #a34f49 !important;
  background: #6f302d !important;
  color: #fff !important;
}

.contractor-member-page .button.disabled,
.contractor-member-page .button:disabled {
  border-color: #385049 !important;
  background: #172b27 !important;
  color: #85958f !important;
  cursor: not-allowed;
  opacity: .72;
}

.contractor-member-page .small-button {
  min-height: 38px !important;
  padding: 8px 12px !important;
  font-size: 13px !important;
}

.contractor-member-page .logo-preview {
  display: grid !important;
  place-items: center;
  min-height: 190px !important;
  margin: 24px 0 !important;
  border: 1px dashed #497563 !important;
  border-radius: 9px !important;
  background: #071f1d !important;
  color: #94aaa3 !important;
}

.contractor-member-page .logo-preview img {
  max-width: min(100%, 420px) !important;
  max-height: 150px !important;
  object-fit: contain;
}

.contractor-member-page .photo-thumb,
.contractor-member-page .photo-thumb img {
  border-radius: 8px !important;
}

.contractor-member-page table {
  width: 100%;
  border-collapse: collapse;
  background: #0a2924 !important;
  color: #dce8e4 !important;
}

.contractor-member-page th {
  background: #12372f !important;
  color: #72df4c !important;
}

.contractor-member-page th,
.contractor-member-page td {
  padding: 11px 12px;
  border: 1px solid #2a5142 !important;
  text-align: left;
}

@media (max-width: 860px) {
  .contractor-member-page .member-nav {
    justify-content: flex-start !important;
    width: min(100% - 28px, 1180px);
  }

  .contractor-member-page main.page-card,
  .contractor-member-page main.lf-page-card,
  .contractor-member-page main.edit-card {
    width: min(100% - 28px, 1120px) !important;
    padding: 26px 20px 32px !important;
  }

  .contractor-member-page main.page-card > h1 {
    margin: -26px -20px 0 !important;
    padding: 26px 20px 7px !important;
  }

  .contractor-member-page main.page-card > h1 + .lead {
    margin: 0 -20px 24px !important;
    padding: 0 20px 24px !important;
  }

  .contractor-member-page .edit-card-header,
  .contractor-member-page .edit-card-body {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }

  .contractor-member-page .pro-tools-grid {
    grid-template-columns: 1fr;
  }

  .contractor-member-page main.lf-page-card > .lf-page-hero {
    margin: -26px -20px 24px !important;
    padding: 26px 20px 24px !important;
  }

  .contractor-member-page .workspace-grid,
  .contractor-member-page .network-layout,
  .contractor-member-page .form-grid,
  .contractor-member-page .mock-search,
  .contractor-member-page .search-grid,
  .contractor-member-page .bid-card,
  .contractor-member-page .sub-card,
  .contractor-member-page .project-card,
  .contractor-member-page .candidate-card,
  .contractor-member-page .toolbar,
  .contractor-member-page .action-row,
  .contractor-member-page .actions {
    grid-template-columns: 1fr !important;
    flex-direction: column;
    align-items: stretch !important;
  }

  .contractor-member-page .button,
  .contractor-member-page .member-nav a {
    width: 100%;
  }
}

@media print {
  body.contractor-member-page {
    background: #fff !important;
    color: #111 !important;
  }
}

/* =========================================================
   CERTIFIED OUTREACH WORKSPACE
   ========================================================= */
.lf-certified-outreach-page {
  --outreach-green: #63d945;
  --outreach-green-dark: #164d36;
  --outreach-orange: #f57a00;
  --outreach-surface: #08231f;
  --outreach-panel: #0b2d27;
  --outreach-panel-soft: #0d352d;
  --outreach-line: #285c46;
  --outreach-text: #eef6f3;
  --outreach-muted: #aec2bb;
}

.lf-certified-outreach-page .lf-outreach-shell {
  width: min(1180px, calc(100% - 48px));
  margin: 24px auto 72px;
}

.lf-certified-outreach-page .lf-outreach-card-workflow {
  overflow: hidden;
  border: 1px solid var(--outreach-line);
  border-radius: 14px;
  background: var(--outreach-surface);
  box-shadow: 0 24px 64px rgba(0, 0, 0, .28);
}

.lf-certified-outreach-page .lf-page-hero {
  position: relative;
  padding: 38px 42px 34px;
  border-bottom: 1px solid #316c50;
  background:
    radial-gradient(circle at 90% 0, rgba(99, 217, 69, .14), transparent 34%),
    linear-gradient(135deg, #104436 0%, #0a3029 70%);
}

.lf-certified-outreach-page .lf-page-hero::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: var(--outreach-orange);
  content: "";
}

.lf-certified-outreach-page .lf-page-hero h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.08;
  letter-spacing: -.035em;
}

.lf-certified-outreach-page .lf-page-hero p {
  max-width: 760px;
  margin: 12px 0 0;
  color: #c1d4ce;
  font-size: 16px;
  line-height: 1.6;
}

.lf-certified-outreach-page .lf-outreach-body {
  display: grid;
  gap: 26px;
  padding: 34px 42px 44px;
}

.lf-certified-outreach-page .lf-outreach-project-summary {
  margin: 0;
  padding: 16px 18px;
  border: 1px solid #356b52;
  border-left: 4px solid var(--outreach-orange);
  border-radius: 8px;
  background: #0b3029;
  color: var(--outreach-muted);
  line-height: 1.55;
}

.lf-certified-outreach-page .lf-outreach-project-summary strong {
  color: #fff;
  font-size: 17px;
}

.lf-certified-outreach-page .lf-project-workflow-nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  padding: 7px;
  border: 1px solid var(--outreach-line);
  border-radius: 10px;
  background: #061c1a;
}

.lf-certified-outreach-page .lf-project-workflow-nav a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 9px 12px;
  border: 1px solid transparent;
  border-radius: 7px;
  color: #c5d5d0;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
  text-decoration: none;
  transition: border-color .18s ease, background .18s ease, color .18s ease;
}

.lf-certified-outreach-page .lf-project-workflow-nav a:hover,
.lf-certified-outreach-page .lf-project-workflow-nav a:focus-visible {
  border-color: #3e775b;
  background: #0d352d;
  color: #fff;
  outline: none;
}

.lf-certified-outreach-page .lf-project-workflow-nav a[aria-current="page"] {
  border-color: #4fb438;
  background: #174f39;
  color: #8bea6c;
  box-shadow: inset 0 -2px 0 rgba(99, 217, 69, .35);
}

.lf-certified-outreach-page .lf-outreach-search-form {
  display: grid;
  gap: 22px;
}

.lf-certified-outreach-page .lf-step-heading {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  align-items: center;
  gap: 17px;
  margin-top: 8px;
  padding: 2px 2px 0;
}

.lf-certified-outreach-page .lf-outreach-step-number {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border: 1px solid #6ee34f;
  border-radius: 50%;
  background: #164c35;
  color: #8aed6d;
  box-shadow: 0 0 0 5px rgba(99, 217, 69, .07);
  font-size: 19px;
  font-weight: 900;
}

.lf-certified-outreach-page .lf-outreach-step-copy {
  min-width: 0;
}

.lf-certified-outreach-page .lf-outreach-step-eyebrow {
  display: block;
  margin-bottom: 3px;
  color: var(--outreach-orange);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.lf-certified-outreach-page .lf-step-heading h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(20px, 2.4vw, 27px);
  line-height: 1.2;
  letter-spacing: -.02em;
}

.lf-certified-outreach-page .lf-step-heading p {
  margin: 6px 0 0;
  color: var(--outreach-muted);
  line-height: 1.5;
}

.lf-certified-outreach-page .lf-outreach-step-status,
.lf-certified-outreach-page .lf-outreach-selected-count,
.lf-certified-outreach-page .lf-outreach-catalog-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 5px 11px;
  border: 1px solid #3a7256;
  border-radius: 999px;
  background: #102f29;
  color: #9de889;
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}

.lf-certified-outreach-page .lf-outreach-step-status.is-pending {
  border-color: #69583c;
  background: #29251d;
  color: #e7bd81;
}

.lf-certified-outreach-page .lf-content-panel,
.lf-certified-outreach-page .lf-outreach-panel {
  padding: 25px;
  border: 1px solid var(--outreach-line);
  border-radius: 11px;
  background: var(--outreach-panel);
  color: var(--outreach-text);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .02);
}

.lf-certified-outreach-page .lf-content-panel > h2,
.lf-certified-outreach-page .lf-outreach-panel > h2,
.lf-certified-outreach-page .lf-outreach-panel-heading h2,
.lf-certified-outreach-page .lf-outreach-results-actions h2 {
  margin: 0;
  color: #fff;
  font-size: 20px;
  line-height: 1.3;
  letter-spacing: -.015em;
}

.lf-certified-outreach-page .lf-outreach-category-selector {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  margin-top: 18px;
}

.lf-certified-outreach-page .lf-outreach-category-group {
  overflow: hidden;
  border: 1px solid #33674f;
  border-radius: 9px;
  background: #08251f;
}

.lf-certified-outreach-page .lf-outreach-category-group[open] {
  border-color: #478366;
  background: #092a24;
}

.lf-certified-outreach-page .lf-outreach-category-group > summary {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 54px;
  padding: 12px 14px;
  color: #edf6f2;
  cursor: pointer;
  font-size: 14px;
  font-weight: 850;
  line-height: 1.25;
  list-style: none;
}

.lf-certified-outreach-page .lf-outreach-category-group > summary::-webkit-details-marker {
  display: none;
}

.lf-certified-outreach-page .lf-outreach-category-group > summary::before {
  content: "›";
  color: var(--outreach-green);
  font-size: 21px;
  line-height: 1;
  transform-origin: 45% 50%;
  transition: transform .16s ease;
}

.lf-certified-outreach-page .lf-outreach-category-group[open] > summary::before {
  transform: rotate(90deg);
}

.lf-certified-outreach-page .lf-outreach-category-group[open] > summary {
  border-bottom: 1px solid #315f49;
  background: #103a30;
}

.lf-certified-outreach-page .lf-outreach-category-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 12px;
}

.lf-certified-outreach-page .lf-outreach-category-option {
  display: grid !important;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  min-width: 0;
  margin: 0 !important;
  padding: 11px 12px;
  border: 1px solid #2b5945;
  border-radius: 7px;
  background: #0c3028;
  color: #bdcec8;
  cursor: pointer;
  font-size: 12px;
  line-height: 1.45;
  transition: border-color .16s ease, background .16s ease, transform .16s ease;
}

.lf-certified-outreach-page .lf-outreach-category-option:hover {
  border-color: #55a269;
  background: #103b30;
  transform: translateY(-1px);
}

.lf-certified-outreach-page .lf-outreach-category-option:has(input:checked) {
  border-color: #5bc847;
  background: #12412f;
  box-shadow: inset 3px 0 0 var(--outreach-green);
}

.lf-certified-outreach-page .lf-outreach-category-option input,
.lf-certified-outreach-page .lf-outreach-result-select input {
  width: 17px !important;
  height: 17px !important;
  margin: 2px 0 0 !important;
  accent-color: var(--outreach-green);
  cursor: pointer;
}

.lf-certified-outreach-page .lf-outreach-category-option span,
.lf-certified-outreach-page .lf-outreach-category-option strong {
  display: block;
}

.lf-certified-outreach-page .lf-outreach-category-option strong {
  margin-bottom: 2px;
  color: #fff;
  font-size: 13px;
}

.lf-certified-outreach-page .lf-outreach-note {
  margin-top: 16px;
  padding: 13px 15px;
  border: 1px solid #6d532e;
  border-left: 4px solid var(--outreach-orange);
  border-radius: 7px;
  background: #2b251b;
  color: #ddc8a9;
  font-size: 13px;
  line-height: 1.55;
}

.lf-certified-outreach-page .lf-outreach-panel-heading,
.lf-certified-outreach-page .lf-outreach-results-actions,
.lf-certified-outreach-page .lf-outreach-results-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.lf-certified-outreach-page .lf-outreach-trade-browser {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.lf-certified-outreach-page .lf-outreach-recommended-trades {
  overflow: hidden;
  border: 1px solid #397257;
  border-radius: 9px;
  background: #092a23;
}

.lf-certified-outreach-page .lf-outreach-trade-group-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid #315f49;
  background: #103a30;
}

.lf-certified-outreach-page .lf-outreach-trade-group-heading strong {
  color: #fff;
  font-size: 14px;
}

.lf-certified-outreach-page .lf-outreach-trade-group-heading span {
  color: var(--outreach-muted);
  font-size: 12px;
}

.lf-certified-outreach-page .lf-outreach-trade-options {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.lf-certified-outreach-page .lf-outreach-all-trades {
  overflow: visible;
}

.lf-certified-outreach-page .lf-outreach-trade-search {
  display: grid;
  gap: 7px;
  padding: 16px 16px 4px;
}

.lf-certified-outreach-page .lf-outreach-trade-search label {
  color: #dceae5;
  font-size: 12px;
  font-weight: 800;
}

.lf-certified-outreach-page .lf-outreach-trade-search input {
  width: 100%;
  min-height: 46px;
  padding: 10px 13px;
  border: 1px solid #42765d;
  border-radius: 7px;
  outline: none;
  background: #061d1a;
  color: #fff;
}

.lf-certified-outreach-page .lf-outreach-trade-search input::placeholder {
  color: #7e9990;
}

.lf-certified-outreach-page .lf-outreach-trade-search input:focus {
  border-color: var(--outreach-green);
  box-shadow: 0 0 0 3px rgba(99, 217, 69, .12);
}

.lf-certified-outreach-page .lf-outreach-catalog-trades {
  max-height: 470px;
  overflow: auto;
  scrollbar-color: #3d7258 #08251f;
}

.lf-certified-outreach-page .lf-outreach-empty-state {
  margin-top: 16px;
  padding: 20px;
  border: 1px dashed #47715f;
  border-radius: 8px;
  background: #09241f;
  color: #b6c8c2;
  line-height: 1.6;
  text-align: center;
}

.lf-certified-outreach-page .lf-outreach-search-error {
  border-color: #a14f42;
  background: #351f1d;
  color: #ffb8ac;
}

.lf-certified-outreach-page .lf-orange-button,
.lf-certified-outreach-page .lf-green-button,
.lf-certified-outreach-page .lf-outreach-selection-bar button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid transparent;
  border-radius: 7px;
  font: inherit;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.2;
  cursor: pointer;
  transition: filter .18s ease, transform .18s ease, box-shadow .18s ease;
}

.lf-certified-outreach-page .lf-orange-button {
  border-color: var(--lf-action-orange);
  background: var(--lf-action-orange);
  color: var(--lf-on-action-orange);
  box-shadow: 0 7px 18px rgba(245, 122, 0, .17);
}

.lf-certified-outreach-page .lf-green-button {
  border-color: #6ce04e;
  background: #2f982e;
  color: #fff;
}

.lf-certified-outreach-page .lf-orange-button:hover,
.lf-certified-outreach-page .lf-green-button:hover {
  filter: brightness(1.09);
  transform: translateY(-1px);
}

.lf-certified-outreach-page .lf-orange-button:focus-visible,
.lf-certified-outreach-page .lf-green-button:focus-visible {
  outline: 3px solid rgba(255, 255, 255, .28);
  outline-offset: 2px;
}

.lf-certified-outreach-page .lf-outreach-results-actions p {
  max-width: 680px;
  margin: 6px 0 0;
  color: var(--outreach-muted);
  font-size: 13px;
  line-height: 1.5;
}

.lf-certified-outreach-page .lf-outreach-search-button {
  flex: 0 0 auto;
}

.lf-certified-outreach-page .lf-outreach-results-summary {
  margin-top: 18px;
  padding: 13px 15px;
  border-radius: 7px;
  background: #133d31;
}

.lf-certified-outreach-page .lf-outreach-results-summary strong {
  color: #8fea71;
}

.lf-certified-outreach-page .lf-outreach-results-summary span {
  color: #b8cbc5;
  font-size: 12px;
}

.lf-certified-outreach-page .lf-outreach-result-list {
  display: grid;
  gap: 12px;
  margin-top: 14px;
}

.lf-certified-outreach-page .lf-outreach-result-card {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 18px;
  padding: 18px;
  border: 1px solid #376b52;
  border-radius: 9px;
  background: #092721;
}

.lf-certified-outreach-page .lf-outreach-result-select {
  display: flex !important;
  align-items: flex-start;
  gap: 9px;
  margin: 0 !important;
  color: #cce0d9;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.lf-certified-outreach-page .lf-outreach-result-main {
  min-width: 0;
}

.lf-certified-outreach-page .lf-outreach-result-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 15px;
}

.lf-certified-outreach-page .lf-outreach-result-title-row h3 {
  margin: 0;
  color: #fff;
  font-size: 19px;
}

.lf-certified-outreach-page .lf-outreach-result-title-row p,
.lf-certified-outreach-page .lf-outreach-result-location {
  margin: 4px 0 0;
  color: var(--outreach-muted);
  font-size: 12px;
}

.lf-certified-outreach-page .lf-outreach-distance {
  padding: 5px 9px;
  border: 1px solid #47785f;
  border-radius: 999px;
  background: #11392f;
  color: #abefa0;
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}

.lf-certified-outreach-page .lf-outreach-result-groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.lf-certified-outreach-page .lf-outreach-result-groups > div {
  padding: 12px;
  border: 1px solid #2d5946;
  border-radius: 7px;
  background: #0b3028;
}

.lf-certified-outreach-page .lf-outreach-result-groups strong {
  color: #dfece7;
  font-size: 11px;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.lf-certified-outreach-page .lf-outreach-result-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.lf-certified-outreach-page .lf-outreach-result-pills span {
  padding: 4px 8px;
  border-radius: 999px;
  background: #174c38;
  color: #a9ec9c;
  font-size: 11px;
  font-weight: 800;
}

.lf-certified-outreach-page .lf-outreach-result-footer {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin-top: 14px;
  padding-top: 13px;
  border-top: 1px solid #2b5744;
  color: #aabeb7;
  font-size: 11px;
}

.lf-certified-outreach-page .lf-outreach-result-footer a {
  margin-left: auto;
  color: #8ee875;
  font-weight: 850;
  text-decoration: none;
}

.lf-certified-outreach-page .lf-outreach-result-footer .is-verified {
  color: #87df74;
}

.lf-certified-outreach-page .lf-outreach-result-footer .needs-review {
  color: #edbd7b;
}

.lf-certified-outreach-page .lf-outreach-selection-bar {
  position: sticky;
  bottom: 14px;
  z-index: 4;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 15px;
  margin-top: 18px;
  padding: 13px 15px;
  border: 1px solid #599842;
  border-radius: 9px;
  background: rgba(15, 61, 45, .97);
  box-shadow: 0 14px 32px rgba(0, 0, 0, .3);
  backdrop-filter: blur(8px);
}

.lf-certified-outreach-page .lf-outreach-selection-bar strong {
  color: #96ed7e;
}

.lf-certified-outreach-page .lf-outreach-selection-bar span {
  color: #c2d3cd;
  font-size: 12px;
}

.lf-certified-outreach-page .lf-outreach-selection-bar button:disabled {
  border-color: #476257;
  background: #30443d;
  color: #9dafaa;
  cursor: not-allowed;
}

.lf-certified-outreach-page .lf-outreach-panel {
  border-left: 4px solid var(--outreach-green);
  background: #092720;
}

.lf-certified-outreach-page .lf-outreach-panel p {
  margin: 10px 0 0;
  color: #c4d5cf;
  line-height: 1.65;
}

.lf-certified-outreach-page .lf-outreach-panel .lf-outreach-muted {
  color: #90a59e;
  font-size: 13px;
}

.lf-certified-outreach-page > .message {
  width: min(1180px, calc(100% - 48px));
  margin: 12px auto 0 !important;
}

@media (max-width: 900px) {
  .lf-certified-outreach-page .lf-page-hero,
  .lf-certified-outreach-page .lf-outreach-body {
    padding-right: 26px;
    padding-left: 26px;
  }

  .lf-certified-outreach-page .lf-project-workflow-nav,
  .lf-certified-outreach-page .lf-outreach-category-options,
  .lf-certified-outreach-page .lf-outreach-trade-options,
  .lf-certified-outreach-page .lf-outreach-result-groups {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lf-certified-outreach-page .lf-outreach-result-card {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .lf-certified-outreach-page .lf-outreach-shell {
    width: min(100% - 24px, 1180px);
    margin-top: 14px;
  }

  .lf-certified-outreach-page .lf-page-hero {
    padding: 27px 20px 24px;
  }

  .lf-certified-outreach-page .lf-outreach-body {
    gap: 20px;
    padding: 22px 16px 28px;
  }

  .lf-certified-outreach-page .lf-project-workflow-nav,
  .lf-certified-outreach-page .lf-outreach-category-selector,
  .lf-certified-outreach-page .lf-outreach-category-options,
  .lf-certified-outreach-page .lf-outreach-trade-options,
  .lf-certified-outreach-page .lf-outreach-result-groups {
    grid-template-columns: 1fr;
  }

  .lf-certified-outreach-page .lf-step-heading {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
  }

  .lf-certified-outreach-page .lf-outreach-step-number {
    width: 40px;
    height: 40px;
  }

  .lf-certified-outreach-page .lf-outreach-step-status {
    grid-column: 2;
    justify-self: start;
  }

  .lf-certified-outreach-page .lf-content-panel,
  .lf-certified-outreach-page .lf-outreach-panel {
    padding: 18px 15px;
  }

  .lf-certified-outreach-page .lf-outreach-panel-heading,
  .lf-certified-outreach-page .lf-outreach-results-actions,
  .lf-certified-outreach-page .lf-outreach-results-summary,
  .lf-certified-outreach-page .lf-outreach-trade-group-heading,
  .lf-certified-outreach-page .lf-outreach-result-title-row {
    align-items: stretch;
    flex-direction: column;
  }

  .lf-certified-outreach-page .lf-outreach-search-button,
  .lf-certified-outreach-page .lf-outreach-selection-bar button {
    width: 100%;
  }

  .lf-certified-outreach-page .lf-outreach-selection-bar {
    position: static;
    grid-template-columns: 1fr;
  }

  .lf-certified-outreach-page .lf-outreach-result-footer a {
    width: 100%;
    margin-left: 0;
  }
}

/* =========================================================
   CONTRACTOR PARTNER SEARCH
   ========================================================= */
.contractor-search-v2-page {
  --cont-green: #63d945;
  --cont-green-strong: #39a935;
  --cont-orange: #f57a00;
  --cont-bg: #06191b;
  --cont-surface: #08231f;
  --cont-panel: #0b2d27;
  --cont-panel-soft: #0d352d;
  --cont-line: #285c46;
  --cont-text: #eef6f3;
  --cont-muted: #aec2bb;
  background: var(--cont-bg) !important;
  color: var(--cont-text);
}

.contractor-search-v2-page .contractor-home-nav {
  display: flex;
  justify-content: safe center;
  gap: 8px;
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto;
  padding: 14px 0;
  overflow-x: auto;
  scrollbar-width: thin;
}

.contractor-search-v2-page .contractor-home-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 9px 16px;
  border: 1px solid #2d674d;
  border-radius: 7px;
  background: #0b2d27;
  color: #d9e8e3;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  transition: border-color .18s ease, background .18s ease, color .18s ease;
}

.contractor-search-v2-page .contractor-home-nav a:hover,
.contractor-search-v2-page .contractor-home-nav a:focus-visible {
  border-color: var(--cont-green);
  background: #174b38;
  color: #8cec70;
  outline: none;
}

.contractor-search-v2-page .contractor-home-nav a.is-active {
  border-color: #55bd3e;
  background: #19523a;
  color: #8df171;
  box-shadow: inset 0 -2px 0 rgba(99, 217, 69, .34);
}

.contractor-search-v2-page .cont-page {
  width: min(1180px, calc(100% - 48px));
  margin: 22px auto 72px;
}

.contractor-search-v2-page .cont-panel {
  overflow: hidden;
  padding: 0 36px 38px;
  border: 1px solid var(--cont-line);
  border-radius: 14px;
  background: var(--cont-surface);
  box-shadow: 0 24px 64px rgba(0, 0, 0, .28);
}

.contractor-search-v2-page .cont-hero {
  position: relative;
  margin: 0 -36px 30px;
  padding: 40px 42px 38px;
  border-bottom: 1px solid #316c50;
  background:
    radial-gradient(circle at 88% 0, rgba(99, 217, 69, .15), transparent 34%),
    linear-gradient(135deg, #104436 0%, #0a3029 70%);
}

.contractor-search-v2-page .cont-hero::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: var(--cont-orange);
  content: "";
}

.contractor-search-v2-page .cont-eyebrow,
.contractor-search-v2-page .cont-form-heading > span {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 4px 10px;
  border: 1px solid rgba(245, 122, 0, .5);
  border-radius: 999px;
  background: rgba(245, 122, 0, .12);
  color: #ff9a3d;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.contractor-search-v2-page .cont-panel .cont-hero h1 {
  max-width: 900px;
  margin: 14px 0 12px !important;
  color: #fff !important;
  font-size: clamp(31px, 4vw, 47px) !important;
  font-weight: 850 !important;
  line-height: 1.08 !important;
  letter-spacing: -.035em !important;
  text-align: left !important;
}

.contractor-search-v2-page .cont-subtitle {
  max-width: 850px;
  margin: 0;
  color: #c5d8d1 !important;
  font-size: 16px;
  line-height: 1.6;
}

.contractor-search-v2-page .cont-path-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 22px;
}

.contractor-search-v2-page .cont-path-card {
  position: relative;
  min-height: 108px;
  padding: 18px 18px 17px;
  overflow: hidden;
  border: 1px solid #32654e;
  border-radius: 9px;
  background: #0b3029;
}

.contractor-search-v2-page .cont-path-card::after {
  position: absolute;
  right: -18px;
  bottom: -26px;
  width: 78px;
  height: 78px;
  border: 12px solid rgba(99, 217, 69, .06);
  border-radius: 50%;
  content: "";
}

.contractor-search-v2-page .cont-path-card strong {
  position: relative;
  z-index: 1;
  display: block;
  margin-bottom: 6px;
  color: #8bea6e;
  font-size: 15px;
}

.contractor-search-v2-page .cont-path-card span {
  position: relative;
  z-index: 1;
  color: #b9cbc5;
  font-size: 12px;
  line-height: 1.5;
}

.contractor-search-v2-page .cont-form-shell {
  margin-top: 16px;
  padding: 24px;
  border: 1px solid var(--cont-line);
  border-radius: 11px;
  background: var(--cont-panel);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .02);
}

.contractor-search-v2-page .cont-form-shell > h2,
.contractor-search-v2-page .cont-form-heading h2 {
  margin: 0 0 16px;
  color: #fff;
  font-size: 21px;
  line-height: 1.25;
  letter-spacing: -.015em;
}

.contractor-search-v2-page .cont-form-heading {
  margin-bottom: 20px;
  padding-bottom: 18px;
  border-bottom: 1px solid #2d5c47;
}

.contractor-search-v2-page .cont-form-heading h2 {
  margin: 10px 0 6px;
  font-size: 24px;
}

.contractor-search-v2-page .cont-form-heading p {
  max-width: 760px;
  margin: 0;
  color: var(--cont-muted);
  font-size: 13px;
  line-height: 1.55;
}

.contractor-search-v2-page .cont-company-grid,
.contractor-search-v2-page .cont-classification-grid,
.contractor-search-v2-page .cont-grid,
.contractor-search-v2-page .cont-grid-secondary {
  display: grid;
  gap: 14px;
}

.contractor-search-v2-page .cont-company-grid {
  grid-template-columns: 2fr .8fr auto;
  align-items: end;
}

.contractor-search-v2-page .cont-classification-grid {
  grid-template-columns: 2fr 1fr 1fr;
  align-items: end;
}

.contractor-search-v2-page .cont-classification-grid .wide {
  grid-column: span 2;
}

.contractor-search-v2-page .cont-grid {
  grid-template-columns: 2fr 1fr 1fr 1.2fr;
}

.contractor-search-v2-page .cont-grid-secondary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 15px;
}

.contractor-search-v2-page .cont-grid-secondary.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.contractor-search-v2-page .cont-grid-secondary.trade-service {
  grid-template-columns: 1.4fr 1fr;
}

.contractor-search-v2-page .cont-field {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 7px;
}

.contractor-search-v2-page .cont-field label {
  margin: 0;
  color: #dceae5;
  font-size: 12px;
  font-weight: 850;
}

.contractor-search-v2-page .cont-field input,
.contractor-search-v2-page .cont-field select,
.contractor-search-v2-page .cont-code-search input,
.contractor-search-v2-page .cont-cert-search input,
.contractor-search-v2-page .cont-classification-search-modal input {
  width: 100%;
  min-height: 46px;
  padding: 10px 13px;
  border: 1px solid #42765d;
  border-radius: 7px;
  outline: none;
  background: #061d1a;
  color: #fff;
  font: inherit;
  font-size: 14px;
  box-shadow: none;
}

.contractor-search-v2-page .cont-field input::placeholder,
.contractor-search-v2-page .cont-code-search input::placeholder,
.contractor-search-v2-page .cont-cert-search input::placeholder,
.contractor-search-v2-page .cont-classification-search-modal input::placeholder {
  color: #78948a;
}

.contractor-search-v2-page .cont-field select {
  color-scheme: dark;
}

.contractor-search-v2-page .cont-field input:focus,
.contractor-search-v2-page .cont-field select:focus,
.contractor-search-v2-page .cont-code-search input:focus,
.contractor-search-v2-page .cont-cert-search input:focus,
.contractor-search-v2-page .cont-classification-search-modal input:focus {
  border-color: var(--cont-green);
  box-shadow: 0 0 0 3px rgba(99, 217, 69, .12);
}

.contractor-search-v2-page button:disabled,
.contractor-search-v2-page input:disabled,
.contractor-search-v2-page select:disabled {
  opacity: .5;
  cursor: not-allowed;
}

.contractor-search-v2-page .cont-code-row,
.contractor-search-v2-page .cont-cert-row,
.contractor-search-v2-page .cont-classification-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

.contractor-search-v2-page .cont-code-picker-button,
.contractor-search-v2-page .cont-cert-picker-button,
.contractor-search-v2-page .cont-classification-picker-button {
  min-width: 116px;
  min-height: 46px;
  padding: 9px 13px;
  border: 1px solid #63d945;
  border-radius: 7px;
  background: #287d2d;
  color: #fff;
  font: inherit;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}

.contractor-search-v2-page .cont-code-picker-button:hover,
.contractor-search-v2-page .cont-cert-picker-button:hover,
.contractor-search-v2-page .cont-classification-picker-button:hover {
  background: #319b34;
}

.contractor-search-v2-page .cont-code-selected,
.contractor-search-v2-page .cont-cert-selected,
.contractor-search-v2-page .cont-classification-selected,
.contractor-search-v2-page .cont-work-selected {
  min-height: 18px;
  color: #90a79f;
  font-size: 11px;
  font-weight: 750;
}

.contractor-search-v2-page .cont-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 20px;
}

.contractor-search-v2-page .cont-company-grid .cont-actions {
  justify-content: flex-start;
  margin-top: 0;
}

.contractor-search-v2-page .cont-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 11px 20px;
  border: 1px solid var(--lf-action-orange);
  border-radius: 7px;
  background: var(--lf-action-orange);
  color: var(--lf-on-action-orange) !important;
  font: inherit;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.2;
  box-shadow: 0 8px 19px rgba(245, 122, 0, .18);
  cursor: pointer;
  transition: filter .18s ease, transform .18s ease, box-shadow .18s ease;
}

.contractor-search-v2-page .cont-button:hover {
  background: var(--lf-action-orange-hover);
  filter: none;
  transform: translateY(-1px);
  box-shadow: 0 10px 23px rgba(245, 122, 0, .23);
}

.contractor-search-v2-page .cont-button:focus-visible {
  outline: 3px solid rgba(255, 255, 255, .26);
  outline-offset: 2px;
}

.contractor-search-v2-page .cont-filter-title {
  margin: 22px 0 9px;
  color: #8bea6e;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.contractor-search-v2-page .cont-work-picker {
  position: relative;
}

.contractor-search-v2-page .cont-browse-toggle {
  width: max-content;
  max-width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: #8be875;
  font: inherit;
  font-size: 11px;
  font-weight: 850;
  text-align: left;
  cursor: pointer;
}

.contractor-search-v2-page .cont-browse-toggle:hover,
.contractor-search-v2-page .cont-browse-toggle:focus-visible {
  color: #b0f3a0;
  text-decoration: underline;
  outline: none;
}

.contractor-search-v2-page .cont-suggestions {
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  z-index: 20;
  display: none;
  max-height: 280px;
  margin-top: 6px;
  overflow: auto;
  border: 1px solid #41765d;
  border-radius: 8px;
  background: #08231f;
  box-shadow: 0 16px 35px rgba(0, 0, 0, .38);
}

.contractor-search-v2-page .cont-suggestions.is-open {
  display: block;
}

.contractor-search-v2-page .cont-suggestion {
  width: 100%;
  padding: 10px 12px;
  border: 0;
  border-bottom: 1px solid #28523f;
  background: transparent;
  color: #fff;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.contractor-search-v2-page .cont-suggestion:hover,
.contractor-search-v2-page .cont-suggestion:focus {
  background: #123d32;
  outline: none;
}

.contractor-search-v2-page .cont-suggestion strong,
.contractor-search-v2-page .cont-suggestion span {
  display: block;
}

.contractor-search-v2-page .cont-suggestion strong {
  color: #91eb7c;
  font-size: 13px;
}

.contractor-search-v2-page .cont-suggestion span {
  margin-top: 3px;
  color: var(--cont-muted);
  font-size: 11px;
}

.contractor-search-v2-page .cont-trade-browser,
.contractor-search-v2-page .cont-related-classifications {
  display: none;
  margin-top: 12px;
  padding: 15px;
  border: 1px solid #376c53;
  border-radius: 9px;
  background: #092720;
}

.contractor-search-v2-page .cont-trade-browser.is-open,
.contractor-search-v2-page .cont-related-classifications.is-visible {
  display: block;
}

.contractor-search-v2-page .cont-trade-browser-title,
.contractor-search-v2-page .cont-related-classifications > strong {
  display: block;
  margin-bottom: 11px;
  color: #fff;
  font-size: 13px;
  font-weight: 900;
}

.contractor-search-v2-page .cont-trade-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  max-height: 300px;
  padding-right: 4px;
  overflow: auto;
  scrollbar-color: #3d7258 #08251f;
}

.contractor-search-v2-page .cont-trade-choice,
.contractor-search-v2-page .cont-related-item {
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid #2f5f49;
  border-radius: 7px;
  background: #0c3028;
  color: #dce9e4;
  font: inherit;
  font-size: 11px;
  font-weight: 800;
  text-align: left;
  cursor: pointer;
}

.contractor-search-v2-page .cont-trade-choice:hover,
.contractor-search-v2-page .cont-trade-choice:focus,
.contractor-search-v2-page .cont-related-item:hover,
.contractor-search-v2-page .cont-related-item:focus,
.contractor-search-v2-page .cont-related-item.is-applied {
  border-color: var(--cont-green);
  background: #174536;
  color: #a4ef91;
  outline: none;
}

.contractor-search-v2-page .cont-related-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.contractor-search-v2-page .cont-related-column {
  padding: 11px;
  border: 1px solid #2d5946;
  border-radius: 8px;
  background: #0b3028;
}

.contractor-search-v2-page .cont-related-column-title {
  display: block;
  margin-bottom: 8px;
  color: #8fea76;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.contractor-search-v2-page .cont-related-list {
  display: grid;
  gap: 6px;
}

.contractor-search-v2-page .cont-related-item {
  width: 100%;
  border-left: 4px solid #396c54;
}

.contractor-search-v2-page .cont-related-help {
  margin-top: 9px;
  color: #91a79f;
  font-size: 11px;
  line-height: 1.45;
}

.contractor-search-v2-page .cont-expand-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 48px;
  margin-top: 16px;
  padding: 10px 13px;
  border: 1px solid #397057;
  border-radius: 8px;
  background: #0d352d;
  color: #edf6f2;
  font: inherit;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
}

.contractor-search-v2-page .cont-expand-toggle:hover,
.contractor-search-v2-page .cont-expand-toggle:focus-visible {
  border-color: var(--cont-green);
  background: #154534;
  outline: none;
}

.contractor-search-v2-page .cont-expand-toggle::after {
  display: grid;
  width: 25px;
  height: 25px;
  place-items: center;
  border-radius: 50%;
  background: #277b2c;
  color: #fff;
  content: "+";
  font-size: 17px;
  line-height: 1;
}

.contractor-search-v2-page .cont-expand-toggle.is-open::after {
  content: "−";
}

.contractor-search-v2-page .cont-expand-panel {
  display: none;
  margin-top: 10px;
}

.contractor-search-v2-page .cont-expand-panel.is-open {
  display: block;
}

.contractor-search-v2-page .cont-filters {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.contractor-search-v2-page .cont-check {
  display: flex !important;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  margin: 0 !important;
  padding: 9px 11px;
  border: 1px solid #2f5e49;
  border-radius: 7px;
  background: #0c3028;
  color: #c8d9d3;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}

.contractor-search-v2-page .cont-check:hover {
  border-color: #54a268;
  background: #123b30;
}

.contractor-search-v2-page .cont-check:has(input:checked) {
  border-color: #5bc847;
  background: #154631;
}

.contractor-search-v2-page .cont-check input {
  flex: 0 0 auto;
  width: 17px !important;
  height: 17px !important;
  margin: 0 !important;
  accent-color: var(--cont-green);
}

.contractor-search-v2-page .cont-note {
  margin-top: 18px;
  padding: 14px 16px;
  border: 1px solid #6d532e;
  border-left: 4px solid var(--cont-orange);
  border-radius: 7px;
  background: #2b251b;
  color: #ddc8a9;
  font-size: 12px;
  line-height: 1.55;
}

.contractor-search-v2-page .cont-modal-backdrop,
.contractor-search-v2-page .cont-map-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(2, 13, 14, .78);
  backdrop-filter: blur(5px);
}

.contractor-search-v2-page .cont-modal-backdrop.is-open,
.contractor-search-v2-page .cont-map-modal.is-open {
  display: flex;
}

.contractor-search-v2-page .cont-code-modal,
.contractor-search-v2-page .cont-cert-modal,
.contractor-search-v2-page .cont-classification-modal,
.contractor-search-v2-page .cont-map-modal-content {
  width: min(820px, 100%);
  max-height: min(720px, 92vh);
  overflow: hidden;
  border: 1px solid #3d755b;
  border-radius: 11px;
  background: #08231f;
  color: var(--cont-text);
  box-shadow: 0 24px 65px rgba(0, 0, 0, .48);
}

.contractor-search-v2-page .cont-code-modal,
.contractor-search-v2-page .cont-cert-modal,
.contractor-search-v2-page .cont-classification-modal {
  display: flex;
  flex-direction: column;
}

.contractor-search-v2-page .cont-code-modal-head,
.contractor-search-v2-page .cont-cert-modal-head,
.contractor-search-v2-page .cont-classification-modal-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 15px 17px;
  border-bottom: 1px solid #315f49;
  background: #103a30;
}

.contractor-search-v2-page .cont-code-modal-head strong,
.contractor-search-v2-page .cont-cert-modal-head strong,
.contractor-search-v2-page .cont-classification-modal-head strong {
  color: #fff;
  font-size: 15px;
}

.contractor-search-v2-page .cont-code-close,
.contractor-search-v2-page .cont-cert-close,
.contractor-search-v2-page .cont-classification-close {
  padding: 7px 10px;
  border: 1px solid #4a7b64;
  border-radius: 6px;
  background: #0a2923;
  color: #dce9e4;
  font: inherit;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
}

.contractor-search-v2-page .cont-code-search,
.contractor-search-v2-page .cont-cert-search,
.contractor-search-v2-page .cont-classification-search-modal {
  padding: 13px 16px;
  border-bottom: 1px solid #2c5744;
}

.contractor-search-v2-page .cont-code-list,
.contractor-search-v2-page .cont-cert-list,
.contractor-search-v2-page .cont-classification-list {
  padding: 8px 12px 14px;
  overflow: auto;
}

.contractor-search-v2-page .cont-code-option,
.contractor-search-v2-page .cont-cert-option,
.contractor-search-v2-page .cont-classification-option {
  width: 100%;
  margin: 5px 0;
  padding: 10px 12px;
  border: 1px solid #2f5d49;
  border-radius: 7px;
  background: #0b3028;
  color: #dce9e4;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.contractor-search-v2-page .cont-code-option:hover,
.contractor-search-v2-page .cont-code-option:focus,
.contractor-search-v2-page .cont-cert-option:hover,
.contractor-search-v2-page .cont-cert-option:focus,
.contractor-search-v2-page .cont-classification-option:hover,
.contractor-search-v2-page .cont-classification-option:focus {
  border-color: var(--cont-green);
  background: #154332;
  outline: none;
}

.contractor-search-v2-page .cont-code-option strong,
.contractor-search-v2-page .cont-cert-option strong,
.contractor-search-v2-page .cont-classification-option strong,
.contractor-search-v2-page .cont-code-option span,
.contractor-search-v2-page .cont-cert-option span,
.contractor-search-v2-page .cont-classification-option span {
  display: block;
}

.contractor-search-v2-page .cont-code-option strong,
.contractor-search-v2-page .cont-cert-option strong,
.contractor-search-v2-page .cont-classification-option strong {
  color: #fff;
  font-size: 13px;
}

.contractor-search-v2-page .cont-code-option span,
.contractor-search-v2-page .cont-cert-option span,
.contractor-search-v2-page .cont-classification-option span {
  margin-top: 3px;
  color: var(--cont-muted);
  font-size: 11px;
  line-height: 1.4;
}

.contractor-search-v2-page .cont-map-modal-content {
  position: relative;
  width: min(780px, 96vw);
  padding: 20px;
  text-align: center;
}

.contractor-search-v2-page .cont-map-modal-content h2 {
  margin: 0 36px 6px;
  color: #fff;
}

.contractor-search-v2-page .cont-map-modal-content p {
  margin: 0 0 13px;
  color: var(--cont-muted);
  font-size: 12px;
}

.contractor-search-v2-page .cont-map-close {
  position: absolute;
  top: 10px;
  right: 12px;
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 28px;
  line-height: 1;
  cursor: pointer;
}

.contractor-search-v2-page #contractorMap {
  width: 100%;
  height: min(58vh, 460px);
  min-height: 320px;
  margin-bottom: 14px;
  overflow: hidden;
  border: 1px solid #3b7057;
  border-radius: 8px;
}

@media (max-width: 900px) {
  .contractor-search-v2-page .cont-path-grid {
    grid-template-columns: 1fr;
  }

  .contractor-search-v2-page .cont-company-grid,
  .contractor-search-v2-page .cont-classification-grid,
  .contractor-search-v2-page .cont-grid,
  .contractor-search-v2-page .cont-grid-secondary,
  .contractor-search-v2-page .cont-grid-secondary.two,
  .contractor-search-v2-page .cont-grid-secondary.trade-service {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contractor-search-v2-page .cont-classification-grid .wide {
    grid-column: auto;
  }

  .contractor-search-v2-page .cont-company-grid .cont-actions {
    grid-column: 1 / -1;
  }

  .contractor-search-v2-page .cont-trade-grid,
  .contractor-search-v2-page .cont-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .contractor-search-v2-page .contractor-home-nav,
  .contractor-search-v2-page .cont-page {
    width: min(100% - 24px, 1180px);
  }

  .contractor-search-v2-page .contractor-home-nav {
    justify-content: flex-start;
  }

  .contractor-search-v2-page .contractor-home-nav a {
    width: auto;
  }

  .contractor-search-v2-page .cont-panel {
    padding: 0 15px 24px !important;
  }

  .contractor-search-v2-page .cont-hero {
    width: auto;
    margin: 0 -15px 22px !important;
    padding: 27px 20px 25px !important;
    border-radius: 0 !important;
  }

  .contractor-search-v2-page .cont-form-shell {
    padding: 18px 15px;
  }

  .contractor-search-v2-page .cont-company-grid,
  .contractor-search-v2-page .cont-classification-grid,
  .contractor-search-v2-page .cont-grid,
  .contractor-search-v2-page .cont-grid-secondary,
  .contractor-search-v2-page .cont-grid-secondary.two,
  .contractor-search-v2-page .cont-grid-secondary.trade-service,
  .contractor-search-v2-page .cont-related-columns,
  .contractor-search-v2-page .cont-trade-grid,
  .contractor-search-v2-page .cont-filters {
    grid-template-columns: 1fr;
  }

  .contractor-search-v2-page .cont-company-grid .cont-actions {
    grid-column: auto;
  }

  .contractor-search-v2-page .cont-actions,
  .contractor-search-v2-page .cont-company-grid .cont-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .contractor-search-v2-page .cont-button {
    width: 100%;
  }

  .contractor-search-v2-page .cont-code-row,
  .contractor-search-v2-page .cont-cert-row,
  .contractor-search-v2-page .cont-classification-row {
    grid-template-columns: 1fr;
  }
}

/* Edit Contractor Listing: keep every text treatment legible on the dark workspace. */
.lf-contractor-edit-page .edit-card-body,
.lf-contractor-edit-page .edit-card-body form,
.lf-contractor-edit-page .approval-panel {
  color: #dce8e4 !important;
}

.lf-contractor-edit-page .edit-card-header .lead,
.lf-contractor-edit-page .edit-card-body p,
.lf-contractor-edit-page .approval-panel p,
.lf-contractor-edit-page .review-note,
.lf-contractor-edit-page .coord-note,
.lf-contractor-edit-page .pro-tool-card p,
.lf-contractor-edit-page .pro-lock-note {
  color: #c2d3cd !important;
}

.lf-contractor-edit-page .edit-card-body h2,
.lf-contractor-edit-page .edit-card-body h3,
.lf-contractor-edit-page .edit-card-body strong,
.lf-contractor-edit-page .approval-panel > strong,
.lf-contractor-edit-page .checkbox-row label {
  color: #f4faf7 !important;
}

.lf-contractor-edit-page .pro-tool-meta {
  border-color: #3d7659 !important;
  background: #123a30 !important;
  color: #b9f0ab !important;
}

.lf-contractor-edit-page .review-note,
.lf-contractor-edit-page .coord-note {
  border-color: #315f4a !important;
  border-left: 4px solid #63d945 !important;
  background: #0d3129 !important;
}

.lf-contractor-edit-page input::placeholder,
.lf-contractor-edit-page textarea::placeholder {
  color: #8da39c !important;
  opacity: 1;
}

.lf-contractor-edit-page select,
.lf-contractor-edit-page select option {
  color: #fff !important;
  background: #071f1d !important;
}

.lf-contractor-edit-page .logo-preview-box {
  border-color: #6f827b !important;
  background: #fff !important;
  color: #263b36 !important;
}

.lf-contractor-edit-page .pro-tool-card.locked {
  opacity: .82 !important;
}

/* =========================================================
   MASTER DARK-WORKSPACE CONTRAST STANDARD
   ========================================================= */
body.contractor-member-page {
  color: var(--lf-contrast-secondary) !important;
}

body.contractor-member-page main,
body.contractor-member-page .edit-card-body,
body.contractor-member-page .approval-panel {
  color: var(--lf-contrast-secondary) !important;
}

body.contractor-member-page main :is(h1, h2, h3, h4, h5, h6),
body.contractor-member-page .edit-card-header :is(h1, h2, h3),
body.contractor-member-page .approval-panel > strong {
  color: var(--lf-contrast-primary) !important;
}

body.contractor-member-page main :is(p, li, dd),
body.contractor-member-page .approval-panel p,
body.contractor-member-page :is(.review-note, .coord-note, .note) {
  color: var(--lf-contrast-secondary) !important;
}

body.contractor-member-page main :is(.meta, .project-meta, .sub-meta, .bid-meta, .small-note, .pro-lock-note, .lf-outreach-muted),
body.contractor-member-page main small {
  color: var(--lf-contrast-muted) !important;
}

body.contractor-member-page main label,
body.contractor-member-page .checkbox-row label {
  color: var(--lf-contrast-primary) !important;
}

body.contractor-member-page main :is(input, select, textarea) {
  color: var(--lf-contrast-primary) !important;
}

body.contractor-member-page main :is(input, textarea)::placeholder {
  color: var(--lf-contrast-field-placeholder) !important;
  opacity: 1;
}

body.contractor-member-page main a:not(.button) {
  color: var(--lf-contrast-accent);
}

body.contractor-member-page :is(.pill, .plan-badge, .network-flag, .pro-tool-meta) {
  border-color: #3d7659 !important;
  background: #123a30 !important;
  color: var(--lf-contrast-accent) !important;
}

body.contractor-member-page :is(.button.secondary, .lf-orange-button, .cont-button),
body.contractor-member-page :is(a, button, input)[class*="orange"] {
  color: var(--lf-on-action-orange) !important;
}

body.contractor-member-page .lf-orange-button:hover,
body.contractor-member-page .lf-orange-button:focus-visible {
  border-color: var(--lf-action-orange-hover) !important;
  background: var(--lf-action-orange-hover) !important;
  color: var(--lf-on-action-orange) !important;
  filter: none;
}

/* Projects Bidding index: clearer project hierarchy and consistent actions. */
.lf-bidding-index-page main.page-card {
  width: min(1180px, calc(100% - 48px)) !important;
  max-width: 1180px !important;
}

.lf-bidding-index-page .action-row {
  justify-content: center !important;
}

.lf-bidding-index-page .bid-grid {
  display: grid;
  gap: 14px;
}

.lf-bidding-index-page .bid-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 238px;
  align-items: stretch;
  gap: 22px;
  padding: 23px !important;
  overflow: hidden;
  border-color: #356d52 !important;
  border-left: 4px solid #63d945 !important;
  background: linear-gradient(135deg, #0c3029, #092620) !important;
}

.lf-bidding-index-page .bid-card::after {
  position: absolute;
  right: 205px;
  bottom: -46px;
  width: 130px;
  height: 130px;
  border: 18px solid rgba(99, 217, 69, .035);
  border-radius: 50%;
  pointer-events: none;
  content: "";
}

.lf-bidding-index-page .bid-card h2 {
  margin-bottom: 15px !important;
  font-size: 23px !important;
  letter-spacing: -.02em;
}

.lf-bidding-index-page .bid-project-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.lf-bidding-index-page .bid-project-facts > span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid #2e5c48;
  border-radius: 7px;
  background: #08231f;
}

.lf-bidding-index-page .bid-project-facts small {
  color: var(--lf-contrast-muted) !important;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.lf-bidding-index-page .bid-project-facts strong {
  overflow: hidden;
  color: var(--lf-contrast-primary) !important;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.lf-bidding-index-page .pill-row {
  margin-top: 12px;
}

.lf-bidding-index-page .bid-trade-list {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 9px;
  margin-top: 13px;
  padding-top: 12px;
  border-top: 1px solid #2d5946;
  color: var(--lf-contrast-secondary);
  font-size: 12px;
  line-height: 1.5;
}

.lf-bidding-index-page .bid-trade-list strong {
  color: var(--lf-contrast-accent) !important;
}

.lf-bidding-index-page .bid-actions {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: center;
  gap: 9px;
  min-width: 0;
  padding-left: 20px;
  border-left: 1px solid #315f4a;
}

.lf-bidding-index-page .bid-actions form {
  margin: 0;
}

.lf-bidding-index-page .bid-actions .button {
  width: 100%;
}

.lf-bidding-index-page .page-card .button:not(.ghost):not(.archive):not(.danger):not(.disabled):not(:disabled) {
  border-color: var(--lf-action-orange) !important;
  background: var(--lf-action-orange) !important;
  color: var(--lf-on-action-orange) !important;
}

.lf-bidding-index-page .page-card .button:not(.ghost):not(.archive):not(.danger):not(.disabled):not(:disabled):hover,
.lf-bidding-index-page .page-card .button:not(.ghost):not(.archive):not(.danger):not(.disabled):not(:disabled):focus-visible {
  border-color: var(--lf-action-orange-hover) !important;
  background: var(--lf-action-orange-hover) !important;
  color: var(--lf-on-action-orange) !important;
}

.lf-bidding-index-page .empty-state {
  padding: 28px !important;
  border-style: dashed !important;
  color: var(--lf-contrast-secondary) !important;
  line-height: 1.6;
  text-align: center;
}

.lf-bidding-index-page .note {
  border-left-color: #f57a00 !important;
}

@media (max-width: 820px) {
  .lf-bidding-index-page .bid-card {
    grid-template-columns: 1fr;
  }

  .lf-bidding-index-page .bid-card::after {
    display: none;
  }

  .lf-bidding-index-page .bid-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 16px 0 0;
    border-top: 1px solid #315f4a;
    border-left: 0;
  }
}

@media (max-width: 560px) {
  .lf-bidding-index-page main.page-card {
    width: min(100% - 24px, 1180px) !important;
  }

  .lf-bidding-index-page .bid-project-facts,
  .lf-bidding-index-page .bid-actions {
    grid-template-columns: 1fr;
  }
}

@media print {
  body.contractor-member-page,
  body.contractor-member-page main,
  body.contractor-member-page main :is(h1, h2, h3, h4, h5, h6, p, li, dd, small, strong, .meta, .project-meta, .sub-meta, .bid-meta) {
    color: #142027 !important;
  }
}

/* Public contractor listing — current LoopFella master theme. */
.contractor-listing-v2-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at 12% 0%, rgba(245, 122, 0, 0.08), transparent 30rem),
    #061c1a;
  color: var(--lf-contrast-primary);
}

.contractor-listing-v2-page .cont-page {
  width: min(1180px, calc(100% - 48px));
  min-width: 0;
  margin: 0 auto;
  padding: 30px 0 72px;
}

.contractor-listing-v2-page .back-link {
  margin: 0 0 18px;
}

.contractor-listing-v2-page .back-link a {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid #2e654f;
  border-radius: 999px;
  background: #0b3028;
  color: var(--lf-contrast-primary);
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.contractor-listing-v2-page .back-link a::before {
  content: "←";
  color: #ff942d;
  font-size: 1.15rem;
}

.contractor-listing-v2-page .back-link img {
  display: none;
}

.contractor-listing-v2-page .back-link a:hover,
.contractor-listing-v2-page .back-link a:focus-visible {
  border-color: #f57a00;
  background: #104033;
  transform: translateY(-1px);
}

.contractor-listing-v2-page :is(.cont-profile, .cont-empty) {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #2a654f;
  border-radius: 18px;
  background: #082a25;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.3);
}

.contractor-listing-v2-page :is(.cont-profile-hero, .cont-empty-hero) {
  position: relative;
  padding: 42px 44px 36px;
  border-bottom: 1px solid #2c654f;
  background:
    linear-gradient(105deg, rgba(245, 122, 0, 0.14), transparent 45%),
    linear-gradient(135deg, #0b3d31, #082621 72%);
}

.contractor-listing-v2-page :is(.cont-profile-hero, .cont-empty-hero)::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: #f57a00;
  content: "";
}

.contractor-listing-v2-page .cont-kicker {
  display: inline-flex;
  margin: 0 0 14px;
  padding: 7px 11px;
  border: 1px solid rgba(255, 148, 45, 0.68);
  border-radius: 999px;
  background: rgba(124, 49, 0, 0.35);
  color: #ffd3a8;
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.11em;
  line-height: 1;
  text-transform: uppercase;
}

.contractor-listing-v2-page :is(.cont-profile-hero, .cont-empty-hero) h1 {
  max-width: 900px;
  margin: 0;
  color: #fff;
  font-size: clamp(2.1rem, 5vw, 3.65rem);
  line-height: 1.02;
  letter-spacing: -0.035em;
}

.contractor-listing-v2-page .cont-hero-copy {
  max-width: 780px;
  margin: 16px 0 0;
  color: var(--lf-contrast-secondary);
  font-size: 1.05rem;
  line-height: 1.65;
  overflow-wrap: anywhere;
}

.contractor-listing-v2-page :is(.cont-profile-body, .cont-empty-body) {
  padding: 36px 44px 44px;
}

.contractor-listing-v2-page .cont-profile-summary {
  display: flex;
  align-items: center;
  gap: 22px;
  margin: 0 0 28px;
}

.contractor-listing-v2-page .cont-profile-logo {
  display: grid;
  flex: 0 0 132px;
  width: 132px;
  height: 104px;
  place-items: center;
  padding: 12px;
  overflow: hidden;
  border: 1px solid #47715f;
  border-radius: 14px;
  background: #fff;
}

.contractor-listing-v2-page .cont-profile-logo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.contractor-listing-v2-page .cont-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.contractor-listing-v2-page .cont-badge {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 11px;
  border: 1px solid #3d765d;
  border-radius: 999px;
  background: #0e3c30;
  color: #baf3aa;
  font-size: 0.83rem;
  font-weight: 850;
  line-height: 1.2;
}

.contractor-listing-v2-page .work-gallery {
  margin: 0 0 26px;
  padding: 26px;
  border: 1px solid #2d654f;
  border-radius: 15px;
  background: #071f1c;
}

.contractor-listing-v2-page :is(.work-gallery, .cont-section) h2 {
  margin: 0;
  color: #fff;
  font-size: 1.32rem;
  line-height: 1.25;
}

.contractor-listing-v2-page .work-gallery-sub {
  margin: 8px 0 20px;
  color: var(--lf-contrast-secondary);
  line-height: 1.55;
}

.contractor-listing-v2-page .work-project-selector {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 18px;
}

.contractor-listing-v2-page .work-project-choice {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-width: 0;
  width: 100%;
  padding: 10px;
  border: 1px solid #356b55;
  border-radius: 12px;
  background: #0b3129;
  color: var(--lf-contrast-primary);
  font: inherit;
  text-align: left;
  overflow: hidden;
  cursor: pointer;
}

.contractor-listing-v2-page .work-project-choice img {
  grid-row: 1 / span 2;
  width: 64px;
  height: 54px;
  border-radius: 8px;
  object-fit: cover;
}

.contractor-listing-v2-page .work-project-choice span,
.contractor-listing-v2-page .work-project-choice small {
  grid-column: 2;
  display: block;
  min-width: 0;
}

.contractor-listing-v2-page .work-project-choice span {
  color: #fff;
  font-weight: 850;
}

.contractor-listing-v2-page .work-project-choice small {
  margin-top: 3px;
  overflow: hidden;
  color: var(--lf-contrast-muted);
  font-size: 0.76rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.contractor-listing-v2-page .work-project-choice:hover,
.contractor-listing-v2-page .work-project-choice:focus-visible,
.contractor-listing-v2-page .work-project-choice.active,
.contractor-listing-v2-page .work-project-choice.is-active {
  border-color: #f57a00;
  background: #124033;
  outline: 0;
}

.contractor-listing-v2-page .work-wheel-wrap {
  padding: 18px;
  border: 1px solid #2f5d4b;
  border-radius: 14px;
  background: #041714;
}

.contractor-listing-v2-page .work-wheel-stage {
  position: relative;
  height: 330px;
  overflow: hidden;
  border-radius: 12px;
  perspective: 1200px;
  cursor: grab;
  user-select: none;
  touch-action: pan-y;
}

.contractor-listing-v2-page .work-wheel-stage.is-dragging {
  cursor: grabbing;
}

.contractor-listing-v2-page .work-wheel {
  position: absolute;
  inset: 58px 0 0;
  width: 260px;
  height: 210px;
  margin: auto;
  transform-style: preserve-3d;
  transition: transform 180ms ease-out;
}

.contractor-listing-v2-page .work-wheel-item {
  position: absolute;
  inset: 0;
  padding: 0;
  overflow: hidden;
  border: 3px solid #e6f4ed;
  border-radius: 10px;
  background: #071915;
  box-shadow: 0 16px 35px rgba(0, 0, 0, 0.38);
  backface-visibility: hidden;
  cursor: pointer;
}

.contractor-listing-v2-page .work-wheel-item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
}

.contractor-listing-v2-page .work-wheel-wrap.low-photo-count .work-wheel-stage,
.contractor-listing-v2-page .work-wheel-wrap.low-photo-count .work-wheel-controls {
  display: none;
}

.contractor-listing-v2-page .work-wheel-caption,
.contractor-listing-v2-page .work-project-photo-title,
.contractor-listing-v2-page .work-modal-caption {
  color: var(--lf-contrast-secondary);
  line-height: 1.5;
}

.contractor-listing-v2-page .work-wheel-caption {
  margin: 14px 0 0;
}

.contractor-listing-v2-page .work-wheel-caption strong,
.contractor-listing-v2-page .work-wheel-caption span {
  display: block;
}

.contractor-listing-v2-page .work-wheel-caption strong {
  color: #fff;
  font-size: 1rem;
}

.contractor-listing-v2-page .work-wheel-caption span {
  margin-top: 3px;
  color: var(--lf-contrast-muted);
  font-size: 0.88rem;
}

.contractor-listing-v2-page .work-wheel-controls {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 15px;
}

.contractor-listing-v2-page .work-wheel-controls button {
  width: 44px;
  height: 38px;
  border: 1px solid #43735f;
  border-radius: 9px;
  background: #0d3b30;
  color: #fff;
  font: inherit;
  font-weight: 900;
  cursor: pointer;
}

.contractor-listing-v2-page .work-wheel-controls button:hover,
.contractor-listing-v2-page .work-wheel-controls button:focus-visible {
  border-color: #f57a00;
  background: #164b3c;
}

.contractor-listing-v2-page .work-project-photos {
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #2f5d4b;
}

.contractor-listing-v2-page .work-project-photo-title {
  margin: 0 0 10px;
  color: #fff;
  font-weight: 850;
}

.contractor-listing-v2-page .work-thumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.contractor-listing-v2-page .work-photo-thumb {
  width: 78px;
  height: 62px;
  padding: 0;
  overflow: hidden;
  border: 2px solid transparent;
  border-radius: 9px;
  background: #0b3028;
  cursor: pointer;
}

.contractor-listing-v2-page .work-photo-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.contractor-listing-v2-page .work-photo-thumb:hover,
.contractor-listing-v2-page .work-photo-thumb:focus-visible,
.contractor-listing-v2-page .work-photo-thumb.active {
  border-color: #f57a00;
  outline: 0;
}

.contractor-listing-v2-page .cont-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.contractor-listing-v2-page .cont-layout-column {
  display: contents;
}

.contractor-listing-v2-page .cont-section {
  min-width: 0;
  padding: 24px;
  border: 1px solid #2d654f;
  border-radius: 14px;
  background: #0a3028;
}

.contractor-listing-v2-page .cont-section-wide {
  grid-column: 1 / -1;
}

.contractor-listing-v2-page .cont-section h2 {
  margin-bottom: 17px;
  padding-bottom: 12px;
  border-bottom: 1px solid #356550;
}

.contractor-listing-v2-page .cont-kv {
  display: grid;
  grid-template-columns: minmax(120px, 0.38fr) minmax(0, 1fr);
  gap: 0;
  margin: 0;
}

.contractor-listing-v2-page .cont-kv > div {
  padding: 11px 0;
  border-bottom: 1px solid rgba(76, 121, 101, 0.45);
  overflow-wrap: anywhere;
}

.contractor-listing-v2-page .cont-kv > div:nth-child(odd) {
  padding-right: 18px;
  color: var(--lf-contrast-muted);
  font-weight: 800;
}

.contractor-listing-v2-page .cont-kv > div:nth-child(even) {
  color: var(--lf-contrast-primary);
}

.contractor-listing-v2-page .cont-kv a,
.contractor-listing-v2-page .cont-section a:not(.cont-button) {
  color: #a7ef96;
  font-weight: 750;
  text-decoration-color: rgba(167, 239, 150, 0.55);
  text-underline-offset: 3px;
}

.contractor-listing-v2-page .cont-list {
  margin: 0;
  padding-left: 20px;
  color: var(--lf-contrast-secondary);
}

.contractor-listing-v2-page .cont-list li + li {
  margin-top: 9px;
}

.contractor-listing-v2-page .cont-muted,
.contractor-listing-v2-page .cont-empty-body p {
  color: var(--lf-contrast-secondary);
  line-height: 1.65;
}

.contractor-listing-v2-page :is(.cont-button, .lf-orange-button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 11px 18px;
  border: 1px solid var(--lf-action-orange);
  border-radius: 10px;
  background: var(--lf-action-orange);
  color: #fff !important;
  font: inherit;
  font-weight: 900;
  line-height: 1.15;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.contractor-listing-v2-page :is(.cont-button, .lf-orange-button):hover,
.contractor-listing-v2-page :is(.cont-button, .lf-orange-button):focus-visible {
  border-color: var(--lf-action-orange-hover);
  background: var(--lf-action-orange-hover);
  color: #fff !important;
  transform: translateY(-1px);
}

.contractor-listing-v2-page .lf-orange-button.secondary {
  border-color: #2e7e54;
  background: #17643f;
}

.contractor-listing-v2-page .lf-orange-button.secondary:hover,
.contractor-listing-v2-page .lf-orange-button.secondary:focus-visible {
  border-color: #216f49;
  background: #125438;
}

.contractor-listing-v2-page .flyer-modal {
  display: none;
  flex-direction: column;
  align-items: center;
  position: fixed;
  z-index: 10000;
  inset: 0;
  padding: 70px 24px 32px;
  overflow: auto;
  background: rgba(1, 10, 9, 0.93);
}

.contractor-listing-v2-page .work-modal-caption {
  display: none;
}

.contractor-listing-v2-page .close-modal {
  position: fixed;
  z-index: 10002;
  top: 18px;
  right: 24px;
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 2.2rem;
  line-height: 1;
  cursor: pointer;
}

.contractor-listing-v2-page .work-modal-tools {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  max-width: 1100px;
  margin: 0 auto 16px;
}

.contractor-listing-v2-page .flyer-modal-content {
  display: block;
  width: auto;
  max-width: min(1100px, 100%);
  max-height: calc(100vh - 180px);
  margin: 0 auto;
  border-radius: 10px;
  object-fit: contain;
}

.contractor-listing-v2-page .work-modal-caption {
  max-width: 900px;
  margin: 14px auto 0;
  text-align: center;
}

@media (max-width: 820px) {
  .contractor-listing-v2-page .cont-page {
    width: min(100% - 28px, 1180px);
    padding-top: 20px;
  }

  .contractor-listing-v2-page :is(.cont-profile-hero, .cont-empty-hero) {
    padding: 32px 26px 28px;
  }

  .contractor-listing-v2-page :is(.cont-profile-body, .cont-empty-body) {
    padding: 26px;
  }

  .contractor-listing-v2-page .work-project-selector,
  .contractor-listing-v2-page .cont-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .contractor-listing-v2-page .cont-section-wide {
    grid-column: auto;
  }
}

@media (max-width: 560px) {
  .contractor-listing-v2-page .cont-profile-summary {
    align-items: flex-start;
    flex-direction: column;
  }

  .contractor-listing-v2-page .work-gallery,
  .contractor-listing-v2-page .cont-section {
    padding: 18px;
  }

  .contractor-listing-v2-page .cont-kv {
    grid-template-columns: 1fr;
  }

  .contractor-listing-v2-page .cont-kv > div:nth-child(odd) {
    padding-bottom: 2px;
    border-bottom: 0;
  }

  .contractor-listing-v2-page .cont-kv > div:nth-child(even) {
    padding-top: 2px;
  }

  .contractor-listing-v2-page .work-wheel-stage,
  .contractor-listing-v2-page .work-wheel-controls {
    display: none;
  }

  .contractor-listing-v2-page .work-thumbs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contractor-listing-v2-page .work-photo-thumb {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
  }
}



/* Keep account access visible below navigation on mobile and tablet. */
@media (max-width: 1180px) {
  .loopv2-home .site-nav,
  .loopv2-materials .site-nav,
  .member-v2-page .site-nav,
  .loopv2-shared-header .site-nav,
  .loopv2-member-compat .site-nav { height: auto; }

  .loopv2-home .site-nav-actions,
  .loopv2-materials .site-nav-actions,
  .member-v2-page .site-nav-actions,
  .loopv2-shared-header .site-nav-actions,
  .loopv2-member-compat .site-nav-actions {
    display: flex;
    grid-column: 1 / -1;
    justify-content: center;
    flex-wrap: wrap;
    gap: 16px;
    padding: 8px 0 12px;
  }

  .site-header .site-nav-actions > a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
}

/* Compact shared mobile header: one utility row and one navigation row. */
@media (max-width: 850px) {
  .site-header.loopv2-shared-header .site-nav {
    grid-template-areas:
      "brand actions"
      "links links";
    grid-template-columns: minmax(110px, 1fr) auto;
    gap: 4px 12px;
    min-height: 0;
    padding-block: 6px;
  }

  .loopv2-shared-header .demo-brand {
    grid-area: brand;
    justify-self: start;
    width: 132px;
    height: 42px;
  }

  .loopv2-shared-header .site-nav-links {
    grid-area: links;
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .loopv2-shared-header .site-nav-links a {
    min-width: 0;
    min-height: 34px;
    padding-inline: 2px;
    font-size: 10px;
  }

  .loopv2-shared-header .site-nav-actions {
    grid-column: auto;
    grid-area: actions;
    justify-self: end;
    flex-wrap: nowrap;
    gap: 8px;
    padding: 0;
    font-size: 12px;
  }

  .loopv2-shared-header .site-nav-actions .loopv2-map-status {
    display: none;
  }

  .site-header.loopv2-shared-header .site-nav-actions > a {
    min-height: 40px;
  }

  .loopv2-shared-header .site-nav-actions .demo-button {
    min-height: 40px;
    padding-inline: 12px;
    border-radius: 6px;
  }
}

@media (max-width: 380px) {
  .site-header.loopv2-shared-header .site-nav {
    width: min(100% - 20px, 1320px);
    gap-inline: 8px;
  }

  .loopv2-shared-header .demo-brand {
    width: 116px;
  }

  .loopv2-shared-header .site-nav-actions {
    gap: 6px;
    font-size: 11px;
  }

  .loopv2-shared-header .site-nav-actions .demo-button {
    padding-inline: 9px;
  }

  .loopv2-shared-header .site-nav-links a {
    font-size: 9px;
  }
}

/* Compact shared footer on phones and small tablets. */
@media (max-width: 760px) {
  .demo-footer .demo-footer-main {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px 20px;
    min-height: 0;
    padding-block: 16px !important;
  }

  .demo-footer .demo-footer-statement {
    gap: 11px;
  }

  .demo-footer .demo-footer-loop-mark {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
  }

  .demo-footer .demo-footer-statement p {
    padding-left: 11px;
    font-size: 14px;
    line-height: 1.35;
  }

  .demo-footer .demo-footer-actions {
    margin-top: 0 !important;
    gap: 8px;
  }

  .demo-footer .demo-footer-actions :is(.demo-button, .demo-button-outline-dark) {
    min-height: 40px;
    padding: 9px 14px;
    font-size: 13px;
    line-height: 1.15;
  }

  .demo-footer .demo-footer-actions svg {
    width: 17px;
    height: 17px;
  }

  .demo-footer .demo-footer-bottom {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: start;
    gap: 10px 22px;
    min-height: 0;
    padding-block: 12px !important;
    font-size: 11px;
  }

  .demo-footer .demo-footer-bottom > span {
    white-space: nowrap;
  }

  .demo-footer .demo-footer-links {
    justify-content: flex-start;
    gap: 7px 14px;
    margin-top: 0 !important;
    font-size: 12px;
    line-height: 1.25;
  }
}

@media (max-width: 520px) {
  .demo-footer .demo-footer-main,
  .demo-footer .demo-footer-bottom {
    grid-template-columns: minmax(0, 1fr);
  }

  .demo-footer .demo-footer-actions {
    justify-content: flex-start;
  }

  .demo-footer .demo-footer-actions :is(.demo-button, .demo-button-outline-dark) {
    width: auto;
  }

  .demo-footer .demo-footer-bottom > span {
    white-space: normal;
  }
}

/* Homepage event location controls. */
.loopv2-home .home-events-filters { display:flex; gap:5px; padding:12px 14px 6px; }
.loopv2-home .home-events-filters a { flex:1; min-width:0; padding:9px 3px; border:1px solid #38643d; border-radius:4px; color:#c9dbce; text-align:center; font-size:11px; font-weight:700; text-decoration:none; }
.loopv2-home .home-events-filters a[aria-current="true"] { background:#214f2e; border-color:#70ca50; color:#f4d35e; }
.loopv2-home .home-events-filters a:hover { background:#214f2e; }
.loopv2-home .home-events-state { margin:0 14px; color:#bcd0c7; font-size:12px; }
.loopv2-home .home-events-state summary { cursor:pointer; padding:7px 0; }
.loopv2-home .home-events-state form { display:grid; gap:7px; padding:5px 0 10px; }
.loopv2-home .home-events-state select { width:100%; min-width:0; min-height:40px; color:#f4f8f5; background:#112f25; border:1px solid #54785a; border-radius:4px; padding:7px; }
.loopv2-home .home-events-state button { min-height:40px; background:#245a32; color:#fff; border:1px solid #70ca50; border-radius:4px; font-weight:700; cursor:pointer; }
.loopv2-home .home-events-location-note { margin:0 14px 4px; color:#bcd0c7; font-size:11px; }
.loopv2-home .home-events-empty { padding:20px 16px; flex:1; min-height:140px; color:#dce6df; font-size:14px; }
.loopv2-home .home-events-empty a { color:#8de060; }
.loopv2-home .home-events-credit { margin:0; padding:0 14px 10px; text-align:center; font-size:10px; }
.loopv2-home .home-events-credit a { color:#bcd0c7; }
.loopv2-home .home-events-actions > button[hidden] { display:none; }
.loopv2-home .home-events-filters a:focus-visible,
.loopv2-home .home-events-state summary:focus-visible,
.loopv2-home .home-events-state button:focus-visible,
.loopv2-home .home-events-state select:focus-visible { outline:2px solid #f4d35e; outline-offset:3px; }
@media(max-width:760px) { .loopv2-home .home-events-filters a { min-height:44px; display:flex; align-items:center; justify-content:center; } }
