/* The Rebate Map - editorial layer "Ledger". v1 2026-08-04 */

:root{
  --rb-ink:#0d2b22;
  --rb-green:#0f5d47;
  --rb-green-dark:#08382b;
  --rb-amber:#d98207;
  --rb-amber-soft:#fbf0d8;
  --rb-paper:#ffffff;
  --rb-bg:#f6f4ee;
  --rb-hair:#ded9cb;
  --rb-hair-d:#c7c1af;
  --rb-mute:#5c6862;
  --rb-disp:"Archivo","Helvetica Neue",Helvetica,Arial,sans-serif;
  --rb-body:"Inter","Helvetica Neue",Helvetica,Arial,sans-serif;
  --rb-mono:"IBM Plex Mono",ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
}

/* ---------- base ---------- */
body{
  background:var(--rb-bg);
  color:var(--rb-ink);
  font-family:var(--rb-body);
  font-size:18px;
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
}
.wp-site-blocks{overflow-x:clip;}

h1,h2,h3,h4,h5,h6,
.wp-block-post-title,
.wp-block-query-title,
.wp-block-heading{
  font-family:var(--rb-disp);
  font-weight:800;
  letter-spacing:-0.015em;
  line-height:1.08;
  color:var(--rb-ink);
  text-wrap:balance;
}

/* ---------- page frame ---------- */
.wp-site-blocks > main.wp-block-group{
  --wp--style--global--content-size:720px;
  --wp--style--global--wide-size:1160px;
  background:var(--rb-paper);
  padding-top:0;
}
body.home .wp-site-blocks > main.wp-block-group,
body.blog .wp-site-blocks > main.wp-block-group,
body.archive .wp-site-blocks > main.wp-block-group{
  --wp--style--global--content-size:1200px;
  --wp--style--global--wide-size:1200px;
}

/* ---------- masthead ---------- */
.wp-site-blocks > .wp-block-template-part:first-child{
  background:var(--rb-green);
  border-bottom:4px solid var(--rb-amber);
}
.wp-site-blocks > .wp-block-template-part:first-child > .wp-block-group{
  padding-block:15px;
}
.wp-site-blocks > .wp-block-template-part:first-child .wp-block-site-title{
  margin:0;
}
.wp-site-blocks > .wp-block-template-part:first-child .wp-block-site-title a{
  font-family:var(--rb-disp);
  font-weight:800;
  font-size:clamp(19px,2.1vw,25px);
  letter-spacing:0.005em;
  text-transform:uppercase;
  text-decoration:none;
  color:#fff;
}
.wp-site-blocks > .wp-block-template-part:first-child .wp-block-site-title a:hover{
  color:var(--rb-amber);
}
.wp-site-blocks > .wp-block-template-part:first-child .wp-block-navigation,
.wp-site-blocks > .wp-block-template-part:first-child .wp-block-navigation a{
  font-family:var(--rb-mono);
  font-size:12px;
  font-weight:500;
  letter-spacing:0.09em;
  text-transform:uppercase;
  text-decoration:none;
  color:rgba(255,255,255,0.86);
}
.wp-site-blocks > .wp-block-template-part:first-child .wp-block-navigation{gap:0 24px;}
.wp-site-blocks > .wp-block-template-part:first-child .wp-block-navigation a:hover{
  color:#fff;
  box-shadow:inset 0 -2px 0 var(--rb-amber);
}
.wp-site-blocks > .wp-block-template-part:first-child .wp-block-navigation__responsive-container.is-menu-open{
  background:var(--rb-green-dark);
}
.wp-site-blocks > .wp-block-template-part:first-child .wp-block-navigation__responsive-container-open svg{fill:#fff;}

/* ---------- archive header ---------- */
body.home main > h1.wp-block-heading,
body.blog main > h1.wp-block-heading,
body.archive main > h1.wp-block-heading{
  font-size:clamp(2.1rem,4.4vw,3.1rem);
  line-height:1.02;
  margin:46px 0 12px;
  max-width:20ch;
}
.rbts-dek{
  font-size:1.06rem;
  line-height:1.5;
  color:var(--rb-mute);
  max-width:60ch;
  margin:0 0 30px;
}
.rbts-kicker{
  font-family:var(--rb-mono);
  font-size:11.5px;
  font-weight:600;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--rb-amber);
  margin:0 0 10px;
  display:block;
}

