
:root{
  --ink:#172235;
  --muted:#667287;
  --paper:#fffdf9;
  --cream:#f7efe7;
  --rose:#a52b49;
  --rose2:#c65670;
  --gold:#c79037;
  --line:#e5dcd2;
  --dark:#142033;
  --green:#247053;
  --red:#a33e45;
  --radius:20px;
}
*{box-sizing:border-box}
html{font-size:16.5px;scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.62;
}
a{color:var(--rose);text-decoration:none}
a:hover{text-decoration:underline}
button,input,select,textarea{font:inherit}
.site-header{
  position:sticky;top:0;z-index:40;
  display:flex;align-items:center;justify-content:space-between;
  padding:.9rem 5vw;
  background:rgba(255,253,249,.94);
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line);
}
.brand{
  display:flex;align-items:center;gap:.6rem;
  color:var(--ink);font-weight:900;font-size:1.08rem;
}
.brand-heart{
  display:grid;place-items:center;
  width:36px;height:36px;border-radius:50%;
  background:var(--rose);color:#fff;
}
.nav{display:flex;gap:1.1rem;align-items:center}
.nav a{color:var(--ink);font-weight:750;font-size:.9rem}
.nav-buy{background:var(--ink);color:#fff!important;padding:.55rem .8rem;border-radius:999px}
.menu-toggle{display:none}
.home-hero,.zip-hero{
  display:grid;grid-template-columns:1.05fr .95fr;
  min-height:600px;
  background:linear-gradient(90deg,#fffdf9 0%,#fbf6ef 50%,#f4e6e5 100%);
}
.home-hero>div:first-child,.zip-hero-copy{padding:5.6rem 3vw 4.8rem 7vw;
  align-self:center;
}
.home-hero h1,.zip-hero h1,.page-hero h1{
  font-size:clamp(2.7rem,6vw,5.25rem);
  line-height:.95;
  letter-spacing:-.055em;
  margin:.35rem 0 1.1rem;
}
.zip-hero h1{font-size:clamp(2.65rem,5.2vw,4.65rem)}
.home-hero-art,.zip-hero-art{
  min-height:520px;
  background:
    linear-gradient(90deg,rgba(255,253,249,.96) 0%,rgba(255,253,249,.22) 24%,rgba(255,253,249,0) 48%),
    url('/assets/move-where-love-is-hero.png') center right/cover no-repeat;
}
.page-hero{
  padding:7rem 7vw 5rem;
  background:linear-gradient(135deg,#fffdf9,#f7ece7);
}
.page-hero h1{font-size:clamp(2.55rem,5.2vw,4.35rem);max-width:1000px}
.lead{font-size:1.25rem;max-width:850px;color:#3c485c}
.eyebrow{
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:.73rem;
  font-weight:900;
  color:var(--rose);
}
.actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.4rem}
.button{
  display:inline-block;
  border:1px solid var(--ink);
  border-radius:999px;
  padding:.78rem 1.05rem;
  background:#fff;color:var(--ink);
  font-weight:850;cursor:pointer;
}
.button.primary{background:var(--rose);border-color:var(--rose);color:#fff}
.button.gold{background:var(--gold);border-color:var(--gold);color:#17120c}
.button.light{background:#fff;color:var(--ink)}
.section{padding:4rem 7vw}
.alt{background:#faf4ed}
.dark{background:var(--dark);color:#fff}
.dark h2{font-size:clamp(1.85rem,3.5vw,2.9rem);max-width:900px}
.section-head{
  display:flex;justify-content:space-between;gap:2rem;align-items:end;
}
.section h2{font-size:clamp(1.8rem,3.4vw,2.75rem);line-height:1.05;letter-spacing:-.035em}
.stats-grid{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:1px;background:var(--line);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.stats-grid article{padding:2rem;background:#fff}
.stats-grid strong{display:block;font-size:2rem}
.stats-grid span{color:var(--muted)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:4rem}
.feature-list{display:grid;gap:.8rem}
.feature-list a{
  display:block;padding:1.25rem;border:1px solid var(--line);
  border-radius:var(--radius);background:#fff;
}
.feature-list strong{display:block;color:var(--ink);font-size:1.15rem}
.feature-list span{color:var(--muted)}
.metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.metric-card{
  padding:1.5rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff;
}
.metric-card span,.identity-grid span,.ad-slot-grid span{display:block;color:var(--muted);font-size:.84rem;font-weight:750}
.metric-card strong{display:block;font-size:2.1rem;margin:.15rem 0}
.metric-card small{display:block;color:var(--muted)}
.metric-card em{display:block;font-style:normal;margin-top:.6rem;font-weight:800}
.trend-up{color:var(--green)}.trend-down{color:var(--red)}.trend-flat{color:var(--muted)}
.coverage-badge{
  padding:.45rem .65rem;border-radius:999px;background:#fff;border:1px solid var(--line);
  color:var(--muted);font-size:.72rem;font-weight:850;
}
.data-note{font-weight:700}
.source-note,.muted{color:var(--muted);font-size:.9rem}
.identity-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;
}
.identity-grid article{
  padding:1.25rem;border:1px solid var(--line);border-radius:var(--radius);background:#fff;
}
.identity-grid strong{display:block;font-size:1.25rem;margin:.25rem 0}
.context-list{padding-left:1.2rem}
.advertiser-zone{
  display:grid;grid-template-columns:.8fr 1.2fr;gap:3rem;align-items:start;
}
.ad-slot-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;
}
.ad-slot-grid article{
  padding:1.2rem;background:#fff;border:1px solid var(--line);border-radius:16px;
}
.ad-slot-grid strong{display:block;font-size:1.15rem}
.share-panel{background:var(--cream)}
.share-form{display:flex;gap:.7rem;max-width:700px}
.share-form input,.zip-search-controls input,.form-grid input,.form-grid select,.form-grid textarea,#state-directory{
  width:100%;padding:.82rem .95rem;border:1px solid #ccc3b9;border-radius:12px;background:#fff;
}
.share-output{margin-top:1rem;padding:1rem;border-radius:12px;background:#fff;word-break:break-all}
.cta-band{
  display:flex;justify-content:space-between;align-items:center;
  gap:2rem;background:var(--rose);color:#fff;
}
.search-panel{max-width:900px}
.zip-search-controls{display:flex;gap:.7rem}
.product-grid,.news-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;
}
.product-grid article,.news-grid a,.article-stack article{
  display:block;padding:1.5rem;border:1px solid var(--line);
  border-radius:var(--radius);background:#fff;
}
.news-grid strong{display:block;color:var(--ink);font-size:1.25rem;margin-top:.3rem}
.news-grid span{color:var(--muted)}
.form-section{max-width:1100px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-grid label{display:grid;gap:.35rem;font-weight:750}
.form-grid .wide{grid-column:1/-1}
.notice{
  padding:1rem 1.15rem;border-left:4px solid var(--gold);
  background:#fff4dd;margin-bottom:2rem;
}
.dark-hero{background:var(--dark);color:#fff}
.dark-card{padding:2rem;border-radius:var(--radius);background:var(--dark);color:#fff}
.check-list li{margin:.7rem 0}
.prose{max-width:950px}
.code{padding:1.25rem;border-radius:14px;background:#111b2b;color:#deebff;overflow:auto}
.article-stack{display:grid;gap:1rem}
.site-footer{
  display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem;
  padding:4rem 7vw 2rem;background:#0f1825;color:#e8eef6;
}
.site-footer a{display:block;color:#fff;margin:.3rem 0}
.fine{
  grid-column:1/-1;
  border-top:1px solid #334052;padding-top:1rem;
  color:#aab6c7;font-size:.82rem;
}
@media(max-width:900px){
  html{font-size:17px}
  .home-hero,.zip-hero,.split,.advertiser-zone{grid-template-columns:1fr}
  .home-hero-art,.zip-hero-art{min-height:330px}
  .home-hero>div:first-child,.zip-hero-copy{padding:5rem 6vw 2rem}
  .stats-grid{grid-template-columns:1fr 1fr}
  .metric-grid,.identity-grid,.ad-slot-grid,.product-grid,.news-grid{grid-template-columns:1fr}
  .nav{display:none}
  .menu-toggle{display:block}
  .site-header.open .nav{
    position:absolute;top:100%;left:0;right:0;display:grid;
    padding:1rem 5vw;background:#fff;border-bottom:1px solid var(--line);
  }
  .form-grid{grid-template-columns:1fr}
  .form-grid .wide{grid-column:auto}
  .share-form,.zip-search-controls{display:grid}
  .cta-band,.section-head{display:block}
  .site-footer{grid-template-columns:1fr}
  .fine{grid-column:auto}
}
@media print{
  .site-header,.site-footer,.actions,.share-panel,.advertiser-zone,.cta-band{display:none!important}
  body{background:#fff;font-size:12pt}
  .section,.page-hero,.zip-hero-copy{padding:1rem 0}
  .zip-hero{display:block;min-height:auto}
  .zip-hero-art{display:none}
  a{color:#000}
}


.place-only .context-list{
  max-width:820px;
  display:grid;
  gap:.45rem;
  margin-top:1.25rem;
}
.ad-standard{
  margin-top:1.2rem;
  padding:.85rem 1rem;
  border-left:3px solid var(--gold);
  background:#fff8e9;
  color:var(--muted);
  font-size:.82rem;
}


/* V1.0.3 commercial section hero system */
.page-hero-image{
  min-height:470px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
  isolation:isolate;
  color:var(--ink);
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center right;
}
.page-hero-image::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(
    90deg,
    rgba(255,253,249,.99) 0%,
    rgba(255,253,249,.94) 26%,
    rgba(255,253,249,.70) 42%,
    rgba(255,253,249,.18) 60%,
    rgba(255,253,249,0) 74%
  );
}
.page-hero-image .lead{
  color:#3c485c;
  max-width:720px;
}
.hero-partnerships{
  background-image:url('/assets/hero-partnerships.png');
}
.hero-advertisers{
  background-image:url('/assets/hero-advertisers.png');
}
.hero-zip-opportunities{
  background-image:url('/assets/hero-zip-opportunities.png');
}
.hero-news{
  background-image:url('/assets/hero-news.png');
}
.hero-buy{
  background-image:url('/assets/hero-buy.png');
}
.hero-buy h1,
.hero-buy .lead{
  color:var(--ink);
}
@media(max-width:900px){
  .page-hero-image{
    min-height:540px;
    justify-content:flex-end;
    padding-bottom:3.5rem;
    background-position:68% center;
  }
  .page-hero-image::before{
    background:linear-gradient(
      0deg,
      rgba(255,253,249,.99) 0%,
      rgba(255,253,249,.96) 34%,
      rgba(255,253,249,.45) 62%,
      rgba(255,253,249,.08) 100%
    );
  }
}


/* V1.0.4 ZIP directory hero */
.hero-zip-directory{
  background-image:url('/assets/hero-zip-directory.png');
}


/* V1.0.9 geographic directory */
.hero-line-break{display:block}
.geo-breadcrumbs{
  display:flex;gap:.45rem;align-items:center;flex-wrap:wrap;
  padding:.75rem 7vw;border-bottom:1px solid var(--line);
  background:#fff;color:var(--muted);font-size:.82rem;
}
.geo-grid,.zip-market-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;
}
.geo-card,.zip-market-card{
  display:block;padding:1.25rem;background:#fff;
  border:1px solid var(--line);border-radius:var(--radius);
}
.geo-card span,.zip-market-card small{
  display:block;color:var(--muted);
}
.geo-card strong{
  display:block;color:var(--ink);font-size:1.15rem;margin:.2rem 0;
}
.geo-card em,.zip-market-card em{
  display:block;font-style:normal;font-weight:800;margin-top:.8rem;
}
.geo-reach-stats{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;
  background:var(--line);border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.geo-reach-stats article{
  padding:1.5rem;background:#fff;
}
.geo-reach-stats strong{
  display:block;font-size:1.8rem;
}
.zip-number{
  display:block;color:var(--ink);font-size:1.45rem;font-weight:900;
}
.zip-market-metrics{
  display:grid;grid-template-columns:1fr 1fr;gap:.5rem;
  margin-top:.8rem;padding-top:.8rem;border-top:1px solid var(--line);
}
.zip-market-metrics span{
  font-size:.78rem;color:var(--muted);
}
.zip-market-metrics strong{
  display:block;color:var(--ink);font-size:.95rem;
}
.geo-backlink-grid{
  display:flex;flex-wrap:wrap;gap:.75rem;
}
.geo-backlink-grid a{
  padding:.7rem .9rem;border:1px solid var(--line);
  border-radius:999px;background:#fff;font-weight:800;
}
@media(max-width:900px){
  .geo-grid,.zip-market-grid,.geo-reach-stats{
    grid-template-columns:1fr;
  }
}
