/* ═══════════════════════════════════════════════════════════════
   TULSA MARKET DATA — Dark Mode Data Dashboard
   Design: Bloomberg meets modern fintech. Dark, sharp, data-first.
   Layout: Dashboard grids, glowing accents, monospace numbers
   ═══════════════════════════════════════════════════════════════ */

@font-face{font-family:'Sora';src:url(/fonts/sora-latin.woff2) format('woff2');font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:'Fraunces';src:url(/fonts/fraunces-latin.woff2) format('woff2');font-weight:400 900;font-style:normal;font-display:swap}
@font-face{font-family:'JetBrains Mono';src:url(/fonts/jetbrains-mono-latin.woff2) format('woff2');font-weight:400 700;font-style:normal;font-display:swap}

:root{
  --bg:#090B10;--surface:#0F1219;--surface-2:#161B26;--surface-3:#1C2333;
  --border:#1E2536;--border-light:#2A3347;
  --teal:#10B981;--teal-bright:#34D399;--teal-dim:#065F46;--teal-glow:rgba(16,185,129,0.12);
  --amber:#F59E0B;--red:#EF4444;--green:#22C55E;
  --text:#E2E8F0;--text-muted:#8492A6;--text-dim:#4A5568;
  --white:#FFFFFF;
  --font-body:'Sora',-apple-system,sans-serif;
  --font-display:'Fraunces',Georgia,serif;
  --font-mono:'JetBrains Mono','Fira Code',monospace;
  --max-w:1280px;--content-w:820px;
  --radius:8px;--radius-lg:12px;
  --glow:0 0 30px rgba(16,185,129,0.15);
  --shadow:0 8px 32px rgba(0,0,0,0.4);
  --ease:cubic-bezier(0.16,1,0.3,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:var(--font-body);color:var(--text);background:var(--bg);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:1.15;color:var(--white);letter-spacing:-0.02em}
h1{font-size:clamp(2.25rem,4.5vw,3.75rem)}
h2{font-size:clamp(1.6rem,3vw,2.5rem)}
h3{font-size:clamp(1.15rem,2vw,1.5rem)}

.container{max-width:var(--max-w);margin:0 auto;padding:0 2rem}
.narrow{max-width:var(--content-w);margin:0 auto}

/* Scroll Reveal */
.reveal{opacity:0;transform:translateY(40px);transition:opacity 0.8s var(--ease),transform 0.8s var(--ease)}
.reveal.visible{opacity:1;transform:translateY(0)}
.stagger-1{transition-delay:0.08s}.stagger-2{transition-delay:0.16s}.stagger-3{transition-delay:0.24s}.stagger-4{transition-delay:0.32s}.stagger-5{transition-delay:0.4s}.stagger-6{transition-delay:0.48s}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* Header */
.site-header{background:rgba(9,11,16,0.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;transition:border-color 0.4s}
.site-header.scrolled{border-bottom-color:var(--teal-dim);box-shadow:0 0 40px rgba(16,185,129,0.05)}
.header-inner{max-width:var(--max-w);margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{display:flex;align-items:center;gap:0.75rem;font-family:var(--font-body);font-weight:700;font-size:0.95rem;color:var(--white);letter-spacing:0.02em}
.logo-dot{width:10px;height:10px;background:var(--teal);border-radius:50%;box-shadow:0 0 12px var(--teal);animation:pulse-dot 3s ease-in-out infinite}
@keyframes pulse-dot{0%,100%{box-shadow:0 0 12px var(--teal)}50%{box-shadow:0 0 24px var(--teal),0 0 48px rgba(16,185,129,0.2)}}
.logo span{color:var(--teal-bright)}
.nav-links{display:flex;align-items:center;gap:2rem}
.nav-links a{font-size:0.8rem;font-weight:500;color:var(--text-muted);letter-spacing:0.06em;text-transform:uppercase;transition:color 0.3s}
.nav-links a:hover,.nav-links a.active{color:var(--teal-bright)}

/* Hero */
.hero{position:relative;padding:5rem 0 3rem;overflow:hidden}
.hero::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:800px;height:800px;background:radial-gradient(circle,rgba(16,185,129,0.08) 0%,transparent 70%);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:4rem;align-items:center}
.hero-content .eyebrow{font-family:var(--font-mono);font-size:0.72rem;color:var(--teal);letter-spacing:0.15em;text-transform:uppercase;margin-bottom:1rem;display:flex;align-items:center;gap:0.5rem}
.hero-content .eyebrow::before{content:'';width:24px;height:1px;background:var(--teal)}
.hero h1{margin-bottom:1.25rem}
.hero h1 span{color:var(--teal-bright)}
.hero-sub{color:var(--text-muted);font-size:1.05rem;line-height:1.75;max-width:480px}
.hero-img{position:relative;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border)}
.hero-img img{width:100%;height:auto;display:block}
.hero-img::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(16,185,129,0.1) 0%,transparent 60%);pointer-events:none}