/* ---------- card grid ---------- */
.wp-block-query > .wp-block-post-template,
.wp-block-post-template{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px;
  list-style:none;
  padding:0;
  margin:0 0 44px;
}
.wp-block-post-template > li.wp-block-post{
  margin:0;
  min-width:0;
  background:var(--rb-paper);
  border:1px solid var(--rb-hair);
  display:flex;
  flex-direction:column;
}
.wp-block-post-template > li.wp-block-post > .wp-block-group{
  padding:0;
  display:flex;
  flex-direction:column;
  height:100%;
  gap:0;
}
.wp-block-post-template > li.wp-block-post > .wp-block-group > *{
  padding-left:22px;
  padding-right:22px;
  max-width:100%;
}
.wp-block-post-template > li.wp-block-post:hover{
  border-color:var(--rb-green);
}

/* card cover: the theme's own core/post-featured-image figure, tagged by rbts-fixes.php */
.rbts-card-imglink{
  display:block;
  aspect-ratio:16/9!important;
  overflow:hidden;
  background:var(--rb-green-dark);
  margin:0 0 18px!important;
  padding:0!important;
  max-width:100%;
}
.rbts-card-imglink a{
  display:block;
  width:100%;
  height:100%;
}
.rbts-card-imglink img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  border-radius:0;
  max-width:none;
}
/* article + page hero cover */
body.single .wp-block-post-featured-image,
body.page .wp-block-post-featured-image{
  margin:0 0 34px;
  background:var(--rb-green-dark);
}
body.single .wp-block-post-featured-image img,
body.page .wp-block-post-featured-image img{
  width:100%;
  height:auto;
  display:block;
  border-radius:0;
}

.wp-block-post-template .wp-block-post-title{
  font-size:clamp(18px,1.5vw,21px)!important;
  line-height:1.2;
  margin:0 0 10px;
}
.wp-block-post-template .wp-block-post-title a{
  color:var(--rb-ink);
  text-decoration:none;
}
.wp-block-post-template .wp-block-post-title a:hover{
  color:var(--rb-green);
  box-shadow:inset 0 -2px 0 var(--rb-amber);
}
.rbts-card-dek{
  font-size:15.5px!important;
  line-height:1.5;
  color:var(--rb-mute);
  margin:0 0 14px;
}
.rbts-card-more{
  margin:auto 0 0;
  padding-bottom:20px;
}
.rbts-card-more a{
  font-family:var(--rb-mono);
  font-size:11.5px;
  font-weight:600;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--rb-green);
  text-decoration:none;
  border-bottom:2px solid var(--rb-amber);
  padding-bottom:2px;
}
.rbts-card-more a:hover{color:var(--rb-amber);}
.wp-block-post-template .wp-block-post-date{
  font-family:var(--rb-mono);
  font-size:11px!important;
  letter-spacing:0.1em;
  text-transform:uppercase;
  color:#8b948e;
  margin:0;
  padding-bottom:18px;
}
.wp-block-post-template .wp-block-post-excerpt__more-link,
.wp-block-post-template .more-link{display:none;}

/* pagination */
.wp-block-query-pagination{
  font-family:var(--rb-mono);
  font-size:12px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  margin-bottom:50px;
}
.wp-block-query-pagination a{color:var(--rb-green);text-decoration:none;}

/* ---------- single article ---------- */
body.single main.wp-block-group,
body.page main.wp-block-group{padding-top:8px;}

