:root{
  --ink:#141414;
  --body-text:#2b2b2b;
  --gray:#666;
  --gray-light:#8a8a8a;
  --border:#e4e4e4;
  --bg:#ffffff;
  --panel:#f7f7f5;
  --forest:#1c3d2e;
  --forest-dark:#0f271c;
  --blue:#1f4e79;
  --blue-light:#eaf1f7;
  --radius:6px;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{
  font-family:'Helvetica Neue',Arial,system-ui,-apple-system,sans-serif;
  color:var(--body-text);
  background:var(--bg);
  line-height:1.65;
  font-size:16px;
}
a{color:var(--blue);text-decoration:none;}
a:hover{text-decoration:underline;}
img{max-width:100%;display:block;}
.container{max-width:1140px;margin:0 auto;padding:0 24px;}
h1,h2,h3,h4{color:var(--ink);font-weight:700;line-height:1.25;}

/* Top utility bar */
.utility-bar{
  background:var(--forest);
  color:#fff;
  font-size:.78rem;
  text-align:center;
  padding:6px 12px;
  letter-spacing:.3px;
}

/* Header */
header{
  background:#fff;
  border-bottom:1px solid var(--border);
  position:sticky;top:0;z-index:100;
}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;max-width:1140px;margin:0 auto;}
.logo{font-size:1.3rem;font-weight:800;color:var(--ink);letter-spacing:.2px;}
.logo span{color:var(--forest);}
nav ul{display:flex;gap:26px;list-style:none;}
nav a{font-weight:600;font-size:.85rem;color:var(--ink);text-transform:uppercase;letter-spacing:.5px;}
nav a:hover{color:var(--forest);text-decoration:none;}
.menu-toggle{display:none;background:none;border:none;color:var(--ink);font-size:1.6rem;cursor:pointer;}

/* Hero / page header banner (image + overlay text, like Switchback category pages) */
.page-banner{
  position:relative;
  background:var(--panel);
  border-bottom:1px solid var(--border);
  padding:56px 24px 40px;
}
.page-banner .container{max-width:820px;}
.page-banner .kicker{
  display:inline-block;color:var(--forest);font-weight:700;font-size:.78rem;
  text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;
}
.page-banner h1{font-size:2.1rem;margin-bottom:14px;}
.page-banner p{color:var(--gray);font-size:1.05rem;max-width:700px;}
.banner-img{
  height:260px;background:#dcdcd6;display:flex;align-items:center;justify-content:center;
  color:var(--gray-light);font-size:.85rem;margin-bottom:24px;border-radius:var(--radius);
}

/* Homepage hero */
.home-hero{
  padding:64px 24px 48px;
  border-bottom:1px solid var(--border);
}
.home-hero .container{max-width:760px;text-align:center;}
.home-hero h1{font-size:2.5rem;margin-bottom:16px;}
.home-hero p{color:var(--gray);font-size:1.1rem;margin-bottom:28px;}
.btn{
  display:inline-block;
  background:var(--ink);
  color:#fff;
  padding:13px 30px;
  border-radius:4px;
  font-weight:700;
  font-size:.9rem;
  text-transform:uppercase;
  letter-spacing:.5px;
  transition:background .15s;
}
.btn:hover{background:var(--forest);text-decoration:none;color:#fff;}
.btn-blue{background:var(--blue);}
.btn-blue:hover{background:var(--forest);}

/* Sections */
section{padding:52px 24px;}
.section-title{font-size:1.5rem;font-weight:800;margin-bottom:6px;}
.section-sub{color:var(--gray);margin-bottom:32px;max-width:640px;}
.section-head-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:28px;flex-wrap:wrap;gap:12px;}
.section-head-row a{font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.4px;}

/* Article card grid (magazine style, thumbnail-left rows) */
.article-list{display:flex;flex-direction:column;gap:0;}
.article-row{
  display:flex;gap:24px;padding:22px 0;border-bottom:1px solid var(--border);
}
.article-row .thumb{
  flex:0 0 220px;height:140px;background:var(--panel);border-radius:var(--radius);
  display:flex;align-items:center;justify-content:center;color:var(--gray-light);font-size:.8rem;
}
.article-row .content{flex:1;}
.article-row .tag{
  display:inline-block;color:var(--blue);font-weight:700;font-size:.72rem;
  text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;
}
.article-row h3{font-size:1.15rem;margin-bottom:6px;}
.article-row h3 a{color:var(--ink);}
.article-row p{color:var(--gray);font-size:.92rem;}

/* Grid cards (for hub pages, 3-col) */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
.card{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:#fff;}
.card-img{height:170px;background:var(--panel);display:flex;align-items:center;justify-content:center;color:var(--gray-light);font-size:.8rem;overflow:hidden;}
.card-img img{width:100%;height:100%;object-fit:cover;}
.card-body{padding:18px;}
.card-tag{display:inline-block;color:var(--blue);font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;}
.card h3{font-size:1.05rem;margin-bottom:8px;}
.card h3 a{color:var(--ink);}
.card p{color:var(--gray);font-size:.9rem;margin-bottom:12px;}
.card-link{font-weight:700;font-size:.85rem;}

/* Hub page hero photo + jump nav */
.hub-hero-photo{
  height:340px;background:var(--panel);border-radius:var(--radius);
  display:flex;align-items:center;justify-content:center;color:var(--gray-light);
  font-size:.9rem;margin:24px 0;overflow:hidden;
}
.hub-hero-photo img{width:100%;height:100%;object-fit:cover;}
.jump-nav{
  text-align:center;padding:16px 24px;border-bottom:1px solid var(--border);
  background:var(--panel);font-size:.9rem;
}
.jump-nav a{font-weight:700;margin:0 4px;}
.jump-nav span{color:var(--gray-light);margin:0 4px;}

/* Placeholder note */
.placeholder-note{
  background:var(--blue-light);
  border:1px dashed var(--blue);
  color:var(--blue);
  padding:10px 16px;
  border-radius:4px;
  font-size:.83rem;
  margin-bottom:26px;
}

/* Quick picks jump list */
.quick-picks{
  background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);
  padding:22px 26px;margin:28px 0 40px;
}
.quick-picks h4{font-size:.95rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;color:var(--forest);}
.quick-picks ol{padding-left:20px;}
.quick-picks li{margin-bottom:8px;}

