:root{--ink:#203027;--green:#315b3a;--cream:#f7f1e5;--paper:#fffdf8;--gold:#b67835;--muted:#66736b;--line:#d9dfd8}
*{box-sizing:border-box}body{margin:0;font:17px/1.65 system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--paper)}
header{position:sticky;top:0;background:#fffdf8ee;backdrop-filter:blur(10px);border-bottom:1px solid var(--line);z-index:5}
.nav{max-width:1120px;margin:auto;padding:14px 22px;display:flex;gap:24px;align-items:center;justify-content:space-between}.brand{font-weight:800;color:var(--green);text-decoration:none}.nav a{color:var(--ink);text-decoration:none}
main{max-width:980px;margin:auto;padding:48px 22px 80px}.kicker{color:var(--green);font-weight:800;text-transform:uppercase;letter-spacing:.08em;font-size:.82rem}
h1{font-size:clamp(2.25rem,6vw,4.7rem);line-height:1.02;letter-spacing:-.04em;margin:.25em 0}.dek{font-size:1.25rem;max-width:760px;color:#49584f}.meta{color:var(--muted);font-size:.92rem;margin:18px 0 30px}
.hero,.visual{width:100%;border-radius:22px;display:block;border:1px solid var(--line);box-shadow:0 10px 32px #22332614}.callout{background:var(--cream);border-left:5px solid var(--gold);padding:20px 24px;border-radius:12px;margin:28px 0}
section{margin:56px 0}h2{font-size:clamp(1.65rem,3vw,2.35rem);line-height:1.15;margin-bottom:12px}h3{font-size:1.15rem}.grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center}.grid p{margin-top:0}.caption{font-size:.86rem;color:var(--muted);margin-top:8px}
.compare{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{border:1px solid var(--line);border-radius:16px;padding:18px;background:white}.card strong{display:block;color:var(--green);font-size:1.05rem}
.checks{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check{background:#f3f6f2;border-radius:12px;padding:15px 17px}
.sources{background:#f2f5f1;border-radius:18px;padding:24px}.sources a{color:var(--green)}footer{border-top:1px solid var(--line);padding:30px 22px;text-align:center;color:var(--muted);font-size:.9rem}
@media(max-width:720px){main{padding-top:34px}.grid,.compare,.checks{grid-template-columns:1fr}.nav nav{display:none}section{margin:42px 0}}

.shop-options{margin:56px 0}.shop-intro{color:var(--muted);max-width:760px}.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}.shop-card{border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden;box-shadow:0 8px 24px #22332612;display:flex;flex-direction:column}.shop-card a.product-image{display:block;background:#f4f5f2;aspect-ratio:1/1;overflow:hidden}.shop-card img{width:100%;height:100%;object-fit:contain;display:block}.shop-copy{padding:16px;display:flex;flex-direction:column;gap:12px;flex:1}.shop-copy h3{margin:0;line-height:1.25}.shop-btn{margin-top:auto;display:block;text-align:center;background:var(--green);color:white!important;text-decoration:none;font-weight:800;padding:12px 14px;border-radius:10px}.affiliate-note{font-size:.82rem;color:var(--muted);margin-top:14px}@media(max-width:720px){.shop-grid{grid-template-columns:1fr}.shop-card{max-width:460px;margin:auto;width:100%}}

/* v14: make the close-contour / airflow comparison a prominent full-width feature */
.airflow-feature{background:#f5f8f4;border:1px solid var(--line);border-radius:22px;padding:clamp(20px,3vw,34px);margin:64px 0}
.airflow-feature>h2{max-width:850px;margin-top:0}
.airflow-intro{max-width:850px;font-size:1.08rem;color:#49584f}
.airflow-visual{margin:24px 0 18px;width:100%}
.airflow-visual .visual{width:100%;height:auto;max-width:none;object-fit:contain}
.airflow-visual figcaption{margin-top:10px}
.airflow-details{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0}
.airflow-details>div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px 20px}
.airflow-details h3{color:var(--green);margin:0 0 6px}
.airflow-details p{margin:0}
.airflow-takeaway{background:#e9f1e8;border-left:5px solid var(--green);padding:16px 20px;border-radius:10px;margin:20px 0 0}
@media(max-width:720px){.airflow-details{grid-template-columns:1fr}.airflow-feature{padding:18px}}

/* v15: reliable rendering for the key contour/airflow infographic */
.airflow-visual .airflow-image{
  display:block;
  visibility:visible;
  opacity:1;
  width:100%;
  max-width:none;
  height:auto;
  min-height:0;
  object-fit:contain;
}


/* v19: consistent product-card copy and descriptive text hyperlinks */
.shop-card{height:100%;min-width:0}
.shop-copy p{margin:0;color:var(--muted);font-size:.94rem;line-height:1.5}
.shop-link{display:inline-block;margin-top:auto;padding-top:.35rem;color:var(--green);font-weight:800;text-decoration:underline;text-underline-offset:3px}
.shop-link:hover,.shop-link:focus-visible{color:#183d2a;text-decoration-thickness:2px;outline-offset:3px}
.chewy-panel{width:100%;clear:both}


/* Footer-integrated site search — matching the site's deep-green footer style. */
footer.site-footer{
  background:#20382d;
  color:#eaf0e8;
  padding:2.2rem 1.25rem 1.5rem;
  margin:0;
}
.site-footer .footer-inner{
  max-width:1120px;
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:2rem;
  flex-wrap:wrap;
}
.site-footer strong{color:#fff}
.site-footer p{margin:.25rem 0;color:#cbd7cb}
.site-footer .fine{font-size:.83rem}
.site-footer a{color:#eaf0e8}
.site-footer .footer-links{
  display:flex;
  gap:1rem;
  flex-wrap:wrap;
}
.site-footer .footer-links a{
  color:#eaf0e8;
  font-weight:750;
  text-decoration:none;
}
.site-footer .footer-links a:hover,
.site-footer .footer-links a:focus-visible{
  text-decoration:underline;
  text-underline-offset:3px;
}
.site-search-section{
  max-width:1120px;
  margin:1.4rem auto 0;
  padding:1.5rem 1.25rem 0;
  border-top:1px solid rgba(234,240,232,.22);
}
.site-search-panel{
  background:transparent;
  border:0;
  border-radius:0;
  padding:0;
  box-shadow:none;
  color:#eaf0e8;
}
.site-search-panel .eyebrow{color:#b8d5bf}
.site-search-panel h2{
  color:#fff;
  font-size:1.35rem;
  margin:.15rem 0 .3rem;
}
.site-search-panel p{color:#cbd7cb;margin:.25rem 0 .9rem}
.site-search-form{max-width:760px;display:flex;gap:.55rem;flex-wrap:wrap}
.site-search-form input{
  flex:1 1 240px;
  min-width:0;
  min-height:44px;
  padding:.75rem 1rem;
  background:#fff;
  color:#20382d;
  border:1px solid #d5e1d7;
  border-radius:999px;
  font:inherit;
}
.site-search-form button,.site-search-form [type=reset]{
  min-height:44px;
  padding:.7rem 1.25rem;
  border-radius:999px;
  background:#75b98b;
  border:1px solid #75b98b;
  color:#173426;
  font:inherit;
  font-weight:750;
  cursor:pointer;
}
.site-search-form [type=reset]{
  background:transparent;
  border-color:#b8d5bf;
  color:#eaf0e8;
}
.site-search-form input:focus-visible,
.site-search-form button:focus-visible{
  outline:3px solid #f2d48b;
  outline-offset:3px;
}
.site-search-results{
  list-style:none;
  padding:0;
  margin:1rem 0 0;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));
  gap:.65rem;
}
.site-search-results[hidden]{display:none}
.site-search-results li a{
  display:block;
  height:100%;
  padding:.85rem 1rem;
  border:1px solid #d5e1d7;
  border-radius:12px;
  background:#f8fbf8;
  color:#20382d;
  text-decoration:none;
}
.site-search-results li a:hover{border-color:#75b98b}
.site-search-results strong,.site-search-results span{display:block}
.site-search-results span{font-size:.9rem;color:#52645a;line-height:1.45;margin-top:.25rem}
.site-search-empty{grid-column:1/-1;padding:.8rem;color:#eaf0e8}
.footer-copyright{
  max-width:1120px;
  margin:1.4rem auto 0;
  padding:1rem 1.25rem 0;
  border-top:1px solid rgba(234,240,232,.16);
  color:#cbd7cb;
  font-size:.82rem;
  text-align:center;
}
@media(max-width:560px){
  .site-search-form button,.site-search-form [type=reset]{flex:1 1 auto}
  .site-footer .footer-links{gap:.65rem 1rem}
}


/* Shared site-wide header: exact homepage navigation structure and visual system. */
.site-header{
  background:rgba(255,254,250,.96);
  border-bottom:1px solid #d9ded4;
  position:sticky;
  top:0;
  z-index:10;
  backdrop-filter:blur(10px);
}
.site-header .header-inner{
  max-width:1120px;
  margin:0 auto;
  padding:1rem 1.25rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.2rem;
}
.site-header .brand{
  display:flex;
  gap:.7rem;
  align-items:center;
  color:#20382d;
  text-decoration:none;
  font-weight:800;
  line-height:1.15;
  white-space:nowrap;
}
.site-header .brand-mark{
  width:42px;
  height:42px;
  border-radius:13px;
  background:#355b47;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:1.25rem;
  flex:0 0 42px;
}
.site-header .brand small{
  display:block;
  color:#5d6e63;
  font-size:.68rem;
  font-weight:650;
  letter-spacing:.09em;
  text-transform:uppercase;
  margin-top:.22rem;
}
.site-header .nav{
  max-width:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:1rem;
  flex-wrap:wrap;
}
.site-header .nav a{
  color:#20382d;
  text-decoration:none;
  font-size:.9rem;
  font-weight:650;
}
.site-header .nav a:hover,
.site-header .nav a:focus-visible{color:#6c8b72;text-decoration:underline;text-underline-offset:3px}
@media(max-width:900px){
  .site-header .header-inner{align-items:flex-start;flex-direction:column;gap:.8rem}
  .site-header .nav{justify-content:flex-start;gap:.55rem .9rem}
}
@media(max-width:560px){
  .site-header .header-inner{padding:.8rem 1rem}
  .site-header .nav{gap:.45rem .75rem}
  .site-header .nav a{font-size:.82rem}
}

.shop-card .product-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;aspect-ratio:1/1;background:#f4f5f2;color:#20382d;font-weight:600;text-align:center;padding:1rem;box-sizing:border-box}