body.single .wp-block-post-title,
body.page .wp-block-post-title{
  font-size:clamp(2rem,4.1vw,3.15rem);
  line-height:1.05;
  margin:44px 0 18px;
  max-width:min(100%,19ch);
}
body.single .wp-block-post-featured-image,
body.page .wp-block-post-featured-image{
  margin:0 0 30px;
}
body.single .wp-block-post-featured-image img,
body.page .wp-block-post-featured-image img{
  width:100%!important;
  height:auto!important;
  aspect-ratio:auto!important;
  display:block;
  border:1px solid var(--rb-hair);
}
body.single .wp-block-post-date,
body.single .wp-block-post-terms{
  font-family:var(--rb-mono);
  font-size:11.5px;
  letter-spacing:0.11em;
  text-transform:uppercase;
  color:var(--rb-mute);
}

.wp-block-post-content > *{max-width:100%;}
.wp-block-post-content h2{
  font-size:clamp(1.5rem,2.5vw,1.95rem);
  margin:2.3em 0 0.5em;
  padding-top:0.45em;
  border-top:3px solid var(--rb-green);
}
.wp-block-post-content h3{
  font-size:clamp(1.16rem,1.7vw,1.38rem);
  margin:1.85em 0 0.4em;
}
.wp-block-post-content h4{
  font-family:var(--rb-mono);
  font-weight:600;
  font-size:0.8rem;
  letter-spacing:0.11em;
  text-transform:uppercase;
  color:var(--rb-green);
  margin:1.7em 0 0.4em;
}
.wp-block-post-content p{margin:0 0 1.15em;}
.wp-block-post-content a{
  color:var(--rb-green);
  text-decoration:none;
  box-shadow:inset 0 -1px 0 var(--rb-amber);
}
.wp-block-post-content a:hover{
  background:var(--rb-amber-soft);
  box-shadow:inset 0 -2px 0 var(--rb-amber);
}
.wp-block-post-content ul,
.wp-block-post-content ol{margin:0 0 1.15em;padding-left:1.2em;}
.wp-block-post-content li{margin:0 0 0.42em;}
.wp-block-post-content blockquote{
  border:0;
  border-left:5px solid var(--rb-amber);
  background:var(--rb-bg);
  margin:1.9em 0;
  padding:1em 0 1em 1.15em;
  font-family:var(--rb-disp);
  font-weight:600;
  font-size:1.2rem;
  line-height:1.34;
  font-style:normal;
}