/* Live Data Strip */
.data-strip{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface);padding:1.25rem 0;overflow:hidden}
.data-strip-inner{display:flex;gap:0;justify-content:center;flex-wrap:wrap}
.data-pill{padding:0.6rem 2rem;border-right:1px solid var(--border);text-align:center;flex:1;min-width:160px}
.data-pill:last-child{border-right:none}
.data-pill .val{font-family:var(--font-mono);font-size:1.5rem;font-weight:700;color:var(--white);line-height:1.2}
.data-pill .val.teal{color:var(--teal-bright)}
.data-pill .lbl{font-size:0.68rem;color:var(--text-dim);letter-spacing:0.12em;text-transform:uppercase;margin-top:0.2rem;font-weight:500}
.data-pill .chg{font-family:var(--font-mono);font-size:0.72rem;font-weight:600;margin-top:0.15rem}
.chg.up{color:var(--green)}.chg.down{color:var(--red)}.chg.flat{color:var(--text-dim)}

/* Market Summary */
.market-summary{padding:5rem 0}
.summary-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:3rem;position:relative;overflow:hidden}
.summary-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--teal),var(--teal-bright),var(--teal))}
.summary-card .eyebrow{font-family:var(--font-mono);font-size:0.7rem;color:var(--teal);letter-spacing:0.15em;text-transform:uppercase;margin-bottom:1rem}
.summary-card h2{margin-bottom:1.5rem;font-size:1.75rem}
.summary-card p{color:var(--text-muted);font-size:0.95rem;line-height:1.85;max-width:800px}

/* Zip Code Grid */
.zip-section{padding:5rem 0}
.zip-section .eyebrow{font-family:var(--font-mono);font-size:0.7rem;color:var(--teal);letter-spacing:0.15em;text-transform:uppercase;margin-bottom:0.75rem;text-align:center}
.zip-section h2{text-align:center;margin-bottom:3rem}
.zip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:0.75rem}
.zip-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;text-align:center;transition:all 0.35s var(--ease);cursor:pointer}
.zip-card:hover{border-color:var(--teal);background:var(--surface-2);box-shadow:var(--glow);transform:translateY(-3px)}
.zip-card .zip-code{font-family:var(--font-mono);font-size:1.1rem;font-weight:700;color:var(--white)}
.zip-card .zip-price{font-family:var(--font-mono);font-size:0.78rem;color:var(--teal-bright);margin-top:0.2rem}
.zip-card .zip-change{font-size:0.68rem;color:var(--text-dim);margin-top:0.15rem}

/* Reports / Articles */
.reports{padding:5rem 0;background:var(--surface)}
.reports .eyebrow{font-family:var(--font-mono);font-size:0.7rem;color:var(--teal);letter-spacing:0.15em;text-transform:uppercase;margin-bottom:0.75rem;text-align:center}
.reports h2{text-align:center;margin-bottom:3rem}
.reports-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.25rem}
.report-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:all 0.4s var(--ease)}
.report-card:hover{border-color:var(--teal);box-shadow:var(--glow);transform:translateY(-4px)}
.report-card-img{height:200px;overflow:hidden;position:relative}
.report-card-img img{width:100%;height:100%;object-fit:cover;transition:transform 0.7s var(--ease);filter:brightness(0.8)}
.report-card:hover .report-card-img img{transform:scale(1.06);filter:brightness(0.9)}
.report-card-img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(9,11,16,0.8) 100%)}
.report-card-body{padding:1.5rem}
.report-card .tag{font-family:var(--font-mono);font-size:0.65rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--teal);font-weight:500}
.report-card h3{margin:0.5rem 0;font-size:1.2rem}
.report-card h3 a{color:var(--white);transition:color 0.3s}
.report-card h3 a:hover{color:var(--teal-bright)}
.report-card p{color:var(--text-muted);font-size:0.85rem;line-height:1.65}
.report-card .read-link{display:inline-flex;align-items:center;gap:0.35rem;font-family:var(--font-mono);font-size:0.75rem;color:var(--teal);font-weight:500;letter-spacing:0.05em;text-transform:uppercase;margin-top:0.75rem;transition:gap 0.3s var(--ease)}
.report-card .read-link:hover{gap:0.6rem}

