:root {
    --ink: #0d1015;
    --muted: #68707d;
    --line: #e7e9ed;
    --paper: #ffffff;
    --soft: #f6f7f9;
    --accent: #8cff4f;
    --accent-dark: #67d72f;
    --dark-panel: #0d1015;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    background: var(--paper);
    color: var(--ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
}
a { color: inherit; }
.site-width { max-width: 1180px; }
.legal-width { max-width: 820px; }
.py-lg-6 { padding-top: 5rem !important; padding-bottom: 5rem !important; }

.navbar-brand { font-weight: 800; letter-spacing: -.03em; font-size: 1.05rem; }
.brand-mark {
    width: 32px; height: 32px; border-radius: 9px; display: inline-grid; place-items: center;
    background: var(--ink); color: var(--accent); font-weight: 900; line-height: 1;
}
.nav-link { color: #4e5560; font-size: .94rem; font-weight: 600; }
.nav-link:hover { color: var(--ink); }

.hero-section {
    background:
        radial-gradient(circle at 85% 20%, rgba(140,255,79,.18), transparent 32%),
        linear-gradient(180deg, #fbfcfd 0%, #fff 100%);
    border-bottom: 1px solid var(--line);
}
.eyebrow { font-size: .74rem; font-weight: 800; letter-spacing: .14em; color: #5d6570; }
.eyebrow.light { color: #aeb5bf; }
.live-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--accent-dark); display: inline-block; margin-right: 7px; box-shadow: 0 0 0 5px rgba(103,215,47,.11); }
.display-title { font-weight: 850; letter-spacing: -.055em; line-height: .98; font-size: clamp(3rem, 9vw, 6.3rem); max-width: 950px; }
.display-title span { color: #747b86; }
.hero-copy { max-width: 700px; color: #555d68; font-size: clamp(1.08rem, 2vw, 1.28rem); line-height: 1.55; }
.meta-line { color: #737b86; font-size: .88rem; font-weight: 600; }
.meta-separator { color: #b5bbc3; }

.story-card { border-bottom: 1px solid var(--line); padding: 2.2rem 0; }
.story-grid { display: grid; grid-template-columns: 48px minmax(0,1fr); gap: 1rem; }
.story-number { color: #adb3bc; font-size: .78rem; font-weight: 800; letter-spacing: .08em; padding-top: .2rem; }
.story-kicker { display: inline-block; color: #4c7a34; background: #effbe8; padding: .35rem .55rem; border-radius: 999px; font-size: .68rem; font-weight: 850; letter-spacing: .1em; }
.story-title { font-weight: 800; letter-spacing: -.035em; line-height: 1.08; font-size: clamp(1.7rem, 5vw, 2.7rem); max-width: 850px; }
.story-summary { color: #545c67; line-height: 1.65; font-size: 1.02rem; max-width: 820px; }
.story-meta { color: #8a919b; font-size: .78rem; font-weight: 600; }
.read-more-btn { border: 0; padding: 0; background: transparent; color: var(--ink); font-weight: 800; font-size: .9rem; }
.read-more-btn .arrow { margin-left: .35rem; transition: transform .2s ease; display: inline-block; }
.read-more-btn .label-close { display: none; }
.read-more-btn[aria-expanded="true"] .label-open { display: none; }
.read-more-btn[aria-expanded="true"] .label-close { display: inline; }
.read-more-btn[aria-expanded="true"] .arrow { transform: rotate(135deg); }
.story-body { max-width: 760px; color: #373e47; line-height: 1.75; font-size: 1.03rem; }
.story-body p:last-child { margin-bottom: 0; }

.subscribe-section { background: var(--soft); }
.subscribe-box { background: var(--dark-panel); color: #fff; border-radius: 24px; padding: 2rem; position: relative; overflow: hidden; }
.subscribe-box::after { content:"5"; position:absolute; right:-15px; bottom:-100px; color:rgba(255,255,255,.035); font-size:20rem; font-weight:900; line-height:1; pointer-events:none; }
.subscribe-title { font-size: clamp(2.3rem, 7vw, 4.1rem); font-weight: 850; letter-spacing: -.05em; line-height: .98; }
.subscribe-copy { color: #aeb5bf; line-height: 1.6; max-width: 480px; }
.newsletter-form { position: relative; z-index: 2; }
.newsletter-form .form-control { border: 1px solid #303640; background: #171b21; color: #fff; min-height: 58px; box-shadow: none; }
.newsletter-form .form-control::placeholder { color: #7e8793; }
.newsletter-form .form-control:focus { border-color: #77818f; background: #171b21; color: #fff; }
.btn-accent { background: var(--accent); color: #10130f; border-color: var(--accent); font-weight: 800; }
.btn-accent:hover { background: #a0ff6f; border-color: #a0ff6f; color: #10130f; }
.form-note { color: #777f8b; font-size: .75rem; }
.hp-field { position:absolute !important; left:-9999px !important; opacity:0 !important; width:1px !important; height:1px !important; }

.site-footer { background: #fff; }
.footer-brand { font-weight: 800; }
.footer-brand span { color: #9aa1aa; font-weight: 500; margin-left: .25rem; }
.footer-links a { color: #747b84; text-decoration: none; font-size: .85rem; }
.footer-links a:hover { color: var(--ink); }

.legal-page h1 { font-size: clamp(2.5rem, 8vw, 4.6rem); font-weight: 850; letter-spacing: -.05em; margin-bottom: 1.5rem; }
.legal-page h2 { font-size: 1.25rem; font-weight: 800; margin-top: 2.25rem; margin-bottom: .75rem; }
.legal-page p { color: #505862; line-height: 1.75; }
.legal-page .lead { font-size: 1.15rem; color: #343b44; }
.legal-updated { color: #8d949d !important; font-size: .88rem; }

@media (min-width: 768px) {
    .story-card { padding: 3.2rem 0; }
    .story-grid { grid-template-columns: 76px minmax(0,1fr); gap: 1.6rem; }
    .subscribe-box { padding: 3rem; border-radius: 30px; }
}

@media (max-width: 575.98px) {
    .hero-section .container { padding-top: 3.2rem !important; padding-bottom: 3.2rem !important; }
    .story-grid { grid-template-columns: 1fr; gap: .45rem; }
    .story-number { font-size: .72rem; }
    .newsletter-form .input-group { display: block; }
    .newsletter-form .form-control, .newsletter-form .btn { width: 100%; border-radius: .75rem !important; }
    .newsletter-form .btn { min-height: 52px; margin-top: .7rem; }
    .subscribe-box { border-radius: 20px; }
}
