
:root{
  --paper:#F3F1EA;
  --ink:#141414;
  --ink-soft:#5f5c54;
  --line:#d9d5c8;
  --accent:#B23A2E;
  --accent-dark:#8f2e24;
  --card:#ffffff;
  --footer:#141310;
  --good:#2c6b3f;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,"Helvetica Neue",sans-serif;-webkit-font-smoothing:antialiased;}
a{text-decoration:none;color:inherit;}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px;}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--accent);}
.eyebrow.muted{color:var(--ink-soft);}

.concept-flag{background:#000;color:#bbb;text-align:center;font-size:11px;letter-spacing:.05em;padding:6px 12px;font-family:monospace;}

.promo{background:var(--ink);color:#f2f0e8;font-size:12.5px;}
.promo .wrap{display:flex;justify-content:space-between;align-items:center;padding:9px 28px;flex-wrap:wrap;gap:6px;}
.promo a{border-bottom:1px solid rgba(242,240,232,.4);margin-left:20px;white-space:nowrap;}
.promo a:hover{border-color:#f2f0e8;}

header.site{background:var(--paper);border-bottom:2px solid var(--ink);}
.site-header-inner{display:flex;align-items:center;justify-content:space-between;padding:20px 0 16px;flex-wrap:wrap;gap:12px;}
.word{font-size:24px;font-weight:800;letter-spacing:-.01em;text-transform:uppercase;}
.word small{display:block;font-size:9.5px;font-weight:600;letter-spacing:.18em;color:var(--ink-soft);text-transform:uppercase;margin-top:2px;}
nav.main{display:flex;gap:26px;font-size:12.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;flex-wrap:wrap;}
nav.main a{padding-bottom:3px;border-bottom:2px solid transparent;color:var(--ink);}
nav.main a:hover, nav.main a.active{border-bottom-color:var(--accent);}
.header-actions{display:flex;align-items:center;gap:18px;}
.btn{display:inline-block;font-weight:700;font-size:12px;padding:11px 20px;letter-spacing:.05em;text-transform:uppercase;border-radius:2px;}
.btn-primary{background:var(--accent);color:#fff;}
.btn-primary:hover{background:var(--accent-dark);}
.icon-btn{font-size:15px;color:var(--ink-soft);}

.dateline{padding:18px 0 0;font-size:12px;color:var(--ink-soft);border-bottom:1px solid var(--line);padding-bottom:14px;}
.breadcrumb{padding:16px 0 0;font-size:12px;color:var(--ink-soft);border-bottom:1px solid var(--line);padding-bottom:14px;}
.breadcrumb a{color:var(--ink-soft);border-bottom:1px solid var(--line);}
.breadcrumb a:hover{color:var(--ink);border-color:var(--ink);}

.lead{padding:26px 0 8px;display:grid;grid-template-columns:1.3fr 1fr;gap:34px;}
.lead .thumb{background:#ccc4ac;overflow:hidden;}
.lead .thumb img{width:100%;display:block;height:480px;object-fit:cover;}
.lead .text{display:flex;flex-direction:column;justify-content:center;}
.lead h1{font-size:30px;line-height:1.15;font-weight:800;margin:10px 0 12px;letter-spacing:-.01em;}
.lead p.dek{font-size:15px;color:var(--ink-soft);line-height:1.5;margin:0 0 16px;max-width:480px;}

.cta-line{font-size:13.5px;font-weight:700;}
.cta-line a{color:var(--ink);border-bottom:2px solid var(--ink);}
.cta-line a.primary{color:var(--accent);border-bottom-color:var(--accent);}
.cta-line .or{font-style:italic;font-weight:400;color:var(--ink-soft);margin:0 8px;}
a.cta-line{font-size:13.5px;font-weight:700;color:var(--ink);border-bottom:2px solid var(--ink);white-space:nowrap;}
a.cta-line.primary{color:var(--accent);border-bottom-color:var(--accent);}

.cat-tabs{display:flex;gap:24px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:26px;}
.cat-tabs button{font:inherit;background:none;border:none;cursor:pointer;font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);padding:0 0 4px;border-bottom:2px solid transparent;}
.cat-tabs button.active, .cat-tabs button:hover{color:var(--ink);border-bottom-color:var(--accent);}

.market-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;}
.market-card{border:1px solid var(--line);background:#fff;display:flex;flex-direction:column;}
.market-card .thumb{height:230px;background:#ccc4ac;overflow:hidden;display:block;}
.market-card .thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.market-card .body{padding:16px 16px 18px;display:flex;flex-direction:column;flex:1;}
.market-card h3{font-size:17px;font-weight:800;margin:4px 0 6px;line-height:1.25;}
.market-card h3 a:hover{border-bottom:1px solid var(--ink);}
.market-card .blurb{font-size:12px;color:var(--ink-soft);margin:10px 0 0;line-height:1.45;}
.market-card .card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:14px;border-top:1px solid var(--line);gap:10px;}
.market-card.sponsored{background:#efe8d9;}
.market-card[hidden]{display:none;}

.impact{margin-top:10px;display:flex;flex-direction:column;gap:5px;}
.impact-row{display:flex;align-items:center;gap:8px;}
.impact-row .ilabel{position:relative;width:98px;flex-shrink:0;font-size:9.5px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);cursor:help;border-bottom:1px dotted var(--line);}
.impact-row .ilabel:hover::after{
  content:attr(data-tip);
  position:absolute;
  left:0;
  top:calc(100% + 8px);
  width:200px;
  background:var(--ink);
  color:#fff;
  font-size:11px;
  font-weight:400;
  text-transform:none;
  letter-spacing:normal;
  line-height:1.45;
  padding:9px 11px;
  border-radius:2px;
  z-index:30;
  white-space:normal;
  pointer-events:none;
}
.impact-dots{display:flex;gap:3px;}
.impact-key{font-size:10.5px;color:var(--ink-soft);border-bottom:1px solid var(--line);margin-top:4px;align-self:flex-start;}
.dot{width:7px;height:7px;border-radius:50%;background:var(--line);display:block;}
.dot.filled{background:var(--good);}

.stats{border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);padding:26px 0;margin-top:10px;}
.stats .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;}
.stat{padding:0 24px;border-left:1px solid var(--line);flex:1;min-width:180px;}
.stat:first-child{border-left:none;padding-left:0;}
.stat .num{font-size:30px;font-weight:800;letter-spacing:-.02em;}
.stat .label{font-size:12px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.05em;margin-top:4px;}

.section{padding:44px 0 6px;}
.section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:20px;}
.section-head h2{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;margin:0;padding-bottom:10px;border-bottom:2px solid var(--ink);width:100%;}

.ranked{display:flex;flex-direction:column;}
.ranked-row{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:18px;padding:16px 0;border-bottom:1px solid var(--line);}
.ranked-row .rank{font-size:26px;font-weight:800;color:var(--line);font-family:Georgia,serif;}
.ranked-row h3{font-size:16.5px;font-weight:800;margin:0 0 3px;}
.ranked-row p{margin:0;font-size:13px;color:var(--ink-soft);}

.ad-slot{border:1px solid var(--line);background:#eae6d8;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#8b8471;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;height:110px;margin:28px 0 4px;}
.ad-slot span{font-size:10px;margin-top:4px;letter-spacing:.08em;}

.newsletter{border:2px solid var(--ink);padding:32px;display:flex;justify-content:space-between;align-items:center;gap:32px;margin:36px 0 4px;flex-wrap:wrap;}
.newsletter h2{font-size:21px;font-weight:800;margin-bottom:6px;max-width:420px;}
.newsletter p{color:var(--ink-soft);font-size:13.5px;max-width:400px;margin:0;}
.newsletter-form{display:flex;gap:0;flex-shrink:0;border:1px solid var(--ink);}
.newsletter-form input{padding:12px 14px;border:none;font-size:13.5px;width:220px;font-family:Arial,sans-serif;}
.newsletter-form a{padding:12px 20px;}

/* HubSpot embed override: force the email + submit into one long rectangular row, matching the original combined input/button shape */
.newsletter-form{padding:0;}
.newsletter-form .hs-form-frame{width:100%;}
.newsletter-form form.hs-form{display:flex;gap:0;align-items:stretch;width:100%;}
.newsletter-form .hs-form-field{margin:0!important;flex:1;}
.newsletter-form .hs-form-field label{display:none!important;}
.newsletter-form .hs-form-field .input{margin:0!important;height:100%;}
.newsletter-form .hs-input{width:100%;height:100%;box-sizing:border-box;padding:12px 14px;border:none!important;border-radius:0!important;font-size:13.5px;font-family:Arial,sans-serif;background:#fff;}
.newsletter-form .hs_submit{flex-shrink:0;}
.newsletter-form .hs-submit .actions{margin:0!important;padding:0!important;height:100%;}
.newsletter-form input.hs-button{height:100%;padding:12px 20px;border:none!important;border-radius:0!important;background:var(--accent)!important;color:#fff!important;font-family:Arial,sans-serif;font-size:14px;cursor:pointer;}
.newsletter-form .hs-error-msgs{position:absolute;}

footer.site{background:var(--footer);color:#cfcabd;padding:44px 0 22px;margin-top:40px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px;padding-bottom:26px;border-bottom:1px solid rgba(255,255,255,.14);}
.footer-grid h5{color:#fff;font-size:11.5px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px;font-weight:800;}
.footer-grid a{display:block;font-size:13px;color:#a8a396;margin-bottom:9px;}
.footer-grid a:hover{color:#fff;}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:18px;font-size:11.5px;color:#847f72;flex-wrap:wrap;gap:10px;}
.footer-disclosure{font-size:11px;color:#847f72;max-width:640px;line-height:1.5;}

/* Product detail page */
.product-hero{padding:30px 0 10px;display:grid;grid-template-columns:1fr 1fr;gap:40px;}
.product-hero .thumb{background:#ccc4ac;overflow:hidden;}
.product-hero .thumb img{width:100%;display:block;height:420px;object-fit:cover;}
.product-hero h1{font-size:28px;line-height:1.15;font-weight:800;margin:10px 0 14px;letter-spacing:-.01em;}
.brand-link{font-size:13px;color:var(--ink-soft);margin-bottom:6px;display:block;}
.brand-link a{border-bottom:1px solid var(--line);}
.review-body{max-width:760px;padding:6px 0 8px;font-size:14.5px;line-height:1.58;color:var(--ink);}
.review-body h2{font-size:15px;text-transform:uppercase;letter-spacing:.05em;font-weight:800;margin:20px 0 8px;}
.review-body p{margin:0 0 10px;}
.review-body ul{margin:0 0 10px;padding-left:20px;}
.review-body li{margin-bottom:5px;}
.review-body strong{color:var(--ink);}
.back-link{display:inline-block;margin:26px 0 6px;font-size:12.5px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);border-bottom:2px solid var(--line);}
.back-link:hover{color:var(--ink);border-bottom-color:var(--ink);}
.disclosure-note{font-size:11.5px;color:var(--ink-soft);border-top:1px solid var(--line);padding-top:14px;margin-top:24px;max-width:760px;}

/* Inquiry form */
.inquiry-form{max-width:520px;border:1px solid var(--line);background:#fff;padding:26px;margin:14px 0 8px;}
.form-row{margin-bottom:16px;display:flex;flex-direction:column;gap:6px;}
.form-row label{font-size:11.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft);}
.form-row input, .form-row select, .form-row textarea{font-family:Arial,sans-serif;font-size:14px;padding:10px 12px;border:1px solid var(--line);background:var(--paper);color:var(--ink);}
.form-row textarea{resize:vertical;min-height:90px;}
.form-note{font-size:11.5px;color:var(--ink-soft);margin-top:4px;}

/* Comparison pages */
.compare-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:stretch;padding:24px 0 10px;}
.compare-col{border:1px solid var(--line);background:#fff;padding:22px;display:flex;flex-direction:column;}
.compare-col .thumb{background:#ccc4ac;overflow:hidden;margin-bottom:14px;}
.compare-col .thumb img{width:100%;display:block;height:220px;object-fit:cover;}
.compare-col h2{font-size:19px;font-weight:800;margin:8px 0 4px;letter-spacing:-.01em;line-height:1.2;}
.compare-col .teaser{font-size:13px;color:var(--ink-soft);margin:8px 0 14px;line-height:1.5;}
.compare-col .cta-line{margin-top:auto;padding-top:16px;}
.compare-vs{display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-weight:800;font-size:15px;color:var(--ink-soft);padding:0 4px;}

@media (max-width:900px){
  .lead{grid-template-columns:1fr;}
  .product-hero{grid-template-columns:1fr;}
  .market-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  nav.main{display:none;}
  .newsletter{flex-direction:column;align-items:flex-start;}
  .stat{min-width:45%;margin-bottom:14px;}
  .compare-grid{grid-template-columns:1fr;}
  .compare-vs{padding:4px 0;}
}