/* FAQ */
.faq{padding:5rem 0}
.faq .eyebrow{font-family:var(--font-mono);font-size:0.7rem;color:var(--teal);letter-spacing:0.15em;text-transform:uppercase;margin-bottom:0.75rem;text-align:center}
.faq h2{text-align:center;margin-bottom:3rem}
.faq-list{max-width:var(--content-w);margin:0 auto}
.faq-item{border-bottom:1px solid var(--border);padding:1.25rem 0;cursor:pointer}
.faq-q{font-family:var(--font-body);font-weight:600;font-size:1rem;color:var(--white);display:flex;justify-content:space-between;align-items:center;gap:1rem}
.faq-q::after{content:'+';font-family:var(--font-mono);font-size:1.25rem;color:var(--teal);transition:transform 0.3s;flex-shrink:0}
.faq-item.open .faq-q::after{transform:rotate(45deg)}
.faq-a{color:var(--text-muted);font-size:0.92rem;line-height:1.75;max-height:0;overflow:hidden;transition:max-height 0.5s var(--ease),padding 0.5s var(--ease);padding-top:0}
.faq-item.open .faq-a{max-height:300px;padding-top:0.75rem}

/* CTA */
.cta{padding:5rem 0;background:var(--surface);text-align:center;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.cta h2{margin-bottom:0.5rem}
.cta p{color:var(--text-muted);margin-bottom:2rem}
.cta-form{display:flex;gap:0;max-width:480px;margin:0 auto}
.cta-form input{flex:1;padding:0.9rem 1.25rem;border:1px solid var(--border);border-right:none;border-radius:var(--radius) 0 0 var(--radius);background:var(--surface-2);color:var(--white);font-family:var(--font-body);font-size:0.9rem;outline:none;transition:border-color 0.3s}
.cta-form input::placeholder{color:var(--text-dim)}
.cta-form input:focus{border-color:var(--teal)}
.cta-form button{padding:0.9rem 1.75rem;border-radius:0 var(--radius) var(--radius) 0;background:var(--teal);color:var(--bg);font-weight:700;font-size:0.82rem;letter-spacing:0.06em;text-transform:uppercase;border:none;cursor:pointer;font-family:var(--font-body);transition:all 0.3s}
.cta-form button:hover{background:var(--teal-bright);box-shadow:var(--glow)}

/* Footer */
.site-footer{background:var(--surface);border-top:1px solid var(--border);padding:4rem 0 2.5rem}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem}
.footer-brand{font-family:var(--font-body);font-size:0.95rem;font-weight:700;color:var(--white);margin-bottom:0.5rem;display:flex;align-items:center;gap:0.5rem}
.footer-brand .logo-dot{width:8px;height:8px}
.footer-desc{font-size:0.82rem;line-height:1.7;color:var(--text-dim)}
.footer-heading{font-family:var(--font-mono);font-size:0.65rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--text-dim);margin-bottom:0.75rem}
.footer-links{display:flex;flex-direction:column;gap:0.5rem}
.footer-links a{font-size:0.85rem;color:var(--text-muted);transition:color 0.3s}
.footer-links a:hover{color:var(--teal-bright)}
.footer-bottom{border-top:1px solid var(--border);padding-top:2rem;font-size:0.75rem;color:var(--text-dim);text-align:center;line-height:1.7}

/* Inner Pages */
.page-hero{padding:4rem 0 3rem;border-bottom:1px solid var(--border);position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;top:-200px;right:-200px;width:500px;height:500px;background:radial-gradient(circle,rgba(16,185,129,0.06) 0%,transparent 70%);pointer-events:none}
.page-hero .eyebrow{font-family:var(--font-mono);font-size:0.7rem;color:var(--teal);letter-spacing:0.15em;text-transform:uppercase;margin-bottom:0.75rem}
.page-hero p{color:var(--text-muted);font-size:1.05rem;margin-top:0.5rem}
.page-content{padding:4rem 0}
.page-content .narrow{max-width:var(--content-w);margin:0 auto}

.prose{line-height:1.85;color:var(--text)}
.prose p{margin-bottom:1.5rem}
.prose h2{margin-top:3rem;margin-bottom:1rem;color:var(--white)}
.prose h3{margin-top:2.25rem;margin-bottom:0.75rem;color:var(--white)}
.prose ul,.prose ol{margin:0 0 1.5rem 1.75rem;list-style:disc;color:var(--text-muted)}
.prose ol{list-style:decimal}
.prose li{margin-bottom:0.4rem}
.prose a{color:var(--teal-bright);text-decoration:underline;text-decoration-color:var(--teal-dim);text-underline-offset:3px;transition:text-decoration-color 0.3s}
.prose a:hover{text-decoration-color:var(--teal-bright)}
.prose strong{color:var(--white)}

