/* ═══════════════════════════════════════════════════════════════
   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;
  --d-border:#1E2536;--d-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;
  --d-text:#E2E8F0;--d-text-muted:#8492A6;--d-text-dim:#4A5568;
  --d-white:#FFFFFF;
  --d-font:'Sora',-apple-system,sans-serif;
  --d-display:'Fraunces',Georgia,serif;
  --d-mono:'JetBrains Mono','Fira Code',monospace;
  --d-max-w:1280px;--d-content-w:820px;
  --d-radius:8px;--d-radius-lg:12px;
  --d-glow:0 0 30px rgba(16,185,129,0.15);
  --d-shadow:0 8px 32px rgba(0,0,0,0.4);
  --d-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(--d-font);color:var(--d-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(--d-display);font-weight:700;line-height:1.15;color:var(--d-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)}

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

/* CSS-Only Reveal Animation */
.reveal{animation:tmd-emerge 0.9s cubic-bezier(0.22,1,0.36,1) both}
.reveal:nth-child(2){animation-delay:0.1s}
.reveal:nth-child(3){animation-delay:0.2s}
@keyframes tmd-emerge{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.reveal{animation:none;opacity:1;transform:none}}
.data-stagger-1{animation-delay:0.05s}.data-stagger-2{animation-delay:0.15s}.data-stagger-3{animation-delay:0.25s}.data-stagger-4{animation-delay:0.35s}.data-stagger-5{animation-delay:0.4s}.data-stagger-6{animation-delay:0.48s}

/* Header */
.data-header{background:rgba(9,11,16,0.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--d-border);position:sticky;top:0;z-index:100;transition:border-color 0.4s}
.data-header.data-compact{border-bottom-color:var(--teal-dim);box-shadow:0 0 40px rgba(16,185,129,0.05)}
.data-bar{max-width:var(--d-max-w);margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;height:64px}
.data-logo{display:flex;align-items:center;gap:0.75rem;font-family:var(--d-font);font-weight:700;font-size:0.95rem;color:var(--d-white);letter-spacing:0.02em}
.data-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)}}
.data-logo span{color:var(--teal-bright)}
.data-nav{display:flex;align-items:center;gap:2rem}
.data-nav a{font-size:0.8rem;font-weight:500;color:var(--d-text-muted);letter-spacing:0.06em;text-transform:uppercase;transition:color 0.3s}
.data-nav a:hover,.data-nav a.data-active{color:var(--teal-bright)}

