/* ELIFIN Data & Insights hub. Everything scoped to .elp-hub; a small reset undoes Bridge's element styles inside it. */
.elp-hub{
  --blue:#27427e; --blue-deep:#1c3163; --rubine:#ce0058; --ink:#1a1a1a; --gray:#666666;
  --line:#e2e6ee; --soft:#f4f6fb; --ph:#e9edf4;
  --display:'Fraunces',Georgia,'Times New Roman',serif;
  --body:'Archivo',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  background:#ffffff; color:var(--ink); font-family:var(--body); font-size:17px; line-height:1.5;
}
.elp-hub *{box-sizing:border-box}
.elp-hub h1,.elp-hub h2,.elp-hub h3{font-family:var(--display);color:var(--ink);margin:0;letter-spacing:0;text-transform:none;line-height:1.12;text-wrap:balance;font-weight:700}
.elp-hub p,.elp-hub ul,.elp-hub li{margin:0;padding:0;font-family:var(--body);color:inherit;font-size:inherit;line-height:inherit}
.elp-hub ul{list-style:none}
.elp-hub a{color:inherit;text-decoration:none;font-family:var(--body)}
.elp-hub button,.elp-hub input{font-family:var(--body);letter-spacing:0;text-transform:none}
.elp-hub a:focus-visible,.elp-hub button:focus-visible,.elp-hub input:focus-visible{outline:2px solid var(--rubine);outline-offset:3px}

.elp-hub .h-wrap{max-width:1180px;margin:0 auto;padding-inline:24px}
.elp-hub section{padding-block:56px}
.elp-hub section + section{border-top:1px solid var(--line)}
.elp-hub .h-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin-bottom:22px}
.elp-hub .h-head h2{font-size:2rem}
.elp-hub .h-head a{font-weight:600;color:var(--blue);font-size:.95rem}
.elp-hub .h-head a:hover{color:var(--rubine)}
.elp-hub .h-eyebrow{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--rubine)}
.elp-hub .h-kicker{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--rubine)}

/* photo placeholders */
.elp-hub .ph{position:relative;display:block;background-color:var(--ph);background-image:repeating-linear-gradient(135deg,rgba(39,66,126,.06) 0 2px,transparent 2px 14px);overflow:hidden}
.elp-hub .ph-cap{position:absolute;left:10px;bottom:10px;font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);background:#ffffff;padding:3px 8px;border-radius:3px}

