/* HERO */
.hero{background:linear-gradient(135deg,#1a1a2e 0%,#16213e 50%,#0f3460 100%);color:#fff;padding:5rem 0 4rem}
.hero h1{color:#fff;font-size:2.8rem;max-width:18ch;margin-bottom:1rem}
.hero p{color:#cdd5e0;font-size:1.15rem;max-width:55ch;margin-bottom:0}
.hero-cta{display:inline-block;margin-top:1.8rem;padding:.85rem 1.8rem;background:var(--accent);color:#fff;font-weight:700;border-radius:var(--radius-md);transition:background .15s}
.hero-cta:hover{background:#d23250;text-decoration:none}

/* SECTION */
section.section{padding:3.5rem 0}
section.section h2{font-size:2rem;margin-bottom:.4rem}
section.section .section-lead{color:var(--muted);font-size:1.05rem;margin-bottom:2rem}

/* CARD GRID */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}
.card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;transition:transform .15s,box-shadow .15s}
.card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(26,26,46,.12)}
.card a{color:inherit;text-decoration:none}
.card-img{aspect-ratio:16/9;background:var(--surface);object-fit:cover;width:100%}
.card-body{padding:1rem 1.1rem 1.2rem}
.card-tag{display:inline-block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);margin-bottom:.5rem}
.card-title{font-size:1.15rem;font-weight:700;line-height:1.3;margin:0 0 .4rem}
.card-meta{font-size:.82rem;color:var(--muted);display:flex;gap:.5rem;align-items:center}
.card-excerpt{font-size:.92rem;color:var(--muted);margin:.5rem 0 0;line-height:1.5}

/* ARTICLE */
.article{max-width:740px;margin:3rem auto;padding:0 1.25rem}
.article-hero{margin:0 -1.25rem 2rem}
.article-hero img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-md)}
.article-meta{font-size:.9rem;color:var(--muted);display:flex;align-items:center;gap:.7rem;margin-bottom:1.5rem;flex-wrap:wrap}
.article-meta .author-pic{width:36px;height:36px;border-radius:50%;object-fit:cover}
.article-meta a{color:var(--text);font-weight:600}
.article h1{font-size:2.2rem;margin-bottom:.8rem}
.article h2{font-size:1.55rem;margin-top:2rem;margin-bottom:.7rem}
.article h3{font-size:1.2rem;margin-top:1.5rem}
.article p{font-size:1.05rem;line-height:1.75;color:#2b3540}
.article ul,.article ol{padding-left:1.4rem;margin:1rem 0}
.article li{margin-bottom:.4rem;line-height:1.6}
.article-img{margin:2rem 0;border-radius:var(--radius-md);overflow:hidden}
.article-img img{width:100%}
.article-img figcaption{font-size:.85rem;color:var(--muted);text-align:center;margin-top:.5rem;font-style:italic}
.score-table{margin:2rem 0;border-collapse:collapse;width:100%;background:var(--surface);border-radius:var(--radius-md);overflow:hidden}
.score-table th,.score-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border)}
.score-table th{background:var(--primary);color:#fff;font-weight:600}
.score-overall{font-size:2rem;font-weight:800;color:var(--accent);text-align:center;padding:1.2rem;background:var(--surface);border-radius:var(--radius-md);margin:2rem 0}

/* RELATED */
.related{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--border)}
.related h3{font-size:1.1rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:1.2rem}

/* CATEGORIES */
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:2rem 0}
.cat-card{padding:1.5rem;background:var(--surface);border-radius:var(--radius-md);text-align:center;font-weight:700;color:var(--text);transition:background .15s}
.cat-card:hover{background:var(--primary);color:#fff;text-decoration:none}
@media (max-width: 768px){.cat-grid{grid-template-columns:1fr 1fr}.hero h1{font-size:2rem}.hero{padding:3rem 0}.article-meta{font-size:.8rem}}

/* ABOUT teaser */
.about-teaser{background:var(--surface);padding:3rem 0;text-align:center}
.about-teaser h2{font-size:1.7rem}
.about-teaser p{max-width:55ch;margin:0 auto 1rem;color:var(--muted)}

/* Subscribe */
.subscribe-block{background:var(--primary);color:#fff;padding:3rem 0;text-align:center}
.subscribe-block h2{color:#fff;font-size:1.8rem;margin-bottom:.5rem}
.subscribe-block p{color:#cdd5e0;margin-bottom:1.5rem}
.subscribe-form{display:inline-flex;gap:.5rem;max-width:480px;width:100%}
.subscribe-form input{flex:1;padding:.85rem 1rem;border:0;border-radius:var(--radius-md);font-size:1rem;font-family:inherit}
.subscribe-form button{padding:.85rem 1.5rem;background:var(--accent);color:#fff;border:0;border-radius:var(--radius-md);font-weight:700;cursor:pointer;font-family:inherit}
@media (max-width: 480px){.subscribe-form{flex-direction:column}}

/* Author bio */
.author-bio{display:flex;gap:1.2rem;align-items:center;margin:2rem 0;padding:1.2rem;background:var(--surface);border-radius:var(--radius-md)}
.author-bio img{width:64px;height:64px;border-radius:50%;object-fit:cover;flex-shrink:0}
.author-bio h4{font-size:1rem;margin:0 0 .25rem}
.author-bio p{font-size:.9rem;color:var(--muted);margin:0}

/* Legal pages */
.legal-page{max-width:760px;margin:3rem auto;padding:0 1.25rem}
.legal-page h1{font-size:2rem}
.legal-page h2{font-size:1.35rem;margin-top:1.8rem}
.legal-page p,.legal-page li{font-size:.98rem;line-height:1.7}

/* Contact form */
.contact-form{max-width:560px;margin:2rem auto}
.contact-form label{display:block;font-weight:600;margin:.8rem 0 .3rem}
.contact-form input,.contact-form textarea{width:100%;padding:.7rem .9rem;border:1px solid var(--border);border-radius:var(--radius-md);font-family:inherit;font-size:1rem}
.contact-form textarea{min-height:140px;resize:vertical}
.contact-form button{margin-top:1rem;padding:.8rem 2rem;background:var(--accent);color:#fff;border:0;border-radius:var(--radius-md);font-weight:700;cursor:pointer;font-size:1rem}