/* Hero */
.chart-hero{position:relative;padding:5rem 0 3rem;overflow:hidden}
.chart-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}
.chart-hero-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:4rem;align-items:center}
.chart-hero-content .data-label{font-family:var(--d-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}
.chart-hero-content .data-label::before{content:'';width:24px;height:1px;background:var(--teal)}
.chart-hero h1{margin-bottom:1.25rem}
.chart-hero h1 span{color:var(--teal-bright)}
.chart-hero-sub{color:var(--d-text-muted);font-size:1.05rem;line-height:1.75;max-width:480px}
.chart-hero-img{position:relative;border-radius:var(--d-radius-lg);overflow:hidden;border:1px solid var(--d-border)}
.chart-hero-img img{width:100%;height:auto;display:block}
.chart-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(--d-border);border-bottom:1px solid var(--d-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(--d-border);text-align:center;flex:1;min-width:160px}
.data-pill:last-child{border-right:none}
.data-pill .val{font-family:var(--d-mono);font-size:1.5rem;font-weight:700;color:var(--d-white);line-height:1.2}
.data-pill .val.teal{color:var(--teal-bright)}
.data-pill .lbl{font-size:0.68rem;color:var(--d-text-dim);letter-spacing:0.12em;text-transform:uppercase;margin-top:0.2rem;font-weight:500}
.data-pill .chg{font-family:var(--d-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(--d-text-dim)}

/* Market Summary */
.market-summary{padding:5rem 0}
.summary-card{background:var(--surface);border:1px solid var(--d-border);border-radius:var(--d-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 .data-label{font-family:var(--d-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(--d-text-muted);font-size:0.95rem;line-height:1.85;max-width:800px}

/* Zip Code Grid */
.zip-section{padding:5rem 0}
.zip-section .data-label{font-family:var(--d-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(--d-border);border-radius:var(--d-radius);padding:1rem;text-align:center;transition:all 0.35s var(--d-ease);cursor:pointer}
.zip-card:hover{border-color:var(--teal);background:var(--surface-2);box-shadow:var(--d-glow);transform:translateY(-3px)}
.zip-card .zip-code{font-family:var(--d-mono);font-size:1.1rem;font-weight:700;color:var(--d-white)}
.zip-card .zip-price{font-family:var(--d-mono);font-size:0.78rem;color:var(--teal-bright);margin-top:0.2rem}
.zip-card .zip-change{font-size:0.68rem;color:var(--d-text-dim);margin-top:0.15rem}

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

/* FAQ */
.data-faq{padding:5rem 0}
.data-faq .data-label{font-family:var(--d-mono);font-size:0.7rem;color:var(--teal);letter-spacing:0.15em;text-transform:uppercase;margin-bottom:0.75rem;text-align:center}
.data-faq h2{text-align:center;margin-bottom:3rem}
.data-faq-list{max-width:var(--d-content-w);margin:0 auto}
.data-faq-list details{border-bottom:1px solid var(--d-border);padding:1.25rem 0}
.data-faq-list summary{font-family:var(--d-font);font-weight:600;font-size:1rem;color:var(--d-white);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;list-style:none}
.data-faq-list summary::-webkit-details-marker{display:none}
.data-faq-list summary::marker{display:none}
.data-faq-list summary::after{content:'+';font-family:var(--d-mono);font-size:1.25rem;color:var(--teal);transition:transform 0.3s;flex-shrink:0}
.data-faq-list details[open] summary::after{transform:rotate(45deg)}
.data-faq-list .data-faq-answer{color:var(--d-text-muted);font-size:0.92rem;line-height:1.75;padding-top:0.75rem}

/* CTA */
.data-cta{padding:5rem 0;background:var(--surface);text-align:center;border-top:1px solid var(--d-border);border-bottom:1px solid var(--d-border)}
.data-cta h2{margin-bottom:0.5rem}
.data-cta p{color:var(--d-text-muted);margin-bottom:2rem}
.data-cta-form{display:flex;gap:0;max-width:480px;margin:0 auto}
.data-cta-form input{flex:1;padding:0.9rem 1.25rem;border:1px solid var(--d-border);border-right:none;border-radius:var(--d-radius) 0 0 var(--d-radius);background:var(--surface-2);color:var(--d-white);font-family:var(--d-font);font-size:0.9rem;outline:none;transition:border-color 0.3s}
.data-cta-form input::placeholder{color:var(--d-text-dim)}
.data-cta-form input:focus{border-color:var(--teal)}
.data-cta-form button{padding:0.9rem 1.75rem;border-radius:0 var(--d-radius) var(--d-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(--d-font);transition:all 0.3s}
.data-cta-form button:hover{background:var(--teal-bright);box-shadow:var(--d-glow)}

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

/* Inner Pages */
.data-page-hero{padding:4rem 0 3rem;border-bottom:1px solid var(--d-border);position:relative;overflow:hidden}
.data-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}
.data-page-hero .data-label{font-family:var(--d-mono);font-size:0.7rem;color:var(--teal);letter-spacing:0.15em;text-transform:uppercase;margin-bottom:0.75rem}
.data-page-hero p{color:var(--d-text-muted);font-size:1.05rem;margin-top:0.5rem}
.data-page-content{padding:4rem 0}
.data-page-content .data-narrow{max-width:var(--d-content-w);margin:0 auto}

.data-prose{line-height:1.85;color:var(--d-text)}
.data-prose p{margin-bottom:1.5rem}
.data-prose h2{margin-top:3rem;margin-bottom:1rem;color:var(--d-white)}
.data-prose h3{margin-top:2.25rem;margin-bottom:0.75rem;color:var(--d-white)}
.data-prose ul,.data-prose ol{margin:0 0 1.5rem 1.75rem;list-style:disc;color:var(--d-text-muted)}
.data-prose ol{list-style:decimal}
.data-prose li{margin-bottom:0.4rem}
.data-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}
.data-prose a:hover{text-decoration-color:var(--teal-bright)}
.data-prose strong{color:var(--d-white)}

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

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

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

/* Responsive */
@media(max-width:1080px){.chart-hero-grid{grid-template-columns:1fr}.chart-hero-img{max-width:600px}.reports-grid{grid-template-columns:1fr 1fr}.data-footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.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)}.data-footer-grid{grid-template-columns:1fr}.data-nav{display:none}.data-cta-form{flex-direction:column}.data-cta-form input{border-right:1px solid var(--d-border);border-radius:var(--d-radius) var(--d-radius) 0 0;border-bottom:none}.data-cta-form button{border-radius:0 0 var(--d-radius) var(--d-radius)}}
@media(max-width:420px){.zip-grid{grid-template-columns:repeat(2,1fr)}.data-strip-inner{flex-wrap:wrap}.data-pill{min-width:50%;border-bottom:1px solid var(--d-border)}}

/* ═══ DATA HIGHLIGHT BOX ═══ */
.data-box{background:var(--surface-2);border:1px solid var(--d-border);border-left:3px solid var(--teal);border-radius:0 var(--d-radius) var(--d-radius) 0;padding:1.25rem 1.5rem;margin:2rem 0}
.data-box h4{font-family:var(--d-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(--d-text-muted);font-size:0.9rem;padding:0.2rem 0;display:flex;justify-content:space-between}
.data-box li strong{color:var(--d-white)}

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

/* ═══ DASHBOARD GRID LAYOUT ═══ */
.dashboard-grid{display:grid;grid-template-columns:1fr 340px;gap:3rem;max-width:var(--d-max-w);margin:0 auto;padding:3rem 2rem}
.dashboard-sidebar{position:sticky;top:100px;align-self:start}
@media(max-width:1080px){.dashboard-grid{grid-template-columns:1fr;}.dashboard-sidebar{position:static}}
