/* ═══════════════════════════════════════
   NEXUS MARKET REVIEW — Crimson Editorial
   ═══════════════════════════════════════ */

   *,*::before,*::after{margin:0;padding:0;box-sizing:border-box}

   :root{
     --bg:#0a0a0c;
     --bg-card:#12121a;
     --bg-glass:rgba(180,30,30,.06);
     --red:#c62828;
     --red-light:#ef5350;
     --red-glow:rgba(198,40,40,.35);
     --red-dim:rgba(198,40,40,.12);
     --text:#d4d4d8;
     --text-muted:#71717a;
     --white:#f4f4f5;
     --border:rgba(255,255,255,.06);
     --radius:14px;
     --font:'Inter',system-ui,-apple-system,sans-serif;
     --font-display:'Playfair Display',Georgia,serif;
   }
   
   @import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;0,700;1,500&display=swap');
   
   html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
   
   body{
     font-family:var(--font);
     background:var(--bg);
     color:var(--text);
     line-height:1.75;
     font-size:16px;
     overflow-x:hidden;
   }
   
   /* ── grain overlay ── */
   body::after{
     content:'';
     position:fixed;inset:0;
     pointer-events:none;
     z-index:9999;
     background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)' opacity='.03'/%3E%3C/svg%3E");
     background-repeat:repeat;
   }
   
   /* ── layout ── */
   .wrap{max-width:860px;margin:0 auto;padding:0 24px}
   
   /* ── HERO ── */
   .hero{
     position:relative;
     min-height:100vh;
     display:flex;
     align-items:center;
     justify-content:center;
     text-align:center;
     overflow:hidden;
   }
   
   .hero-mesh{
     position:absolute;inset:0;
     z-index:0;
     overflow:hidden;
   }
   
   .hero-mesh svg{
     position:absolute;
     width:140%;height:140%;
     left:-20%;top:-20%;
     opacity:.18;
   }
   
   .hero-content{
     position:relative;z-index:1;
     max-width:680px;
     padding:40px 24px;
   }
   
   .hero-badge{
     display:inline-flex;
     align-items:center;gap:8px;
     padding:6px 18px;
     border:1px solid var(--red-dim);
     border-radius:999px;
     font-size:12px;
     text-transform:uppercase;
     letter-spacing:2.5px;
     color:var(--red-light);
     margin-bottom:32px;
     backdrop-filter:blur(6px);
     background:rgba(198,40,40,.06);
   }
   
   .hero-badge .dot{
     width:6px;height:6px;
     border-radius:50%;
     background:var(--red);
     animation:pulse-dot 2s ease infinite;
   }
   
   @keyframes pulse-dot{
     0%,100%{opacity:1;transform:scale(1)}
     50%{opacity:.4;transform:scale(.7)}
   }
   
   .hero h1{
     font-family:var(--font-display);
     font-size:clamp(2.6rem,6vw,4.2rem);
     font-weight:700;
     color:var(--white);
     line-height:1.15;
     margin-bottom:20px;
   }
   
   .hero h1 span{
     color:var(--red);
     position:relative;
   }
   
   .hero-sub{
     font-size:1.05rem;
     color:var(--text-muted);
     max-width:500px;
     margin:0 auto 36px;
     line-height:1.7;
   }
   
   .hero-scroll{
     display:inline-flex;
     flex-direction:column;
     align-items:center;
     gap:8px;
     color:var(--text-muted);
     font-size:12px;
     letter-spacing:2px;
     text-transform:uppercase;
     cursor:default;
   }
   
   .hero-scroll .line{
     width:1px;height:48px;
     background:linear-gradient(to bottom,var(--red),transparent);
     animation:scroll-line 2s ease infinite;
   }
   
   @keyframes scroll-line{
     0%{transform:scaleY(0);transform-origin:top}
     50%{transform:scaleY(1);transform-origin:top}
     51%{transform-origin:bottom}
     100%{transform:scaleY(0);transform-origin:bottom}
   }
   
   /* ── SECTIONS ── */
   section{padding:100px 0}
   
   .reveal{
     opacity:0;
     transform:translateY(40px);
     transition:opacity .8s cubic-bezier(.22,1,.36,1),transform .8s cubic-bezier(.22,1,.36,1);
   }
   
   .reveal.visible{opacity:1;transform:none}
   
   .section-label{
     display:inline-block;
     font-size:11px;
     letter-spacing:3px;
     text-transform:uppercase;
     color:var(--red);
     margin-bottom:16px;
     padding-left:30px;
     position:relative;
   }
   
   .section-label::before{
     content:'';
     position:absolute;left:0;top:50%;
     width:20px;height:1px;
     background:var(--red);
   }
   
   h2{
     font-family:var(--font-display);
     font-size:clamp(1.8rem,4vw,2.6rem);
     font-weight:700;
     color:var(--white);
     margin-bottom:28px;
     line-height:1.2;
   }
   
   /* ── review text ── */
   .review-text{
     font-size:1.05rem;
     color:var(--text);
     line-height:1.85;
   }
   
   .review-text p+p{margin-top:22px}
   
   .highlight-line{
     border-left:2px solid var(--red);
     padding-left:20px;
     margin:32px 0;
     color:var(--white);
     font-family:var(--font-display);
     font-style:italic;
     font-size:1.2rem;
     line-height:1.6;
   }
   
   /* ── feature cards row ── */
   .features-row{
     display:grid;
     grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
     gap:20px;
     margin-top:48px;
   }
   
   .feat-card{
     background:var(--bg-card);
     border:1px solid var(--border);
     border-radius:var(--radius);
     padding:28px 24px;
     transition:border-color .3s,transform .3s;
   }
   
   .feat-card:hover{
     border-color:var(--red-dim);
     transform:translateY(-4px);
   }
   
   .feat-card .feat-icon{
     width:40px;height:40px;
     display:flex;align-items:center;justify-content:center;
     border-radius:10px;
     background:var(--red-dim);
     margin-bottom:16px;
     color:var(--red-light);
   }
   
   .feat-card h3{
     font-size:1rem;
     font-weight:600;
     color:var(--white);
     margin-bottom:8px;
   }
   
   .feat-card p{
     font-size:.88rem;
     color:var(--text-muted);
     line-height:1.6;
   }
   
   /* ── image blocks ── */
   .img-block{
     position:relative;
     border-radius:var(--radius);
     overflow:hidden;
     margin:40px 0;
     background:var(--bg-card);
     border:1px solid var(--border);
   }
   
   .img-block svg{display:block;width:100%}
   
   .img-caption{
     position:absolute;
     bottom:0;left:0;right:0;
     padding:16px 20px;
     background:linear-gradient(to top,rgba(10,10,12,.9),transparent);
     font-size:.82rem;
     color:var(--text-muted);
   }
   
   /* ── stats bar ── */
   .stats-bar{
     display:grid;
     grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
     gap:1px;
     background:var(--border);
     border-radius:var(--radius);
     overflow:hidden;
     margin:48px 0;
   }
   
   .stat-item{
     background:var(--bg-card);
     padding:28px 24px;
     text-align:center;
   }
   
   .stat-num{
     font-family:var(--font-display);
     font-size:2rem;
     font-weight:700;
     color:var(--red);
     display:block;
   }
   
   .stat-label{
     font-size:.78rem;
     color:var(--text-muted);
     text-transform:uppercase;
     letter-spacing:1.5px;
     margin-top:4px;
   }
   
   /* ── expert card ── */
   .expert-card{
     display:flex;
     gap:24px;
     background:var(--bg-card);
     border:1px solid var(--border);
     border-left:3px solid var(--red);
     border-radius:var(--radius);
     padding:32px 28px;
     margin-top:32px;
   }
   
   .expert-avatar{flex-shrink:0}
   
   .expert-body{flex:1}
   
   .expert-quote{
     font-size:1.05rem;
     color:var(--text);
     line-height:1.8;
     font-style:italic;
     margin-bottom:16px;
   }
   
   .expert-quote::before{content:'\201C';font-size:2rem;color:var(--red);line-height:0;vertical-align:-.3em;margin-right:4px}
   
   .expert-name{
     font-weight:600;
     color:var(--white);
     font-size:.95rem;
     margin-bottom:4px;
   }
   
   .expert-title{
     font-size:.82rem;
     color:var(--text-muted);
     line-height:1.5;
   }
   
   @media(max-width:640px){
     .expert-card{flex-direction:column;gap:16px}
   }
   
   /* ── divider ── */
   .divider{
     width:60px;height:2px;
     background:linear-gradient(90deg,var(--red),transparent);
     margin:0 auto;
   }
   
   /* ── FOOTER ── */
   footer{
     padding:60px 0 40px;
     text-align:center;
     border-top:1px solid var(--border);
   }
   
   footer p{
     font-size:.82rem;
     color:var(--text-muted);
   }
   
   footer .footer-brand{
     font-family:var(--font-display);
     font-size:1.1rem;
     color:var(--white);
     margin-bottom:12px;
   }
   
   .footer-company{
     margin-top:24px;
     padding-top:20px;
     border-top:1px solid var(--border);
     font-size:.78rem;
     color:var(--text-muted);
     line-height:1.6;
   }
   
   .footer-company strong{
     color:var(--text);
     font-weight:600;
   }
   
   /* ── floating particles (CSS-only) ── */
   .particles{
     position:fixed;inset:0;
     pointer-events:none;
     z-index:0;
     overflow:hidden;
   }
   
   .particle{
     position:absolute;
     width:3px;height:3px;
     border-radius:50%;
     background:var(--red);
     opacity:0;
     animation:float-up linear infinite;
   }
   
   .particle:nth-child(1){left:12%;animation-duration:14s;animation-delay:0s}
   .particle:nth-child(2){left:28%;animation-duration:18s;animation-delay:3s}
   .particle:nth-child(3){left:55%;animation-duration:16s;animation-delay:6s}
   .particle:nth-child(4){left:72%;animation-duration:20s;animation-delay:1s}
   .particle:nth-child(5){left:90%;animation-duration:15s;animation-delay:8s}
   .particle:nth-child(6){left:40%;animation-duration:22s;animation-delay:4s}
   
   @keyframes float-up{
     0%{bottom:-10px;opacity:0;transform:translateX(0)}
     10%{opacity:.3}
     90%{opacity:.3}
     100%{bottom:110vh;opacity:0;transform:translateX(40px)}
   }
   
   /* ── nav ── */
   .topnav{
     position:fixed;top:0;left:0;right:0;
     z-index:100;
     padding:16px 0;
     transition:background .4s,backdrop-filter .4s;
   }
   
   .topnav.scrolled{
     background:rgba(10,10,12,.85);
     backdrop-filter:blur(16px);
     border-bottom:1px solid var(--border);
   }
   
   .topnav .wrap{
     display:flex;
     justify-content:space-between;
     align-items:center;
   }
   
   .nav-logo{
     font-family:var(--font-display);
     font-weight:700;
     font-size:1.15rem;
     color:var(--white);
     text-decoration:none;
   }
   
   .nav-logo span{color:var(--red)}
   
   .nav-links{display:flex;gap:28px;list-style:none}
   .nav-links a{
     font-size:.84rem;
     color:var(--text-muted);
     text-decoration:none;
     letter-spacing:.5px;
     transition:color .3s;
   }
   .nav-links a:hover{color:var(--red-light)}
   
   /* ── responsive ── */
   @media(max-width:640px){
     .nav-links{display:none}
     section{padding:60px 0}
     .features-row{grid-template-columns:1fr}
     .stats-bar{grid-template-columns:1fr 1fr}
     .hero h1{font-size:2.2rem}
   }