/* Draft SWFL welcome page — local preview styles on top of site.css */
.draft{background:var(--wine,#4A0710);color:#fff;text-align:center;padding:.75rem 1rem;font-weight:700;letter-spacing:.02em}
.page-hero .meta{color:#f3dcd2;margin:.4rem 0}
.page-hero .hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}
.narrow-prose{max-width:52rem}
.s.alt{background:var(--ivory,#fffaf6)}
.cta{background:linear-gradient(180deg,#fff8f3,#fff)}
.cta .wrap{padding-top:8px;padding-bottom:8px}

.ticker-viewport{
  height:28rem;
  overflow-x:hidden;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
  position:relative;
  border:1px solid #ecd9cf;
  border-top:4px solid var(--gold,#C9935F);
  border-radius:14px;
  background:linear-gradient(180deg,#fff,var(--ivory,#fffaf6));
  box-shadow:var(--shadow,0 10px 30px rgba(42,4,8,.12));
  margin:1rem 0 .5rem;
}
.ticker-viewport:focus{outline:3px solid var(--gold,#C9935F);outline-offset:3px}
.ticker-track{
  list-style:none;
  margin:0;
  padding:8px 0;
}
.ticker-track li{
  display:flex;
  flex-direction:column;
  gap:.15rem;
  padding:.85rem 1.25rem;
  border-bottom:1px solid #f0e4dc;
}
.ticker-track .co{font:700 1.05rem Inter,sans-serif;color:var(--wine,#4A0710)}
.ticker-track .addr{color:var(--muted,#6b5a5c);font-size:.95rem}
.ticker-help{margin-top:.35rem}

@media (prefers-reduced-motion: reduce){
  .ticker-viewport{overflow-x:hidden;overflow-y:auto;height:22rem;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  /* The second copy of the list is only for a seamless loop when auto-scroll is on. */
  .ticker-track li.ticker-dup{display:none}
}

.listing-filter{display:flex;flex-direction:column;gap:.35rem;max-width:32rem;margin:1rem 0}
.listing-filter input{
  font:1rem Inter,sans-serif;
  padding:.65rem .8rem;
  border:1px solid #ecd9cf;
  border-radius:10px;
  width:100%;
}
.listing-filter input:focus{outline:3px solid #c9935f55;border-color:var(--gold,#C9935F)}
.filter-status{color:var(--muted,#6b5a5c);margin:.25rem 0 1rem}
.table-wrap{overflow-x:auto}
.welcome-table{border-collapse:collapse;width:100%;min-width:36rem}
.welcome-table th,.welcome-table td{border:1px solid #ecd9cf;padding:.55rem .7rem;text-align:left;vertical-align:top}
.welcome-table thead th{background:var(--wine,#4A0710);color:#fff;font-weight:700}
.welcome-table tbody th{font-weight:700;color:var(--ink,#1D1214)}
.welcome-table tbody tr:nth-child(even){background:#fff8f3}
.welcome-table caption{caption-side:bottom;padding-top:.6rem;text-align:left}
.welcome-table tr.is-hidden{display:none}
.note{background:#fff7e6;border-left:4px solid var(--gold,#C9935F);padding:.75rem 1rem;margin:1rem 0}
.meta{color:var(--muted,#6b5a5c)}

@media (max-width:40rem){
  .ticker-viewport{height:22rem}
  .welcome-table{min-width:100%}
}

.reg-note{display:block;margin-top:.15rem;font:600 .8rem/1.35 Inter,sans-serif;color:var(--wine,#4A0710);letter-spacing:.02em}
.welcome-table .reg-note{font-weight:600}
.ticker-track .reg-note{color:var(--wine,#4A0710)}
.disclaimer{background:#fff7e6;border-left:4px solid var(--gold,#C9935F);padding:.9rem 1.1rem;margin:1rem 0;border-radius:0 10px 10px 0}
.disclaimer p{margin:0}

/* Four image ads around the scroller (2026-11-11). No captions or extra text. */
.welcome-ads{
  display:grid;
  gap:20px;
  align-items:stretch;
  margin:1rem 0 .5rem;
}
.welcome-ads .ticker-viewport{
  margin:0;
  min-height:0;
}
.welcome-ad{
  display:block;
  border-radius:14px;
  line-height:0;
  text-decoration:none;
  color:inherit;
  z-index:1;
  transition:transform .2s ease, box-shadow .2s ease;
}
.welcome-ad picture,
.welcome-ad img{
  width:100%;
  height:auto;
  border-radius:14px;
  display:block;
  max-width:100%;
}
.welcome-ad:hover{
  transform:translateY(-4px);
  box-shadow:var(--shadow-soft, 0 18px 50px -18px rgba(74,7,16,.28));
}
.welcome-ad:focus-visible{
  outline:3px solid var(--gold, #C9935F);
  outline-offset:3px;
}
@media (prefers-reduced-motion: reduce){
  .welcome-ad{transition:none}
  .welcome-ad:hover{transform:none}
}

@media (min-width:1100px){
  .welcome-ads{
    grid-template-columns:280px minmax(0, 1fr) 280px;
    grid-template-rows:350px 350px;
  }
  .welcome-ads .ticker-viewport{
    grid-column:2;
    grid-row:1 / 3;
    height:auto;
  }
  .welcome-ads #ad-trades{grid-column:1;grid-row:1}
  .welcome-ads #ad-hvac{grid-column:1;grid-row:2}
  .welcome-ads #ad-professionals{grid-column:3;grid-row:1}
  .welcome-ads #ad-lawyers{grid-column:3;grid-row:2}
}
@media (prefers-reduced-motion: reduce) and (min-width:1100px){
  .welcome-ads .ticker-viewport{height:auto;overflow-x:hidden;overflow-y:auto}
}

@media (max-width:1099px){
  .welcome-ads{
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto;
  }
  .welcome-ads .ticker-viewport{
    grid-column:1 / -1;
    grid-row:1;
    height:28rem;
  }
  .welcome-ad{max-width:280px;margin:0 auto;width:100%}
  .welcome-ads #ad-trades{grid-column:1;grid-row:2}
  .welcome-ads #ad-professionals{grid-column:2;grid-row:2}
  .welcome-ads #ad-hvac{grid-column:1;grid-row:3}
  .welcome-ads #ad-lawyers{grid-column:2;grid-row:3}
}

@media (max-width:680px){
  .welcome-ads{grid-template-columns:1fr}
  .welcome-ads .ticker-viewport{height:22rem;grid-column:1 / -1;grid-row:1}
  .welcome-ad{max-width:none;width:100%}
  .welcome-ads #ad-trades,
  .welcome-ads #ad-hvac,
  .welcome-ads #ad-professionals,
  .welcome-ads #ad-lawyers{grid-column:auto;grid-row:auto}
}

/* Informative header and footer (2026-11-11 draft). Brand colors from site.css. */
.welcome-site-header{
  background:linear-gradient(180deg,var(--wine,#4A0710),var(--deep,#2a0408));
  color:#fff;
  border-bottom:3px solid var(--gold,#C9935F);
}
.welcome-header-inner{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:16px 24px;
  padding-top:14px;
  padding-bottom:14px;
  min-width:0;
}
.welcome-brand{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
  color:#fff;
  min-width:0;
  flex:0 1 auto;
}
.welcome-brand-mark{
  flex:none;
  display:flex;
  align-items:center;
  justify-content:center;
  width:64px;
  height:64px;
  border-radius:50%;
  background:var(--ivory,#fffaf6);
  box-shadow:0 0 0 2px var(--gold,#C9935F);
}
.welcome-header-logo,
.welcome-brand-mark img{
  width:56px;
  height:auto;
  display:block;
}
.welcome-brand-text b{
  font:700 1.2rem/1.1 "Playfair Display",Georgia,serif;
  display:block;
  color:#fff;
}
.welcome-brand-text small{
  font:600 .72rem Inter,sans-serif;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--gold2,#e8c39a);
}
.welcome-tagline{
  flex:1 1 220px;
  margin:0;
  min-width:0;
  font:500 1rem/1.4 Inter,sans-serif;
  color:#f3dcd2;
}
.welcome-header-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px 16px;
  margin-left:auto;
  min-width:0;
}
.welcome-header-phone{
  font:800 1.15rem/1 Inter,sans-serif;
  color:#fff;
  text-decoration:none;
  white-space:nowrap;
}
.welcome-header-phone:hover{color:var(--gold2,#e8c39a)}
.welcome-header-cta{
  padding:12px 20px;
  font-size:.95rem;
  flex:none;
}
.welcome-site-footer .disclaimer-placeholder{
  background:#fff7e6;
  color:var(--ink,#1D1214);
  border-left:4px solid var(--gold,#C9935F);
  padding:.9rem 1.1rem;
  margin:1.5rem 0 0;
  border-radius:0 10px 10px 0;
}
.welcome-site-footer .disclaimer-placeholder p{margin:0}
.welcome-site-footer .disclaimer-placeholder a{color:var(--wine2,#7a0f1c)}
@media (max-width:700px){
  .welcome-header-inner{align-items:flex-start}
  .welcome-tagline{flex-basis:100%}
  .welcome-header-actions{margin-left:0;width:100%}
}
@media (max-width:390px){
  .welcome-brand-text b{font-size:1.05rem}
  .welcome-header-phone{font-size:1.05rem}
  .welcome-header-cta{padding:10px 16px}
}