/* Numbered product write-up (comparison post) */
.pick{
  padding:36px 0;border-bottom:1px solid var(--border);
}
.pick-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px;margin-bottom:6px;}
.pick-header .pick-title{font-size:1.3rem;font-weight:800;}
.pick-header .pick-price{font-weight:700;color:var(--forest);}
.pick-badge{
  display:inline-block;background:var(--forest);color:#fff;font-size:.72rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.4px;padding:4px 10px;border-radius:3px;margin-bottom:10px;
}
.pick-specs{display:flex;flex-wrap:wrap;gap:22px;color:var(--gray);font-size:.85rem;margin:10px 0 16px;}
.pick-specs span strong{color:var(--ink);}
.pick-like-dislike{display:flex;flex-wrap:wrap;gap:22px;margin-bottom:16px;font-size:.9rem;}
.pick-like-dislike div{flex:1;min-width:220px;}
.pick-like-dislike .like{color:var(--forest);font-weight:700;}
.pick-like-dislike .dislike{color:var(--gray);font-weight:700;}
.pick-img{height:220px;background:var(--panel);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;color:var(--gray-light);font-size:.85rem;margin-bottom:18px;}
.pick-buttons{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap;}

/* Comparison table */
table{width:100%;border-collapse:collapse;margin:24px 0 48px;font-size:.9rem;}
th,td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--border);}
th{background:var(--ink);color:#fff;font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.3px;}
tr:nth-child(even) td{background:var(--panel);}

/* Buying advice / FAQ style sections */
.advice-nav{
  background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);
  padding:22px 26px;margin:40px 0;
}
.advice-nav h4{font-size:.95rem;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;color:var(--forest);}
.advice-nav ul{padding-left:20px;columns:2;}
.advice-nav li{margin-bottom:8px;}
.advice-block{padding:28px 0;border-bottom:1px solid var(--border);max-width:760px;}
.advice-block h3{font-size:1.15rem;margin-bottom:10px;}

/* Review page */
.review-hero{display:flex;gap:36px;align-items:flex-start;flex-wrap:wrap;margin-bottom:20px;}
.review-hero .pick-img{flex:1;min-width:280px;height:300px;margin-bottom:0;}
.review-summary{flex:1;min-width:280px;}
.rating{color:var(--forest);font-weight:800;font-size:1.2rem;margin-bottom:12px;}
.pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:32px;max-width:760px;}
.pros-cons div{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:20px;}
.pros-cons h4{margin-bottom:10px;font-size:.95rem;text-transform:uppercase;letter-spacing:.4px;}
.pros-cons ul{padding-left:20px;font-size:.92rem;}

/* Contributors / trust section */
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.trust-card{text-align:center;padding:10px;}
.trust-card .icon{
  width:52px;height:52px;border-radius:50%;background:var(--forest);color:#fff;
  display:flex;align-items:center;justify-content:center;font-weight:800;margin:0 auto 14px;
}
.trust-card h3{font-size:1.05rem;margin-bottom:8px;}
.trust-card p{color:var(--gray);font-size:.9rem;}

/* Form */
form{max-width:520px;margin:0 auto;}
label{display:block;font-weight:700;margin-bottom:6px;margin-top:16px;font-size:.85rem;text-transform:uppercase;letter-spacing:.3px;}
input,textarea{
  width:100%;padding:12px;border:1px solid var(--border);border-radius:4px;font-size:1rem;font-family:inherit;
}
textarea{min-height:140px;resize:vertical;}

/* Footer */
footer{background:var(--ink);color:#d8d8d8;padding:48px 24px 24px;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:32px;margin-bottom:32px;}
footer h4{margin-bottom:14px;font-size:.9rem;color:#fff;text-transform:uppercase;letter-spacing:.4px;}
footer ul{list-style:none;}
footer li{margin-bottom:8px;}
footer a{color:#b8b8b8;}
footer a:hover{color:#fff;}
.footer-bottom{border-top:1px solid #333;padding-top:20px;font-size:.8rem;color:#888;text-align:center;}
.disclosure{font-size:.78rem;color:#888;max-width:700px;margin:0 auto 16px;text-align:center;}

@media(max-width:860px){
  .grid{grid-template-columns:1fr 1fr;}
  .grid-4{grid-template-columns:1fr 1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .trust-grid{grid-template-columns:1fr;}
  .advice-nav ul{columns:1;}
}
@media(max-width:640px){
  nav ul{display:none;}
  .menu-toggle{display:block;}
  .grid{grid-template-columns:1fr;}
  .grid-4{grid-template-columns:1fr;}
  .pros-cons{grid-template-columns:1fr;}
  .home-hero h1{font-size:1.9rem;}
  .article-row{flex-direction:column;}
  .article-row .thumb{flex:none;width:100%;}
}