/* ---------- data tables: the point of this site ---------- */
.wp-block-table,
figure.wp-block-table{
  margin:2.1em 0;
  max-width:1160px;
  width:100%;
  overflow-x:auto;
  border:1px solid var(--rb-hair-d);
}
.wp-block-table table,
.wp-block-post-content table{
  width:100%;
  border-collapse:collapse;
  font-family:var(--rb-mono);
  font-size:13.5px;
  line-height:1.42;
  font-variant-numeric:tabular-nums;
  background:var(--rb-paper);
}
.wp-block-table th,
.wp-block-post-content th{
  background:var(--rb-green);
  color:#fff;
  text-align:left;
  font-weight:600;
  letter-spacing:0.06em;
  text-transform:uppercase;
  font-size:11px;
  padding:10px 12px;
  border:0;
  position:sticky;
  top:0;
}
.wp-block-table td,
.wp-block-post-content td{
  padding:9px 12px;
  border:0;
  border-bottom:1px solid var(--rb-hair);
  vertical-align:top;
}
.wp-block-table tr:nth-child(even) td{background:#fbfaf6;}
.wp-block-table tr:last-child td{border-bottom:0;}
.wp-block-table figcaption,
.wp-block-image figcaption{
  font-family:var(--rb-mono);
  font-size:11.5px;
  letter-spacing:0.04em;
  color:var(--rb-mute);
  text-align:left;
  margin-top:9px;
  padding:0 2px;
}

/* ---------- figures ---------- */
.wp-block-image{margin:2em 0;}
.wp-block-image img{width:100%;height:auto;display:block;}

/* ---------- CTA block (rbts-cta.php) keeps its own markup, just frame it ---------- */
.rbts-cta,
.rbts-cta-box{
  border:2px solid var(--rb-green);
  background:var(--rb-amber-soft);
  padding:22px 24px;
  margin:2.2em 0;
}

/* ---------- footer ---------- */
.wp-site-blocks > .wp-block-template-part:last-child{
  background:var(--rb-green-dark);
  margin-top:64px;
}
.wp-site-blocks > .wp-block-template-part:last-child > .wp-block-group{
  padding-block:38px 30px;
}
.wp-site-blocks > .wp-block-template-part:last-child,
.wp-site-blocks > .wp-block-template-part:last-child p,
.wp-site-blocks > .wp-block-template-part:last-child a{
  font-family:var(--rb-mono);
  font-size:12px;
  letter-spacing:0.05em;
  color:rgba(255,255,255,0.72);
}
.wp-site-blocks > .wp-block-template-part:last-child .wp-block-spacer{display:none!important;}
.wp-site-blocks > .wp-block-template-part:last-child a{
  text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,0.28);
}
.wp-site-blocks > .wp-block-template-part:last-child a:hover{
  color:var(--rb-amber);
  border-bottom-color:var(--rb-amber);
}
.wp-site-blocks > .wp-block-template-part:last-child .wp-block-site-title{margin:0 0 4px;}
.wp-site-blocks > .wp-block-template-part:last-child .wp-block-site-title a{
  font-family:var(--rb-disp);
  font-size:16px;
  font-weight:800;
  letter-spacing:0.02em;
  text-transform:uppercase;
  color:#fff;
  border-bottom:0;
}
.wp-site-blocks > .wp-block-template-part:last-child .wp-block-site-tagline{
  color:rgba(255,255,255,0.5);
  margin:0 0 18px;
}
.wp-site-blocks > .wp-block-template-part:last-child .wp-block-navigation{gap:0 24px;}
.wp-site-blocks > .wp-block-template-part:last-child .wp-block-navigation a{border-bottom:0;}
.wp-site-blocks > .wp-block-template-part:last-child .wp-block-navigation-item__label{
  font-size:11.5px;
  letter-spacing:0.12em;
  text-transform:uppercase;
}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .wp-block-post-template{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:640px){
  body{font-size:17px;}
  .wp-block-post-template{grid-template-columns:1fr;gap:20px;}
  body.home main > h1.wp-block-heading,
  body.blog main > h1.wp-block-heading{margin-top:30px;}
  .wp-block-post-content h2{font-size:1.4rem;}
  .wp-block-table table{font-size:12.5px;}
}

/* --- gap trim + flush card cover (2026-08-04) --- */
.wp-site-blocks > main{margin-top:0!important;padding-top:52px;}
.wp-site-blocks > footer,
.wp-site-blocks > .wp-block-template-part:last-child{margin-top:0!important;}
.wp-block-post-template > li.wp-block-post > .wp-block-group{padding:0!important;}

/* --- masthead band fix (2026-08-04) --- */
.wp-site-blocks > main.wp-block-group{padding-top:52px!important;}
.wp-site-blocks > main.wp-block-group > *:first-child{margin-top:0!important;}

/* --- pre-footer gap fix (2026-08-04) --- */
.wp-site-blocks > main.wp-block-group{padding-bottom:60px!important;}
.wp-site-blocks > main.wp-block-group > *:last-child{margin-bottom:0!important;}

/* --- single/page hero: drop theme 3:2 crop (2026-08-04) --- */
body.single .wp-block-post-featured-image,
body.page .wp-block-post-featured-image{aspect-ratio:auto!important;height:auto!important;}