.breadcrumbs{font-family:var(--font-mono);font-size:0.75rem;color:var(--text-dim);margin-bottom:2rem}
.breadcrumbs a{color:var(--teal);transition:color 0.3s}

.blog-list{display:flex;flex-direction:column;gap:1.5rem}
.blog-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:2rem;transition:all 0.4s var(--ease)}
.blog-item:hover{border-color:var(--teal);box-shadow:var(--glow)}
.blog-meta{font-family:var(--font-mono);font-size:0.68rem;color:var(--teal);letter-spacing:0.12em;text-transform:uppercase;margin-bottom:0.5rem}
.blog-meta span{margin-right:1.5rem}
.blog-item h3{margin-bottom:0.5rem}
.blog-item h3 a{color:var(--white);transition:color 0.3s}
.blog-item h3 a:hover{color:var(--teal-bright)}
.blog-item p{color:var(--text-muted);font-size:0.9rem}

.form-group{margin-bottom:1.5rem}
.form-group label{display:block;font-family:var(--font-mono);font-size:0.72rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-dim);margin-bottom:0.5rem}
.form-group input,.form-group textarea{width:100%;padding:0.85rem 1.25rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);font-family:var(--font-body);font-size:0.92rem;color:var(--white);outline:none;transition:border-color 0.3s}
.form-group input:focus,.form-group textarea:focus{border-color:var(--teal)}
.form-group textarea{resize:vertical;min-height:140px}
.btn{display:inline-flex;align-items:center;gap:0.5rem;background:var(--teal);color:var(--bg);padding:0.85rem 2rem;border-radius:var(--radius);font-weight:700;font-size:0.82rem;letter-spacing:0.06em;text-transform:uppercase;border:none;cursor:pointer;font-family:var(--font-body);transition:all 0.3s}
.btn:hover{background:var(--teal-bright);box-shadow:var(--glow);transform:translateY(-2px)}

/* Responsive */
@media(max-width:1024px){.hero-grid{grid-template-columns:1fr}.hero-img{max-width:600px}.reports-grid{grid-template-columns:1fr 1fr}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:768px){.reports-grid{grid-template-columns:1fr}.data-pill{min-width:120px;padding:0.5rem 1rem}.data-pill .val{font-size:1.2rem}.zip-grid{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:1fr}.nav-links{display:none}.cta-form{flex-direction:column}.cta-form input{border-right:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;border-bottom:none}.cta-form button{border-radius:0 0 var(--radius) var(--radius)}}
@media(max-width:480px){.zip-grid{grid-template-columns:repeat(2,1fr)}.data-strip-inner{flex-wrap:wrap}.data-pill{min-width:50%;border-bottom:1px solid var(--border)}}

/* ═══ DATA HIGHLIGHT BOX ═══ */
.data-box{background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--teal);border-radius:0 var(--radius) var(--radius) 0;padding:1.25rem 1.5rem;margin:2rem 0}
.data-box h4{font-family:var(--font-mono);font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--teal);margin-bottom:0.5rem}
.data-box ul{list-style:none;margin:0;padding:0}
.data-box li{color:var(--text-muted);font-size:0.9rem;padding:0.2rem 0;display:flex;justify-content:space-between}
.data-box li strong{color:var(--white)}

/* ═══ RELATED REPORTS ═══ */
.related{padding:3rem 0;border-top:1px solid var(--border);margin-top:3rem}
.related h2{font-size:1.25rem;margin-bottom:1.25rem;color:var(--white)}
.related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}
.related-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;transition:all 0.3s var(--ease)}
.related-card:hover{border-color:var(--teal);box-shadow:var(--glow)}
.related-card .tag{font-family:var(--font-mono);font-size:0.62rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--teal)}
.related-card h3{font-size:1rem;margin:0.3rem 0 0}
.related-card h3 a{color:var(--white);transition:color 0.3s}
.related-card h3 a:hover{color:var(--teal-bright)}

/* ═══ ZIP CROSS-LINKS ═══ */
.zip-links{display:flex;flex-wrap:wrap;gap:0.5rem;margin:1.5rem 0}
.zip-link{font-family:var(--font-mono);font-size:0.8rem;padding:0.35rem 0.75rem;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--text-muted);transition:all 0.3s}
.zip-link:hover{border-color:var(--teal);color:var(--teal-bright)}
