/* USIG RESI Daily — series styles (layered on /san-diego-real-estate/assets/hub.css) */
.mast{position:relative; overflow:hidden; background:
  radial-gradient(900px 380px at 85% -10%, rgba(212,175,55,.16), transparent 60%),
  linear-gradient(180deg,var(--navy2),var(--navy)); border-bottom:1px solid var(--line)}
.mast .wrap{padding-top:46px; padding-bottom:40px}
.mast-top{display:flex; justify-content:space-between; align-items:baseline; gap:10px 24px; flex-wrap:wrap; border-bottom:1px solid var(--line); padding-bottom:12px; margin-bottom:22px}
.wordmark{font-family:"Playfair Display",Georgia,serif; font-size:clamp(1.3rem,2.6vw,1.7rem); letter-spacing:.14em; color:var(--white); font-weight:700}
.wordmark b{color:var(--gold)}
.issue{font-size:.82rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted)}
.mast h1{font-size:clamp(1.9rem,4.4vw,3rem); margin:.55rem 0 .8rem; max-width:24ch}
.mast .lead{font-size:clamp(1.04rem,2vw,1.2rem); font-weight:300; max-width:66ch; margin:0 0 1.1rem; color:#d6dfeb}

.kpis{display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:6px 0 4px}
.kpis .stat b{font-size:1.75rem}
.kpis .stat .chg{color:var(--text); font-size:.86rem; font-weight:600}
@media(max-width:860px){ .kpis{grid-template-columns:repeat(2,1fr)} }
@media(max-width:480px){ .kpis{grid-template-columns:1fr} }
.kpi-note{font-size:.78rem; color:#7f92a8; margin:10px 0 0}

.sec-num{display:inline-block; font-family:"Playfair Display",serif; color:var(--gold); margin-right:.35em}
.label-fact,.label-analysis{display:inline-block; font-size:.66rem; letter-spacing:.14em; text-transform:uppercase; font-weight:700; border-radius:20px; padding:2px 9px; margin:0 0 6px; vertical-align:middle}
.label-fact{color:var(--gold); border:1px solid var(--line)}
.label-analysis{color:#9cbbe3; border:1px solid rgba(122,162,214,.45)}
.two-mkts td:first-child{color:var(--white); font-weight:600}
.num{white-space:nowrap}

/* rate chart */
.chart{border:1px solid var(--line-soft); border-radius:var(--radius); background:var(--navy3); padding:16px 16px 10px; margin:1.2rem 0 1.4rem; position:relative}
.chart h4{margin:0 0 2px; font-size:1rem}
.chart .sub{font-size:.8rem; color:var(--muted); margin:0 0 8px}
.chart svg{width:100%; height:auto; display:block; overflow:visible}
.chart .tip{position:absolute; pointer-events:none; background:#01080f; border:1px solid var(--line); border-radius:6px; padding:6px 10px; font-size:.8rem; color:var(--text); white-space:nowrap; transform:translate(-50%,-115%); opacity:0; transition:opacity .12s}
.chart .tip b{color:var(--white)}
.chart details{margin:8px 0 0; background:transparent; border:0}
.chart details summary{padding:6px 0; font-size:.82rem; color:var(--gold-soft); font-weight:600}
.chart details summary::after{float:none; margin-left:6px}
.chart details .tbl{font-size:.85rem; margin:.4rem 0 .6rem}

.watch{list-style:none; padding:0!important; margin:0 0 1.2rem}
.watch li{display:flex; gap:14px; padding:10px 0!important; border-bottom:1px solid var(--line-soft); margin:0!important}
.watch .when{flex:0 0 118px; color:var(--gold); font-weight:700; font-size:.9rem}

.archive{list-style:none; padding:0; margin:0}
.archive li{border-bottom:1px solid var(--line-soft); padding:16px 0}
.archive .d{font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); font-weight:700}
.archive a.t{display:block; font-family:"Playfair Display",serif; font-size:1.25rem; color:var(--white); margin:4px 0}
.archive p{margin:0; color:var(--muted); font-size:.95rem}
.pillars{display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin:1rem 0 1.4rem}
.pillars .card h3{font-size:1.08rem}
.pillars .card p{font-size:.92rem}
@media(max-width:700px){ .pillars{grid-template-columns:1fr} .watch .when{flex-basis:96px} }
.subscribe{display:flex; gap:10px; flex-wrap:wrap; align-items:center; font-size:.92rem; color:var(--muted)}

/* ---- The Realty Gazette additions ---- */
.brand .gz{font-family:"Playfair Display",Georgia,serif; font-weight:700; font-size:1.18rem; letter-spacing:.06em; color:var(--white); line-height:1.1}
.brand .gz small{display:block; font-family:"Source Sans 3",sans-serif; font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:var(--gold); font-weight:700; margin-top:3px}
.tagline{font-family:"Playfair Display",serif; font-style:italic; color:var(--muted); font-size:clamp(.95rem,1.8vw,1.1rem); margin:-6px 0 18px}

.affects{display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin:1rem 0 1.4rem}
.affects .a{border:1px solid var(--line-soft); border-left:3px solid var(--gold); border-radius:8px; background:var(--navy3); padding:14px 16px}
.affects .a b{display:block; font-family:"Playfair Display",serif; color:var(--white); font-size:1.05rem; margin-bottom:4px}
.affects .a span{color:#d6dfeb; font-size:.95rem; line-height:1.55}
@media(max-width:640px){ .affects{grid-template-columns:1fr} }

.bars{border:1px solid var(--line-soft); border-radius:var(--radius); background:var(--navy3); padding:16px 16px 10px; margin:1.2rem 0 1.4rem}
.bars h4{margin:0 0 2px; font-size:1rem}
.bars .sub{font-size:.8rem; color:var(--muted); margin:0 0 10px}
.bars .legend{display:flex; gap:16px; flex-wrap:wrap; font-size:.84rem; color:var(--text); margin:0 0 10px}
.bars .legend i{display:inline-block; width:12px; height:12px; border-radius:3px; margin-right:6px; vertical-align:-1px}
.bars .panels{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
@media(max-width:700px){ .bars .panels{grid-template-columns:1fr} }
.bars .panel h5{margin:0 0 8px; font-size:.8rem; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); font-weight:700}
.bars .row{display:grid; grid-template-columns:1fr; gap:2px; margin:0 0 10px}
.bars .row .nm{font-size:.8rem; color:var(--muted)}
.bars .track{position:relative; height:20px}
.bars .track .zero{position:absolute; top:-2px; bottom:-2px; width:1px; background:rgba(255,255,255,.25)}
.bars .bar{position:absolute; top:1px; height:18px}
.bars .bar.pos{border-radius:0 4px 4px 0}
.bars .bar.neg{border-radius:4px 0 0 4px}
.bars .val{position:absolute; top:0; font-size:.82rem; font-weight:700; color:var(--text); white-space:nowrap; line-height:20px}
.bars details{margin:4px 0 0; background:transparent; border:0}
.bars details summary{padding:6px 0; font-size:.82rem; color:var(--gold-soft); font-weight:600}
.bars details summary::after{float:none; margin-left:6px}

.video{margin:0 0 1.6rem; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:#000}
.video .frame{position:relative; padding-top:56.25%}
.video .frame iframe,.video .frame video{position:absolute; inset:0; width:100%; height:100%; border:0}
.video .cap{background:var(--navy3); padding:10px 14px; font-size:.86rem; color:var(--muted)}
.video .cap b{color:var(--gold)}

.subbox{border:1px solid var(--line); border-radius:var(--radius); background:linear-gradient(120deg,var(--navy2),var(--panel)); padding:20px; margin:2rem 0}
.subbox h3{margin:0 0 4px; font-size:1.3rem}
.subbox p{margin:0 0 12px; color:var(--muted)}
.subbox form{display:flex; gap:10px; flex-wrap:wrap}
.subbox input[type=email],.subbox input[type=text]{flex:1 1 200px; min-width:0; padding:12px 14px; border-radius:4px; border:1px solid var(--line); background:#01080f; color:var(--text); font:inherit}
.subbox .hp{position:absolute; left:-9999px}
.subbox .fine{font-size:.76rem; color:#7f92a8; margin:10px 0 0}
.subbox .ok{color:var(--gold-soft); font-weight:600; margin:0}
.subbox .er{color:#f29c9c; font-size:.86rem; margin:6px 0 0; min-height:1em}

.pubbox{display:flex; gap:16px; align-items:flex-start; border:1px solid var(--line-soft); border-radius:10px; background:var(--navy3); padding:18px; margin:2rem 0}
.pubbox img{width:72px; height:72px; border-radius:50%; object-fit:cover; border:2px solid var(--gold); flex:0 0 auto}
.pubbox .lbl{font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; font-weight:700; color:var(--gold)}
.pubbox p{margin:.3rem 0 .6rem; color:#d6dfeb; font-size:.95rem}
@media(max-width:600px){ .pubbox{flex-direction:column} }

.feature-ed{display:grid; grid-template-columns:1.1fr 1fr; gap:22px; align-items:center; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:var(--navy3); margin:0 0 1.4rem}
.feature-ed img{width:100%; height:auto; display:block}
.feature-ed .tx{padding:18px 20px 18px 0}
.feature-ed .tx a.t{display:block; font-family:"Playfair Display",serif; font-size:1.35rem; color:var(--white); margin:6px 0 8px; line-height:1.25}
.feature-ed .tx p{margin:0 0 10px; color:var(--muted)}
@media(max-width:760px){ .feature-ed{grid-template-columns:1fr} .feature-ed .tx{padding:0 18px 18px} }
.secnav{display:flex; gap:8px; flex-wrap:wrap; margin:0 0 1rem}
.secnav a{font-size:.82rem; border:1px solid var(--line); border-radius:20px; padding:4px 12px; color:var(--text)}
.bars .row .nm{display:flex; justify-content:space-between; gap:8px}
.bars .row .nm b{color:var(--text); font-weight:700}
