@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Inter:wght@300;400;500;600;700&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',sans-serif;background:#f7f5f0;color:#1a2332;font-size:16px;line-height:1.75}
a{color:#3d7a5e;text-decoration:none}
a:hover{text-decoration:underline;color:#2c5e47}
img{max-width:100%;height:auto;display:block}

/* HEADER */
.site-header{background:#1a2332;position:sticky;top:0;z-index:100}
.hdr-inner{max-width:1200px;margin:0 auto;padding:0 24px;height:60px;display:flex;align-items:center;justify-content:space-between}
.site-logo{font-family:'Libre Baskerville',serif;font-size:1.45rem;font-weight:700;color:#f7f5f0;letter-spacing:.02em}
.site-logo em{color:#5bbf96;font-style:normal}
.primary-nav{list-style:none;display:flex;gap:6px}
.primary-nav a{font-size:.8rem;font-weight:500;color:rgba(247,245,240,.7);padding:6px 14px;border-radius:20px;letter-spacing:.04em;text-transform:uppercase;transition:background .2s,color .2s}
.primary-nav a:hover{background:rgba(255,255,255,.1);color:#f7f5f0;text-decoration:none}
.nav-toggle{display:none;background:none;border:none;color:#f7f5f0;font-size:1.4rem;cursor:pointer}

/* HERO */
.hero{padding:56px 24px 64px;background:linear-gradient(160deg,#1a2332 0%,#234a3a 100%);color:#f7f5f0}
.hero-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.hero-eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#5bbf96;margin-bottom:14px}
.hero h1{font-family:'Libre Baskerville',serif;font-size:2.4rem;line-height:1.2;margin-bottom:18px;color:#f7f5f0}
.hero-desc{font-size:1rem;color:rgba(247,245,240,.75);line-height:1.7;margin-bottom:26px}
.hero-byline{font-size:.78rem;color:rgba(247,245,240,.5);margin-bottom:26px}
.btn-hero{display:inline-block;background:#3d7a5e;color:#fff;font-size:.82rem;font-weight:600;padding:12px 28px;border-radius:4px;letter-spacing:.04em;text-transform:uppercase;transition:background .2s}
.btn-hero:hover{background:#2c5e47;color:#fff;text-decoration:none}
.hero-img-wrap{border-radius:6px;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.3)}
.hero-img-wrap img{width:100%;height:100%;object-fit:cover}

/* LATEST ARTICLES */
.section{max-width:1200px;margin:0 auto;padding:60px 24px}
.section-hdr{display:flex;align-items:center;gap:16px;margin-bottom:36px}
.section-hdr h2{font-family:'Libre Baskerville',serif;font-size:1.35rem;color:#1a2332;white-space:nowrap}
.section-hdr::after{content:'';flex:1;height:1px;background:#d9d4cb}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.card{background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 2px 12px rgba(26,35,50,.06);transition:transform .25s,box-shadow .25s}
.card:hover{transform:translateY(-4px);box-shadow:0 8px 28px rgba(26,35,50,.12)}
.card-thumb{aspect-ratio:16/9;overflow:hidden}
.card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.card:hover .card-thumb img{transform:scale(1.05)}
.card-body{padding:22px}
.card-tag{font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#3d7a5e;margin-bottom:10px}
.card-title{font-family:'Libre Baskerville',serif;font-size:1.05rem;line-height:1.35;margin-bottom:10px;color:#1a2332}
.card-title a{color:inherit}
.card-title a:hover{color:#3d7a5e;text-decoration:none}
.card-excerpt{font-size:.85rem;color:#56606e;line-height:1.6;margin-bottom:14px}
.card-meta{font-size:.74rem;color:#9aa0a8}

/* ARTICLE */
.art-outer{max-width:820px;margin:0 auto;padding:52px 24px 80px}
.art-tag{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#3d7a5e;margin-bottom:14px}
.art-h1{font-family:'Libre Baskerville',serif;font-size:2.1rem;line-height:1.22;color:#1a2332;margin-bottom:18px}
.art-byline{font-size:.8rem;color:#9aa0a8;padding-bottom:20px;border-bottom:1px solid #e0dbd3;margin-bottom:26px}
.art-byline strong{color:#1a2332}

/* Rating */
.rating-row{display:flex;align-items:center;gap:14px;margin:18px 0 26px;padding:18px 22px;background:#fff;border-radius:6px;box-shadow:0 2px 8px rgba(26,35,50,.06)}
.score-big{font-family:'Libre Baskerville',serif;font-size:2.8rem;font-weight:700;color:#3d7a5e;line-height:1}
.score-meta{display:flex;flex-direction:column;gap:4px}
.score-stars{font-size:1.2rem;color:#c8972a;letter-spacing:2px}
.score-label{font-size:.8rem;color:#56606e}
.score-divider{width:1px;height:48px;background:#e0dbd3;margin:0 6px}
.score-bars{flex:1}
.bar-row{display:flex;align-items:center;gap:10px;margin-bottom:7px;font-size:.78rem}
.bar-label{width:130px;color:#56606e}
.bar-track{flex:1;height:7px;background:#e8e3da;border-radius:4px;overflow:hidden}
.bar-fill{height:100%;background:#3d7a5e;border-radius:4px}
.bar-val{width:26px;text-align:right;font-weight:600;color:#1a2332}

/* Disclosure */
.disc{background:#eef6f1;border-left:3px solid #3d7a5e;padding:13px 18px;border-radius:0 4px 4px 0;font-size:.81rem;color:#3a5247;line-height:1.55;margin-bottom:28px}
.disc strong{color:#1a2332}
.fda{background:#f5f3ef;border:1px solid #e0dbd3;padding:13px 18px;border-radius:4px;font-size:.78rem;color:#7a7268;line-height:1.55;font-style:italic;margin:28px 0}

/* Article body */
.art-body{font-size:1rem;line-height:1.85;color:#1a2332}
.art-body h2{font-family:'Libre Baskerville',serif;font-size:1.5rem;margin:40px 0 14px;color:#1a2332}
.art-body h3{font-family:'Libre Baskerville',serif;font-size:1.15rem;font-style:italic;margin:28px 0 10px;color:#1a2332}
.art-body p{margin-bottom:20px;color:#2c3542}
.art-body ul,art-body ol{margin:0 0 20px 24px}
.art-body li{margin-bottom:8px;color:#2c3542}
.art-body strong{color:#1a2332}

/* Hero img */
.art-img{border-radius:6px;overflow:hidden;margin-bottom:32px}
.art-img img{width:100%}

/* Inline figure */
.fig{margin:32px 0;border-radius:6px;overflow:hidden}
.fig img{width:100%}
.fig figcaption{font-size:.74rem;color:#9aa0a8;margin-top:6px;font-style:italic;text-align:center}

/* Pullquote */
.pullquote{margin:36px 0;padding:22px 28px;background:#fff;border-left:4px solid #3d7a5e;border-radius:0 6px 6px 0;box-shadow:0 2px 8px rgba(26,35,50,.06)}
.pullquote p{font-family:'Libre Baskerville',serif;font-size:1.15rem;font-style:italic;color:#1a2332;margin:0 0 8px}
.pullquote cite{font-size:.76rem;color:#9aa0a8}

/* Pros/cons */
.pc-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:32px 0}
.pc-box{padding:22px;border-radius:6px;background:#fff;box-shadow:0 2px 8px rgba(26,35,50,.06)}
.pc-box.pros{border-top:3px solid #3d7a5e}
.pc-box.cons{border-top:3px solid #c0392b}
.pc-box h4{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px}
.pc-box.pros h4{color:#3d7a5e}
.pc-box.cons h4{color:#c0392b}
.pc-list{list-style:none;padding:0}
.pc-list li{font-size:.87rem;padding:6px 0 6px 22px;position:relative;border-bottom:1px solid #f0ece6;line-height:1.5;color:#2c3542}
.pc-list li:last-child{border-bottom:none}
.pc-box.pros .pc-list li::before{content:'✓';position:absolute;left:0;color:#3d7a5e;font-weight:700}
.pc-box.cons .pc-list li::before{content:'✗';position:absolute;left:0;color:#c0392b;font-weight:700}

/* Review cards */
.review-stack{display:flex;flex-direction:column;gap:16px;margin:32px 0}
.review-card{background:#fff;border-radius:6px;padding:20px 24px;box-shadow:0 2px 8px rgba(26,35,50,.06)}
.review-card .stars{color:#c8972a;font-size:.95rem;margin-bottom:6px}
.review-card p{font-size:.9rem;color:#2c3542;line-height:1.65;margin-bottom:8px}
.review-card .reviewer{font-size:.76rem;color:#9aa0a8}

/* CTA */
.cta-block{background:#1a2332;border-radius:8px;padding:40px;text-align:center;margin:44px 0}
.cta-block h3{font-family:'Libre Baskerville',serif;font-size:1.55rem;color:#f7f5f0;margin-bottom:10px}
.cta-block p{font-size:.92rem;color:rgba(247,245,240,.7);margin-bottom:24px}
.btn-cta{display:inline-block;background:#3d7a5e;color:#fff;font-size:.9rem;font-weight:600;padding:14px 36px;border-radius:4px;letter-spacing:.04em;text-transform:uppercase;transition:background .2s}
.btn-cta:hover{background:#2c5e47;color:#fff;text-decoration:none}
.cta-note{font-size:.74rem;color:rgba(247,245,240,.4);margin-top:12px}

/* Static */
.static-outer{max-width:760px;margin:0 auto;padding:56px 24px 80px}
.static-outer h1{font-family:'Libre Baskerville',serif;font-size:2rem;margin-bottom:8px}
.static-date{font-size:.8rem;color:#9aa0a8;display:block;margin-bottom:32px;padding-bottom:20px;border-bottom:1px solid #e0dbd3}
.static-outer h2{font-family:'Libre Baskerville',serif;font-size:1.2rem;margin:30px 0 10px}
.static-outer p{font-size:.96rem;line-height:1.8;color:#2c3542;margin-bottom:16px}

/* FOOTER */
.site-footer{background:#1a2332;color:rgba(247,245,240,.65);padding:52px 24px 0;margin-top:20px}
.footer-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr;gap:64px;padding-bottom:48px;border-bottom:1px solid rgba(247,245,240,.08)}
.footer-brand .site-logo{color:#f7f5f0;margin-bottom:14px;display:block}
.footer-brand p{font-size:.82rem;color:rgba(247,245,240,.55);line-height:1.7}
.footer-links h4{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(247,245,240,.35);margin-bottom:16px}
.footer-links ul{list-style:none}
.footer-links li{margin-bottom:9px}
.footer-links a{font-size:.83rem;color:rgba(247,245,240,.55)}
.footer-links a:hover{color:#f7f5f0}
.footer-base{max-width:1200px;margin:0 auto;padding:18px 0;display:flex;justify-content:space-between;font-size:.74rem;color:rgba(247,245,240,.3)}

@media(max-width:900px){
  .hero-inner{grid-template-columns:1fr}
  .hero-img-wrap{display:none}
  .grid-3{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .grid-3{grid-template-columns:1fr}
  .pc-grid{grid-template-columns:1fr}
  .art-h1{font-size:1.6rem}
  .rating-row{flex-wrap:wrap}
  .primary-nav{display:none}
  .primary-nav.open{display:flex;flex-direction:column;position:absolute;top:60px;left:0;right:0;background:#1a2332;padding:20px 24px;gap:8px;border-top:1px solid rgba(255,255,255,.1)}
  .nav-toggle{display:block}
}
