*{box-sizing:border-box}
:root{--g:#1f3d2b;--g2:#2e5a3e;--cream:#f6f0e1;--card:#fbf7ec;--ink:#242420;--muted:#5c5b52;--acc:#9e531b;--gold:#c99e3b;--gold-bright:#d4af37;--gold-lt:#f5ebd0;--line:#e5decb}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Source Sans 3",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:1.08rem;line-height:1.72;color:var(--ink);background:var(--cream)}
:focus-visible{outline:3px solid var(--g2);outline-offset:2px}
.skip{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden;z-index:99}
.skip:focus{position:fixed;left:1rem;top:1rem;width:auto;height:auto;padding:.6rem 1.1rem;background:var(--g);color:#fff;font-weight:700;border-radius:6px;text-decoration:none;box-shadow:0 4px 12px #0004}
img{max-width:100%;height:auto;display:block}
a{color:var(--g2);text-underline-offset:2px}a:hover{color:var(--g)}
h1,h2,h3{font-family:Georgia,"Iowan Old Style",serif;line-height:1.25;color:var(--g)}
h1{font-size:clamp(1.8rem,4vw,2.55rem);margin:.4rem 0 1rem}h2{margin-top:2.3rem;font-size:1.48rem;scroll-margin-top:4.5rem}
.w{max-width:1080px;margin:0 auto;padding:1rem 1.25rem}
header{background:var(--g);color:#fff;position:sticky;top:0;z-index:5;box-shadow:0 1px 6px #00000018}
header .w{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem 1.25rem}
header a{color:#f5efe0;text-decoration:none}.logo{font-family:Georgia,serif;font-weight:700;font-size:1.45rem}.logo span{color:#e6b06e}
nav a{margin-left:1.1rem;font-size:.98rem}nav a:hover{color:#e6b06e;text-decoration:underline}
main .w{padding-top:1.5rem}
.article{max-width:760px;margin:0 auto}
.hero{position:relative;border-radius:12px;overflow:hidden;margin-bottom:2.2rem;color:#fff;min-height:330px;display:flex;align-items:flex-end}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .in{position:relative;padding:2rem;background:linear-gradient(transparent,#0d1f14e0 44%);width:100%}
.hero h1{color:#fff;margin:0 0 .4rem}.hero p{margin:0;max-width:640px;font-size:1.12rem;line-height:1.6}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.25rem;margin:1rem 0 2rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}
.card:hover{transform:translateY(-2px);box-shadow:0 6px 16px #1f3d2b16}
.card img{aspect-ratio:3/2;object-fit:cover;width:100%}
.card .b{padding:1rem 1.15rem 1.25rem;display:flex;flex-direction:column;flex:1}.card a.t{color:var(--g);font-weight:700;font-size:1.1rem;text-decoration:none;font-family:Georgia,serif;line-height:1.3}.card a.t:hover{color:var(--g2);text-decoration:underline}
.card p{margin:.45rem 0 0;color:var(--muted);font-size:.96rem;line-height:1.55}.tag{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--g2);font-weight:700;margin-bottom:.25rem}
figure{margin:0 0 1.4rem}figure img{border-radius:10px;width:100%}figcaption{font-size:.82rem;color:var(--muted);margin-top:.4rem}
.pick{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--line);border-radius:8px;padding:.95rem 1.2rem;margin:1rem 0}
.pick h3{margin:.05rem 0 .35rem;font-size:1.14rem}.pick p{margin:.25rem 0}

/* Where to buy product cards (.buy-card) */
.pick.buy-card{display:flex;align-items:stretch;padding:0;border:1px solid #dcd3bd;border-radius:12px;overflow:hidden;margin:1.35rem 0;background:linear-gradient(180deg,#fffefb 0%,#fcf9f2 100%);box-shadow:0 4px 16px rgba(20,41,28,.08);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.pick.buy-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(20,41,28,.13);border-color:#c7b893}
.prod-banner-col{width:168px;flex-shrink:0;background:radial-gradient(circle at 50% 50%,rgba(212,175,55,.22) 0%,transparent 70%),linear-gradient(155deg,#112418 0%,#1d3b28 50%,#13281b 100%);border-right:2px solid var(--gold);display:flex;align-items:center;justify-content:center;padding:1.15rem .75rem;position:relative;box-shadow:inset -1px 0 0 rgba(255,255,255,.12)}
.prod-banner-col a{display:block;border-radius:50%;line-height:0;position:relative}
.prod-circle{width:128px;height:128px;border-radius:50%;object-fit:cover;border:3px solid var(--gold);box-shadow:0 0 0 2px rgba(255,255,255,.92) inset,0 6px 18px rgba(0,0,0,.55),0 0 0 1px rgba(212,175,55,.35);background:#fbfaf7;transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease}
.prod-banner-col a:hover .prod-circle{transform:translateY(-2px) scale(1.06);box-shadow:0 0 0 2px #fff inset,0 10px 24px rgba(0,0,0,.68),0 0 14px rgba(212,175,55,.45)}
.buy-body,.buy-card-body{padding:1.15rem 1.35rem;flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}
.buy-meta-top{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin-bottom:.38rem}
.ed-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.71rem;font-weight:700;letter-spacing:.055em;text-transform:uppercase;padding:.18rem .55rem;border-radius:4px;background:linear-gradient(135deg,#173221 0%,#234730 100%);color:#f3d478;border:1px solid rgba(212,175,55,.55);line-height:1.25}
.store-pill{display:inline-flex;align-items:center;font-size:.73rem;font-weight:600;color:#47584c;background:#eef2ee;border:1px solid #d4dfd7;padding:.15rem .52rem;border-radius:4px;line-height:1.25}
.price-pill{display:inline-flex;align-items:center;margin-left:auto;font-size:.82rem;font-weight:700;color:#173221;background:#f5ebd0;border:1px solid #dfc57b;padding:.16rem .58rem;border-radius:999px;line-height:1.25}
.buy-card-body h3{margin:.1rem 0 .38rem;font-size:1.22rem;line-height:1.3}
.buy-card-body h3 a{color:#152c1e;text-decoration:none;transition:color .15s}
.buy-card-body h3 a:hover{color:var(--g2);text-decoration:underline}
.buy-card-body .why-desc{margin:.1rem 0 .55rem;color:#33322c;font-size:.98rem;line-height:1.58}
.feat-chips{display:flex;flex-wrap:wrap;gap:.38rem;margin:.1rem 0 .65rem}
.feat-chip{display:inline-flex;align-items:center;gap:.25rem;font-size:.79rem;font-weight:600;color:#23422e;background:#f3f0e6;border:1px solid #dfd8c5;padding:.16rem .55rem;border-radius:5px;line-height:1.3}
.feat-chip .chk{color:#2e6f40;font-weight:800}
.buy-cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.2rem;padding-top:.55rem;border-top:1px solid #eee8d8}
.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.52rem 1.1rem;border-radius:7px;background:linear-gradient(180deg,#1f422c 0%,#152d1e 100%);color:#fff;font-weight:700;text-decoration:none;font-size:.93rem;border:1px solid rgba(212,175,55,.55);box-shadow:0 2px 6px rgba(21,45,30,.22);transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.btn .btn-arr{color:#f0c954;font-weight:700;transition:transform .15s ease}
.btn:hover{background:linear-gradient(180deg,#265035 0%,#1a3825 100%);color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px rgba(21,45,30,.32),0 0 0 1px rgba(212,175,55,.75)}
.btn:hover .btn-arr{transform:translateX(3px)}
.cta-reassure{font-size:.8rem;color:var(--muted);line-height:1.35}

/* At a glance (#quick-picks) showcase */
.quick-summary{background:#f7f3e8;border:1px solid #dcd3bd;border-radius:12px;overflow:hidden;margin:1.35rem 0;box-shadow:0 3px 12px rgba(20,41,28,.07)}
.quick-summary-head{padding:.8rem 1.2rem;border-bottom:1px solid #dcd3bd;background:linear-gradient(90deg,#ece4d0 0%,#f3ede0 100%);display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.quick-summary-head h2{margin:0;font-size:1.08rem;font-family:Georgia,serif;color:var(--g)}
.quick-summary-head .qs-sub{font-size:.78rem;font-weight:600;color:var(--muted);letter-spacing:.02em}
.qs-list{display:flex;flex-direction:column}
.qs-row{display:flex;align-items:stretch;border-bottom:1px solid #e4decb;background:#fffdf9;transition:background .15s ease}
.qs-row:hover{background:#faf6eb}
.qs-row:last-child{border-bottom:none}
.prod-banner-col.sm{width:108px;padding:.6rem .45rem;background:radial-gradient(circle at 50% 50%,rgba(212,175,55,.2) 0%,transparent 72%),linear-gradient(145deg,#13281b 0%,#1f3f2b 55%,#162e20 100%);border-right:2px solid var(--gold);box-shadow:inset 0 0 0 1px rgba(212,175,55,.16)}
.prod-banner-col.sm .prod-circle,.prod-circle-sm{width:78px;height:78px;border-width:2.5px}
.prod-banner-col.sm a:hover .prod-circle{transform:scale(1.06)}
.qs-text{padding:.7rem 1.05rem;flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:.85rem}
.qs-mid{flex:1;min-width:0}
.qs-top-line{display:flex;flex-wrap:wrap;align-items:center;gap:.42rem;margin-bottom:.18rem}
.qs-badge{font-size:.67rem;font-weight:700;text-transform:uppercase;letter-spacing:.055em;color:#173221;background:#efe4c2;border:1px solid #d8c07a;padding:.1rem .44rem;border-radius:4px;line-height:1.2}
.qs-price{font-size:.76rem;font-weight:700;color:#23422e;background:#edf2ee;border:1px solid #cfe0d3;padding:.08rem .45rem;border-radius:999px;line-height:1.2}
.qs-title-line{font-size:1.04rem;line-height:1.32;margin-bottom:.16rem}
.qs-text a.qs-link{font-family:Georgia,serif;font-weight:700;color:#152c1e;text-decoration:none}
.qs-text a.qs-link:hover{color:var(--g2);text-decoration:underline}
.qs-hook{font-size:.89rem;color:#4a4940;line-height:1.42;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.qs-cta{flex-shrink:0;display:inline-flex;align-items:center;gap:.28rem;padding:.38rem .78rem;border-radius:999px;background:#1a3725;color:#fff;font-size:.81rem;font-weight:600;text-decoration:none;border:1px solid rgba(212,175,55,.5);white-space:nowrap;transition:background .15s ease,transform .15s ease}
.qs-cta span{color:#f0c954;font-weight:700}
.qs-cta:hover{background:#254d34;color:#fff;transform:translateX(2px)}

.note{font-size:.91rem;background:#f2ece0;color:var(--muted);padding:.6rem 1rem;border-radius:6px;border:1px solid var(--line)}
.crumb{font-size:.9rem;color:var(--muted);margin-bottom:.5rem}
.jump{padding:.65rem 0;margin:.9rem 0 1.2rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:.93rem;color:var(--muted);line-height:1.6}
.jump strong{color:var(--g);margin-right:.35rem}
.jump a{color:var(--g2);text-decoration:none}
.jump a:hover{text-decoration:underline;color:var(--g)}
.jump .sep{margin:0 .4rem;color:#b8b09c}
footer{margin-top:3.5rem;background:var(--g);color:#e5dfd0;font-size:.92rem}footer a{color:#fff}
@media(max-width:640px){
  nav a{margin:0 .9rem 0 0}
  .hero{min-height:260px}.hero .in{padding:1.25rem}
  body{font-size:1.02rem}
  .prod-banner-col{width:114px;padding:.75rem .45rem}
  .prod-circle{width:88px;height:88px}
  .prod-banner-col.sm{width:88px;padding:.5rem .35rem}
  .prod-banner-col.sm .prod-circle,.prod-circle-sm{width:64px;height:64px}
  .buy-body,.buy-card-body{padding:.85rem .95rem}
  .buy-card-body h3{font-size:1.08rem}
  .price-pill{margin-left:0}
  .qs-text{flex-direction:column;align-items:flex-start;gap:.45rem;padding:.65rem .85rem}
  .qs-cta{align-self:flex-start}
}
/* Heritage Outfitter alternating layout */
.prod-banner-col{box-shadow:inset 0 0 0 4px #13281b,inset 0 0 0 5px rgba(212,175,55,.55),inset -1px 0 0 rgba(255,255,255,.12)}
.pick.buy-card{position:relative;background:var(--card);border:1px solid #cdbf98;box-shadow:0 0 0 3px var(--card),0 0 0 4px #c9b27a,0 6px 18px rgba(20,41,28,.10)}
.catalog-stamp{display:inline-block;font-family:Georgia,serif;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:#7a5a1c;border:1px double #c99e3b;border-width:3px;padding:.12rem .55rem;margin-bottom:.4rem;background:#f6f0e1;transform:rotate(-1deg)}
.pick.buy-card.size-xl .prod-banner-col{width:280px;padding:1.6rem 1rem}
.pick.buy-card.size-xl .prod-circle{width:228px;height:228px;border-width:4px}
.pick.buy-card.size-xl h3{font-size:1.46rem}
.pick.buy-card.size-md{margin-left:2.2rem;background:#f5eedc}
.pick.buy-card.size-md .prod-banner-col{width:208px;padding:1.2rem .8rem}
.pick.buy-card.size-md .prod-circle{width:164px;height:164px}
.pick.buy-card.size-md h3{font-size:1.25rem}
.qs-row.qs-lg .prod-banner-col.sm{width:176px;padding:.9rem .6rem}
.qs-row.qs-lg .prod-circle{width:138px;height:138px}
.qs-row.qs-md .prod-banner-col.sm{width:138px}
.qs-row.qs-md .prod-circle{width:102px;height:102px}
.qs-row.qs-md{background:#f5eedc}
.promo-ticket{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin:.2rem 0 .6rem;padding:.5rem .75rem;border:2px dashed #c99e3b;border-radius:6px;background:#fdf8ea;font-size:.86rem}
.promo-ticket .pt-kind{font-weight:800;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:#7a5a1c}
.promo-ticket code{font-weight:800;font-size:.95rem;background:#fff;border:1px solid #d8c07a;padding:.08rem .45rem;border-radius:4px;color:#152c1e}
.promo-ticket .pt-copy{cursor:pointer;font:inherit;font-size:.78rem;font-weight:700;padding:.2rem .6rem;border-radius:4px;border:1px solid #1f3d2b;background:#1f3d2b;color:#fff}
.promo-ticket .pt-detail{flex-basis:100%;color:#5c5b52;font-size:.78rem}
.cmp-wrap{overflow-x:auto;margin:1.4rem 0;border:1px solid #cdbf98;border-radius:10px;background:var(--card)}
.cmp{width:100%;border-collapse:collapse;font-size:.92rem}
.cmp caption{text-align:left;padding:.7rem 1rem;font-family:Georgia,serif;font-weight:700;color:var(--g);background:#ece4d0}
.cmp th,.cmp td{padding:.55rem .75rem;border-top:1px solid #e4decb;text-align:left;vertical-align:middle}
.cmp th{background:#1f3d2b;color:#f3d478;font-size:.78rem;letter-spacing:.06em;text-transform:uppercase}
.cmp img{width:56px;height:56px;border-radius:50%;border:2px solid var(--gold)}
.cmp a.qs-cta{font-size:.78rem}
.buy-card.spotlight{outline:3px solid var(--gold-bright);outline-offset:3px}
.pp-hero{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap;background:var(--card);border:1px solid #cdbf98;border-radius:12px;overflow:hidden}
.pp-hero .prod-banner-col{width:320px;padding:1.6rem}
.pp-hero .prod-circle{width:260px;height:260px;border-width:4px}
.pp-body{flex:1;min-width:260px;padding:1.2rem 1.4rem}
.gf-filters{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0}
.gf-filters button{font:inherit;font-size:.85rem;padding:.3rem .8rem;border-radius:999px;border:1px solid #c99e3b;background:#fbf7ec;cursor:pointer}
.gf-filters button.on{background:#1f3d2b;color:#fff}
.gf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}
.gf-card{background:var(--card);border:1px solid #cdbf98;border-radius:10px;padding:1rem;text-align:center}
.gf-card img{width:150px;height:150px;border-radius:50%;margin:0 auto .5rem;border:3px solid var(--gold)}
@media(max-width:640px){.pick.buy-card.size-md{margin-left:0}.pick.buy-card.size-xl .prod-banner-col,.pick.buy-card.size-md .prod-banner-col{width:130px;padding:.8rem .4rem}.pick.buy-card.size-xl .prod-circle{width:112px;height:112px}.pick.buy-card.size-md .prod-circle{width:96px;height:96px}.qs-row.qs-lg .prod-banner-col.sm{width:104px}.qs-row.qs-lg .prod-circle{width:88px;height:88px}.qs-row.qs-md .prod-banner-col.sm{width:88px}.qs-row.qs-md .prod-circle{width:68px;height:68px}}

/* Wirecutter / OutdoorGearLab E-E-A-T Trust Box & Pros/Cons Verdict Grid */
.byline-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem 1.1rem;font-size:.88rem;color:var(--muted);margin:.2rem 0 1rem;padding:.55rem .85rem;background:#f3ede0;border-left:3px solid var(--gold);border-radius:6px}
.byline-bar strong{color:var(--g)}
.byline-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.73rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#173221;background:#e6dec5;padding:.12rem .48rem;border-radius:4px}
.trust-box{margin:1.25rem 0;padding:1rem 1.25rem;background:linear-gradient(180deg,#faf6eb 0%,#f3ede0 100%);border:1px solid #d5c9a8;border-left:4px solid var(--g);border-radius:10px;font-size:.93rem;line-height:1.58}
.trust-box h2,.trust-box h3{margin:0 0 .4rem;font-size:1.05rem;font-family:Georgia,serif;color:var(--g)}
.trust-box p{margin:.25rem 0;color:#3b3a33}
.trust-criteria{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.55rem}
.trust-pill{font-size:.76rem;font-weight:700;color:var(--g);background:#fffdf8;border:1px solid #d5c9a8;padding:.15rem .55rem;border-radius:999px}
.verdict-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin:.35rem 0 .65rem;padding:.65rem .8rem;background:#f8f4e8;border:1px solid #e4decb;border-radius:8px;font-size:.84rem;line-height:1.45}
.verdict-col strong{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.25rem}
.verdict-pros strong{color:#1e5631}
.verdict-cons strong{color:#7a491c}
.verdict-col ul{margin:0;padding-left:1.05rem}
.verdict-col li{margin:.15rem 0;color:#33322c}
.cmp-code{display:inline-block;margin-top:.2rem;font-size:.72rem;font-weight:700;color:#7a5a1c;background:#fdf8ea;border:1px dashed #c99e3b;padding:.06rem .38rem;border-radius:4px}
@media(max-width:640px){.verdict-grid{grid-template-columns:1fr}}