/* hero */
.elp-hub .h-hero{padding-block:64px 40px}
.elp-hub .h-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:48px;align-items:center}
.elp-hub .h-hero-copy{display:grid;gap:18px;align-content:start}
.elp-hub .h-hero h1{font-size:clamp(2.2rem,4.2vw,3.3rem);font-weight:800;line-height:1.06}
.elp-hub .h-hero h1 em{font-style:italic;color:var(--blue);font-weight:700}
.elp-hub .h-sub{font-size:1.15rem;color:var(--gray)}
.elp-hub .h-search{position:relative;display:flex;align-items:center;gap:0;border:2px solid var(--blue);border-radius:10px;background:#ffffff;margin-top:6px}
.elp-hub .h-search-ico{width:22px;height:22px;color:var(--blue);margin-left:16px;flex:none}
.elp-hub .h-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font-size:1.05rem;padding:16px 14px;color:var(--ink);box-shadow:none;margin:0;height:auto}
.elp-hub .h-search input::-webkit-search-cancel-button{display:none}
.elp-hub .h-search button[type=submit]{background:var(--blue);color:#ffffff;border:0;border-radius:0 7px 7px 0;font-weight:700;font-size:1rem;padding:0 24px;align-self:stretch;cursor:pointer}
.elp-hub .h-search button[type=submit]:hover{background:var(--rubine)}
.elp-hub .h-try{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:.88rem;color:var(--gray)}
.elp-hub .h-try button{background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:.85rem;color:var(--blue);cursor:pointer}
.elp-hub .h-try button:hover{border-color:var(--blue)}

/* live search results */
.elp-hub .h-results{position:absolute;left:-2px;right:-2px;top:calc(100% + 6px);background:#ffffff;border:1px solid var(--line);border-radius:10px;box-shadow:0 18px 40px -12px rgba(28,49,99,.28);z-index:20;max-height:440px;overflow:auto;padding:8px 0}
.elp-hub .h-rg{padding:6px 0}
.elp-hub .h-rg + .h-rg{border-top:1px solid var(--line)}
.elp-hub .h-rg-t{font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--rubine);padding:6px 18px 4px}
.elp-hub .h-ri{display:block;padding:7px 18px;font-size:.95rem;line-height:1.35}
.elp-hub .h-ri:hover,.elp-hub .h-ri.is-on{background:var(--soft)}
.elp-hub .h-ri small{display:block;color:var(--gray);font-size:.78rem}
.elp-hub .h-ri mark{background:transparent;color:var(--blue);font-weight:700}
.elp-hub .h-r-all{display:block;padding:10px 18px 6px;font-weight:700;color:var(--blue);font-size:.9rem;border-top:1px solid var(--line)}
.elp-hub .h-r-none{padding:12px 18px;color:var(--gray);font-size:.92rem}

/* hero mosaic of real recent sales */
.elp-hub .h-mosaic{position:relative;display:grid;grid-template-columns:repeat(6,1fr);grid-template-rows:repeat(6,58px);gap:12px}
.elp-hub .h-shot{position:relative;border-radius:8px;overflow:hidden;background:var(--ph);display:block}
.elp-hub .h-shot img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.elp-hub .h-shot:hover img{transform:scale(1.04)}
.elp-hub .h-shot:nth-child(1){grid-column:1/5;grid-row:1/5}
.elp-hub .h-shot:nth-child(2){grid-column:5/7;grid-row:2/5}
.elp-hub .h-shot:nth-child(3){grid-column:2/6;grid-row:5/7}
.elp-hub .h-tagline{position:absolute;left:10px;bottom:10px;right:10px;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.elp-hub .h-sold{background:var(--rubine);color:#ffffff;font-size:.66rem;font-weight:800;letter-spacing:.12em;padding:3px 7px;border-radius:3px}
.elp-hub .h-where{background:#ffffff;color:var(--ink);font-size:.74rem;font-weight:600;padding:3px 8px;border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}

/* stats */
.elp-hub .h-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:44px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.elp-hub .h-stats li{padding:18px 20px;display:grid;gap:2px}
.elp-hub .h-stats li + li{border-left:1px solid var(--line)}
.elp-hub .h-stats b{font-family:var(--display);font-size:2rem;font-weight:700;color:var(--blue);line-height:1;font-variant-numeric:lining-nums tabular-nums}
.elp-hub .h-stats span{font-size:.85rem;color:var(--gray)}

/* market tiles + panel */
.elp-hub .h-markets{background:var(--soft)}
.elp-hub .h-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.elp-hub .h-tile{position:relative;padding:0;border:0;background:transparent;cursor:pointer;text-align:left;display:grid;border-radius:8px;overflow:hidden}
.elp-hub .h-tile .ph{aspect-ratio:4/3;width:100%;transition:filter .2s ease}
.elp-hub .h-tile .ph-cap{left:8px;bottom:auto;top:8px;font-size:.6rem}
.elp-hub .h-tile-name{position:absolute;left:0;right:0;bottom:0;padding:26px 14px 12px;background:linear-gradient(to top,rgba(20,32,64,.82),rgba(20,32,64,0));color:#ffffff;font-family:var(--display);font-weight:700;font-size:1.25rem}
.elp-hub .h-tile::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:transparent}
.elp-hub .h-tile[aria-selected="true"]::after{background:var(--rubine)}
.elp-hub .h-tile-img{aspect-ratio:4/3;width:100%;height:auto;object-fit:cover;display:block;transition:filter .2s ease}
.elp-hub .h-tile[aria-selected="false"] .ph,.elp-hub .h-tile[aria-selected="false"] .h-tile-img{filter:saturate(.6) brightness(.97)}
.elp-hub .h-panel{margin-top:22px;background:#ffffff;border-radius:10px;border:1px solid var(--line);padding:26px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:30px}
.elp-hub .h-feature{display:grid;gap:12px;align-content:start}
.elp-hub .h-feature-img{border-radius:8px;overflow:hidden;aspect-ratio:16/9;background:var(--ph)}
.elp-hub .h-feature-img img{width:100%;height:100%;object-fit:cover;display:block}
.elp-hub .h-feature h3{font-size:1.45rem}
.elp-hub .h-feature h3 a:hover{color:var(--blue)}
.elp-hub .h-earlier{display:grid;gap:10px;margin-top:4px}
.elp-hub .h-earlier a{display:grid;grid-template-columns:72px minmax(0,1fr);gap:12px;align-items:center;font-size:.92rem;line-height:1.3}
.elp-hub .h-earlier img{width:72px;height:48px;object-fit:cover;border-radius:5px;display:block}
.elp-hub .h-earlier small{display:block;color:var(--gray);font-size:.76rem}
.elp-hub .h-earlier a:hover span{color:var(--blue)}
.elp-hub .h-side{display:grid;gap:22px;align-content:start}
.elp-hub .h-side h4{font-family:var(--body);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gray);margin:0 0 10px}
.elp-hub .h-reports li{border-top:1px solid var(--line)}
.elp-hub .h-reports li:last-child{border-bottom:1px solid var(--line)}
.elp-hub .h-reports a{display:flex;justify-content:space-between;gap:14px;padding:11px 0;font-size:.95rem;line-height:1.3}
.elp-hub .h-reports a:hover{color:var(--blue)}
.elp-hub .h-reports em{font-style:normal;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--rubine);white-space:nowrap;padding-top:2px}
.elp-hub .h-pills{display:flex;flex-wrap:wrap;gap:8px}
.elp-hub .h-pills a{border:1px solid var(--line);border-radius:999px;padding:6px 14px;font-size:.88rem;font-weight:600;color:var(--blue);background:#ffffff}
.elp-hub .h-pills a:hover{border-color:var(--blue)}
.elp-hub .h-pills a.h-pill-main{background:var(--blue);color:#ffffff;border-color:var(--blue)}
.elp-hub .h-soon{font-size:.88rem;color:var(--gray);border:1px dashed var(--line);border-radius:999px;padding:6px 14px}

/* library covers */
.elp-hub .h-shelf{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}
.elp-hub .h-cover{position:relative;aspect-ratio:3/4;border-radius:6px;padding:16px;display:grid;grid-template-rows:1fr auto auto;color:#ffffff;overflow:hidden;transition:transform .2s ease}
.elp-hub .h-cover:hover{transform:translateY(-4px)}
.elp-hub .c-blue{background:var(--blue)} .elp-hub .c-rubine{background:var(--rubine)} .elp-hub .c-ink{background:var(--blue-deep)}
.elp-hub .h-cover-n{position:relative;font-family:var(--display);font-size:2.6rem;font-weight:800;line-height:1;font-variant-numeric:lining-nums}
.elp-hub .h-cover-t{position:relative;font-family:var(--display);font-size:1.12rem;font-weight:700;line-height:1.15}
.elp-hub .h-cover-s{position:relative;font-size:.74rem;opacity:.85;margin-top:6px}

/* analysis */
.elp-hub .h-an-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:20px}
.elp-hub .h-an{display:grid;gap:8px;align-content:start}
.elp-hub .h-an .ph,.elp-hub .h-an-img{aspect-ratio:4/3;border-radius:8px;overflow:hidden;display:block;background:var(--ph)}
.elp-hub .h-an-lead .ph,.elp-hub .h-an-lead .h-an-img{aspect-ratio:16/10}
.elp-hub .h-an-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.elp-hub .h-an:hover .h-an-img img{transform:scale(1.04)}
.elp-hub .h-an-t{font-family:var(--display);font-weight:700;font-size:1.08rem;line-height:1.2}
.elp-hub .h-an-lead .h-an-t{font-size:1.45rem}
.elp-hub .h-an:hover .h-an-t{color:var(--blue)}

/* guides */
.elp-hub .h-gu-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.elp-hub .h-gu{display:grid;gap:12px;align-content:start}
.elp-hub .h-gu h3{padding-bottom:10px;border-bottom:2px solid var(--blue)}
.elp-hub .h-gu h3{font-size:1.3rem}
.elp-hub .h-gu li{border-top:1px solid var(--line)}
.elp-hub .h-gu li a{display:block;padding:9px 0;color:var(--ink)}
.elp-hub .h-gu li a::after{content:" →";color:var(--rubine)}
.elp-hub .h-gu li a:hover{color:var(--blue)}

/* results */
.elp-hub .h-res-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.elp-hub .h-res{display:grid;gap:10px;align-content:start}
.elp-hub .h-res-img{aspect-ratio:4/3;border-radius:8px;overflow:hidden;background:var(--ph)}
.elp-hub .h-res-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.elp-hub .h-res:hover img{transform:scale(1.04)}
.elp-hub .h-res-t{font-weight:600;line-height:1.3}
.elp-hub .h-res:hover .h-res-t{color:var(--blue)}

/* pulse band */
.elp-hub .h-pulse{background:var(--blue);border-top:0}
.elp-hub .h-pulse + section{border-top:0}
.elp-hub .h-pulse-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:44px;align-items:center}
.elp-hub .h-phone{display:flex;justify-content:center}
.elp-hub .h-phone img{width:min(250px,70%);height:auto;display:block;margin-block:-48px -56px;filter:drop-shadow(0 22px 34px rgba(0,0,0,.35))}
.elp-hub .h-pulse-copy{display:grid;gap:16px;justify-items:start}
.elp-hub .h-eyebrow-light{color:#ffffff;opacity:.8}
.elp-hub .h-pulse h2{color:#ffffff;font-size:clamp(1.9rem,3.5vw,2.8rem);font-weight:800}
.elp-hub .h-btn{background:var(--rubine);color:#ffffff !important;font-weight:700;padding:14px 28px;border-radius:8px}
.elp-hub .h-btn:hover{background:#ffffff;color:var(--rubine) !important}

/* news */
.elp-hub .h-news-list li{display:grid;grid-template-columns:80px minmax(0,1fr);gap:16px;padding:12px 0;border-top:1px solid var(--line)}
.elp-hub .h-news-list time{color:var(--gray);font-size:.9rem;font-variant-numeric:tabular-nums}
.elp-hub .h-news-list a:hover{color:var(--blue)}

@media (max-width:1000px){
  .elp-hub .h-hero-grid{grid-template-columns:1fr}
  .elp-hub .h-shelf{grid-template-columns:repeat(3,minmax(0,1fr))}
  .elp-hub .h-an-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .elp-hub .h-res-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .elp-hub .h-tiles{grid-template-columns:repeat(5,minmax(140px,1fr));overflow-x:auto;padding-bottom:4px}
}
@media (max-width:700px){
  .elp-hub section{padding-block:40px}
  .elp-hub .h-wrap{padding-inline:16px}
  .elp-hub .h-panel{grid-template-columns:1fr;padding:18px}
  .elp-hub .h-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .elp-hub .h-stats li:nth-child(3){border-left:0}
  .elp-hub .h-stats li:nth-child(n+3){border-top:1px solid var(--line)}
  .elp-hub .h-gu-grid,.elp-hub .h-pulse-grid{grid-template-columns:1fr}
  .elp-hub .h-phone img{width:170px;margin-block:0}
  .elp-hub .h-an-grid{grid-template-columns:1fr}
  .elp-hub .h-mosaic{grid-template-rows:repeat(6,44px)}
  .elp-hub .h-search{border-width:1.5px;border-radius:8px}
  .elp-hub .h-search-ico{width:17px;height:17px;margin-left:11px}
  .elp-hub .h-search input{font-size:16px;padding:10px 8px}
  .elp-hub .h-search button[type=submit]{font-size:.88rem;padding:0 14px;border-radius:0 6px 6px 0}
  .elp-hub .h-try{font-size:.8rem;gap:6px}
  .elp-hub .h-try button{font-size:.78rem;padding:3px 10px}
}
@media (prefers-reduced-motion:reduce){.elp-hub *{transition:none !important}}

/* live template additions */
.elp-hub .h-panel[hidden]{display:none}
.elp-hub .h-tile img.h-tile-img{max-width:100%;margin:0}
.elp-hub .h-an-fallback{display:grid;place-items:center;background:var(--blue);color:#ffffff}
.elp-hub .h-an-fallback span{font-family:var(--display);font-weight:700;font-size:1.1rem;opacity:.85}
