/* sponsor.css — page-specific styles
   Auto-generated from preview-sponsor.html on push by
   tools/extract-preview-css.py. Edit the preview file,
   not this file directly. */

*{ box-sizing:border-box; }
/* Nav */
/* Style-guide patterns */
.eyebrow{ display:inline-flex; align-items:center; gap:10px; font-family:'Inter'; font-weight:700; font-size:11px; letter-spacing:.22em; text-transform:uppercase; color:var(--gold-d); margin-bottom:12px; }
.eyebrow::before{ content:""; width:24px; height:2px; background:var(--gold); }
.section-h2{ font-family:var(--slab); font-weight:800; font-size:clamp(40px,5vw,64px); line-height:1; letter-spacing:-.02em; margin:0 0 14px; color:var(--green-d); }
.section-h2 .accent{ font-family:'Fraunces', Georgia, serif; font-style:italic; font-weight:500; color:var(--green); }
.section-h2 strong{ color:var(--green-d); font-weight:800; }
.lede{ font-family:'Lora', Georgia, serif; font-style:italic; font-size:clamp(17px,1.5vw,20px); line-height:1.55; color:var(--ink-2); margin:0; max-width:50ch; }
.btn{ display:inline-flex; align-items:center; gap:8px; padding:14px 26px; border-radius:999px; font-family:'Inter'; font-weight:700; font-size:13.5px; letter-spacing:.06em; text-decoration:none; transition:background .2s ease, color .2s ease, transform .25s ease; }
.btn-primary{ background:var(--gold); color:var(--green-d); box-shadow:0 6px 22px rgba(228,178,91,.34); }
.btn-primary:hover{ background:var(--gold-d); color:var(--paper-w); transform:translateY(-2px); }
.btn-light{ background:transparent; border:1.5px solid var(--green-d); color:var(--green-d); }
.btn-light:hover{ background:var(--green-d); color:var(--paper-w); }
.btn svg{ width:14px; height:14px; }
/* HERO */
.sponsor-hero{
  position:relative; min-height:78vh;
  display:flex; align-items:flex-end;
  padding:64px var(--gutter) 84px;
  isolation:isolate; overflow:hidden;
  color:var(--paper-w);
}
.sponsor-hero::before{
  content:""; position:absolute; inset:0; z-index:-2;
  
}
.sponsor-hero-bg::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,0.15) 0%,rgba(0,0,0,0) 30%,rgba(0,0,0,0.5) 70%,rgba(0,0,0,0.85) 100%),linear-gradient(90deg,rgba(0,0,0,0.6) 0%,rgba(0,0,0,0.1) 60%,rgba(0,0,0,0) 100%);
}
.sponsor-hero .container{ max-width:var(--maxw); margin:0 auto; width:100%; }
.sponsor-hero .eyebrow{ color:var(--gold-l); }
.sponsor-hero .eyebrow::before{ background:var(--gold); }
.sponsor-hero h1{
  font-family:var(--slab); font-weight:800;
  font-size:clamp(44px,6.4vw,90px); line-height:.98; letter-spacing:-.02em;
  margin:0 0 18px; max-width:18ch;
}
.sponsor-hero h1 .accent{ font-family:'Fraunces'; font-style:italic; font-weight:500; color:var(--gold-l); }
.sponsor-hero .lede{ color:rgba(251,246,231,.92); max-width:54ch; margin:0 0 26px; }
.sponsor-hero .btn-light{ border-color:var(--paper-w); color:var(--paper-w); }
.sponsor-hero .btn-light:hover{ background:var(--paper-w); color:var(--green-d); }
.sponsor-hero .attrib{ font-family:'Inter'; font-size:11.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-l); margin:0 0 22px; opacity:.85; }
.hero-actions{ display:flex; gap:12px; flex-wrap:wrap; }
/* WHAT IT PAYS FOR — cost breakdown cards */
.sponsor-what{ background:var(--paper); padding:clamp(72px,9vw,120px) var(--gutter); }
.sponsor-what .container{ max-width:var(--maxw); margin:0 auto; }
.sponsor-what .heading{ text-align:center; margin:0 0 48px; }
.sponsor-what .heading .eyebrow{ display:inline-flex; }
.sponsor-what .heading h2{ text-align:center; margin:0 auto; max-width:24ch; }
.sponsor-what .heading h2 .accent{ color:var(--green); }
.sponsor-what .heading h2 .accent.gold{ color:var(--gold-d); }
.sponsor-what .heading > p{ font-family:'Lora', Georgia, serif; font-style:italic; font-size:clamp(15.5px,1.3vw,17.5px); line-height:1.6; color:var(--ink-2); margin:18px auto 0; max-width:62ch; }
.coffee-band{ display:flex; align-items:center; gap:22px; background:var(--paper-3); border-radius:14px; padding:24px 28px; margin-top:36px; box-shadow:0 4px 14px rgba(40,40,30,.08); }
.coffee-band .icon{ flex-shrink:0; width:64px; height:64px; border-radius:50%; background:var(--green-d); color:var(--yellow); display:flex; align-items:center; justify-content:center; font-family:var(--slab); font-weight:800; font-size:23px; box-shadow:0 6px 16px rgba(30,58,42,.25); }
.coffee-band .quote{ font-family:'Fraunces', Georgia, serif; font-style:italic; font-weight:500; font-size:clamp(17px,1.6vw,21px); line-height:1.4; color:var(--green-d); margin:0 0 6px; }
.coffee-band .attribution{ font-family:'Inter'; font-weight:700; font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-d); margin:0; }
.cost-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:clamp(16px,1.6vw,22px); }
.cost-card{
  background:var(--paper-3); border-radius:28px;
  padding:26px 22px 24px;
  border:1px solid transparent;
  text-align:left;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease;
}
.cost-card:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 28px rgba(0,0,0,0.14);
  background:var(--line);
  border-color:var(--gold);
}
.cost-card .amount{
  font-family:var(--slab); font-weight:800;
  font-size:42px; line-height:1; letter-spacing:-.025em;
  color:var(--green-d); margin-bottom:12px;
  display:flex; align-items:baseline; gap:6px;
}
.cost-card .amount .per{ font-family:'Lora'; font-style:italic; font-weight:400; font-size:14px; color:var(--ink-2); letter-spacing:0; }
.cost-card h3{
  font-family:var(--slab); font-weight:800;
  font-size:19px; line-height:1.18; letter-spacing:-.01em;
  margin:0 0 8px; color:var(--green-d);
}
.cost-card h3 em{ font-family:'Fraunces'; font-style:italic; color:var(--green); font-weight:500; }
.cost-card p{ font-family:'Lora'; font-style:italic; font-size:13.5px; line-height:1.5; color:var(--ink-2); margin:0; }
/* MEET THE DOGS — sponsorable dog grid */
.sponsor-dogs{ background:var(--green-d); padding:clamp(72px,9vw,120px) var(--gutter); position:relative; isolation:isolate; overflow:hidden; }
.sponsor-dogs::before{
  content:""; position:absolute; left:-90px; top:-90px;
  width:380px; height:380px;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 710 671'><path fill='%23efcd86' fill-opacity='0.08' d='M353 60l11-22c62-85 158-8 196 58 14 26 26 55 26 85 7 0 14-3 21-2 76 6 105 107 97 170-6 49-43 100-88 120-3 1-16 5-16 6 19 45 12 97-18 135-42 54-137 77-196 39-12-8-22-19-34-27-2 0-23 19-28 22-32 23-63 26-102 20-93-13-154-99-118-190 0-1-16-6-19-8-43-22-62-137-18-217 19-33 56-62 96-50 1-32 11-62 27-89 32-54 106-122 171-80 16 10 29 28 35 47Z'/></svg>") center/contain no-repeat;
  transform:rotate(14deg); z-index:0; pointer-events:none;
}
.sponsor-dogs .container{ position:relative; z-index:1; max-width:var(--maxw); margin:0 auto; }
.sponsor-dogs .heading{ display:flex; align-items:flex-end; justify-content:space-between; gap:30px; flex-wrap:wrap; margin:0 0 38px; }
.sponsor-dogs .heading > div:first-child{ flex:1; min-width:320px; }
.sponsor-dogs .eyebrow{ color:var(--gold-l); }
.sponsor-dogs .eyebrow::before{ background:var(--gold); }
.sponsor-dogs h2{ color:var(--paper-w); margin:0 0 8px; }
.sponsor-dogs h2 .accent{ color:var(--gold-l); }
.sponsor-dogs .lede{ color:rgba(251,246,231,.84); }
/* Sponsor dog cards — same visual language as the home .dog cards and the
   /success-stories/ .ss-card listing. Cream-on-dark-green for high contrast
   against the sponsor-dogs section's forest background. */
.dogs-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(24px,2.4vw,36px); max-width:var(--maxw); margin:0 auto; }
.sponsor-dog{
  cursor:pointer; display:flex; flex-direction:column;
  background:var(--paper-2); border-radius:28px; padding:14px;
  transition:all .25s ease; border:1px solid transparent;
  text-decoration:none; color:inherit;
}
.sponsor-dog:hover{ transform:translateY(-3px); box-shadow:0 14px 28px rgba(0,0,0,0.18); background:var(--paper); border-color:var(--gold); }
.sponsor-dog .photo{ aspect-ratio:4/5; overflow:hidden; background:var(--paper-3); position:relative; border-radius:18px; }
.sponsor-dog .photo img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease; }
.sponsor-dog:hover .photo img{ transform:scale(1.05); }
.sponsor-dog .tag{
  position:absolute; top:14px; left:14px; padding:7px 14px;
  background:rgba(42,51,38,0.85); backdrop-filter:blur(6px);
  color:#fbf6e7; font:700 10px/1 'Inter', var(--sans);
  letter-spacing:0.18em; text-transform:uppercase; border-radius:999px;
}
.sponsor-dog .tag.sanctuary{ background:var(--green); color:#fbf6e7; }
.sponsor-dog .tag.romania{ background:var(--gold); color:var(--green-d); }
.sponsor-dog h3{
  font-family:'Roboto Slab', var(--slab); font-weight:800;
  font-size:26px; margin:18px 4px 4px; letter-spacing:-0.015em;
  color:var(--green-d); text-transform:uppercase;
}
.sponsor-dog .meta{
  font:600 12px/1 'Inter', var(--sans); letter-spacing:0.10em;
  text-transform:uppercase; color:var(--muted);
  margin:0 4px 10px; display:inline-flex; align-items:center; gap:8px; flex-wrap:wrap;
}
.sponsor-dog .meta .sep{ color:var(--gold); }
.sponsor-dog p{
  font-size:15px; color:var(--ink-2); line-height:1.55; margin:0 4px 16px;
  display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden;
}
.sponsor-dog .meet{
  margin:auto 4px 6px; font:700 11px/1 'Inter', var(--sans);
  letter-spacing:0.18em; text-transform:uppercase; color:var(--green-d);
  display:inline-flex; align-items:center; gap:8px; align-self:flex-start;
  padding:8px 14px; border-radius:999px; background:var(--paper);
  transition:all .2s ease;
}
.sponsor-dog:hover .meet{ background:var(--green); color:#fbf6e7; }
/* PROMISES — what sponsors get */
.sponsor-promises{ background:var(--paper-2); padding:clamp(72px,9vw,120px) var(--gutter); }
.sponsor-promises .container{ max-width:var(--maxw); margin:0 auto; }
.sponsor-promises .heading{ text-align:center; margin:0 0 48px; }
.sponsor-promises .heading .eyebrow{ display:inline-flex; }
.sponsor-promises .heading h2{ text-align:center; margin:0 auto; max-width:22ch; }
.sponsor-promises .heading h2 .accent{ color:var(--green); }
.promises{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(20px,2vw,28px); }
.promise{
  background:var(--paper-3); border-radius:28px;
  padding:28px 26px 26px;
  border:1px solid transparent;
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease, border-color .25s ease;
}
.promise:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 28px rgba(0,0,0,0.14);
  background:var(--line);
  border-color:var(--gold);
}
.promise .ic{
  display:inline-flex; align-items:center; justify-content:center;
  width:46px; height:46px; border-radius:50%;
  background:var(--green-d); color:var(--gold-l);
  font-family:'Fraunces'; font-style:italic; font-weight:500;
  font-size:20px; letter-spacing:-.02em;
  margin-bottom:18px;
}
.promise h3{ font-family:var(--slab); font-weight:800; font-size:19px; line-height:1.18; margin:0 0 8px; color:var(--green-d); }
.promise h3 em{ font-family:'Fraunces'; font-style:italic; color:var(--green); font-weight:500; }
.promise p{ font-family:'Lora'; font-style:italic; font-size:14px; line-height:1.55; color:var(--ink-2); margin:0; }
/* LINDSEY'S PITCH — quote */
.sponsor-pitch{ background:var(--paper); padding:clamp(72px,9vw,120px) var(--gutter); }
.sponsor-pitch .container{ max-width:880px; margin:0 auto; text-align:center; }
.sponsor-pitch .eyebrow{ display:inline-flex; }
.sponsor-pitch blockquote{
  font-family:'Fraunces'; font-style:italic; font-weight:500;
  font-size:clamp(26px,3vw,38px); line-height:1.28; letter-spacing:-.01em;
  color:var(--green-d);
  margin:0 auto 24px; padding:0; border:0; max-width:32ch;
}
.sponsor-pitch blockquote em{ color:var(--gold-d); }
.sponsor-pitch .who{
  font-family:'Inter'; font-weight:700; font-size:11px;
  letter-spacing:.22em; text-transform:uppercase; color:var(--gold-d);
}
.sponsor-pitch .who small{ display:block; font-family:'Lora'; font-style:italic; font-weight:400; font-size:13px; letter-spacing:0; text-transform:none; color:#8a8470; margin-top:6px; }
.sponsor-pitch .attribution{
  font-family:'Inter'; font-weight:700; font-size:11px;
  letter-spacing:.22em; text-transform:uppercase; color:var(--gold-d);
  margin-bottom:28px;
}
.sponsor-pitch .actions{ display:flex; justify-content:center; }
/* FAQ */
.sponsor-faq{ background:var(--green-d); padding:clamp(72px,9vw,120px) var(--gutter); color:var(--paper-w); }
.sponsor-faq .container{ max-width:820px; margin:0 auto; }
.sponsor-faq .heading{ text-align:center; margin:0 0 40px; }
.sponsor-faq .heading h2{ text-align:center; margin:0 auto; max-width:22ch; color:var(--paper-w); }
.sponsor-faq .heading h2 .accent{ color:var(--gold-l); }
.faq-list{ display:flex; flex-direction:column; gap:12px; }
.faq-item{
  background:var(--paper-3); border-radius:18px;
  padding:0; overflow:hidden;
  border:1px solid transparent;
  box-shadow:0 4px 14px rgba(0,0,0,.18);
  transition:background .25s ease, border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
.faq-item:hover{
  background:var(--paper-2);
  border-color:var(--gold);
  box-shadow:0 8px 22px rgba(0,0,0,.22);
  transform:translateY(-1px);
}
.faq-item[open]{
  background:var(--paper-2);
  border-color:var(--gold);
  box-shadow:0 10px 26px rgba(0,0,0,.24);
  transform:none;
}
.faq-item:hover summary .tg{ background:var(--gold); color:var(--green-d); }
.faq-item summary{
  list-style:none; cursor:pointer;
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  padding:22px 28px;
  font-family:var(--slab); font-weight:700; font-size:18px; line-height:1.3;
  color:var(--green-d);
}
.faq-item summary::-webkit-details-marker{ display:none; }
.faq-item summary .tg{
  flex-shrink:0; width:34px; height:34px; border-radius:50%;
  background:var(--green-d); color:var(--gold-l);
  display:flex; align-items:center; justify-content:center;
  font-family:'Fraunces'; font-style:italic; font-weight:500; font-size:22px; line-height:1;
  transition:background .25s ease, color .25s ease, transform .3s ease;
}
.faq-item[open] summary .tg{ background:var(--yellow); color:var(--green-d); transform:rotate(45deg); box-shadow:0 3px 10px rgba(237,202,102,.45); }
.faq-item .a{ padding:0 28px 22px; font-family:var(--slab); font-weight:500; font-size:15.5px; line-height:1.65; color:var(--ink-2); }
.faq-item .a p{ margin:0 0 12px; }
.faq-item .a p:last-child{ margin:0; }
.faq-item .a em{ font-family:'Fraunces'; font-style:italic; color:var(--gold-d); font-weight:500; }
/* Cross-sell to give monthly */
.cross-sell{ background:var(--paper); padding:clamp(60px,7vw,90px) var(--gutter); }
.cross-sell .container{ max-width:var(--maxw); margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:36px; align-items:center; }
.cross-sell .photo{ aspect-ratio:5/4; border-radius:14px; background-size:cover; background-position:center; box-shadow:0 10px 30px rgba(30,58,42,.22); }
.cross-sell .body .eyebrow{ display:inline-flex; color:var(--green-d); }
.cross-sell .body .eyebrow::before{ background:var(--green-d); }
.cross-sell .body h2{ margin:0 0 14px; text-wrap:balance; }
.cross-sell .body h2 .accent{ color:var(--green); display:inline-block; }
.cross-sell .body p{ font-family:var(--slab); font-weight:500; font-size:16.5px; line-height:1.6; color:var(--green-d); margin:0 0 22px; max-width:42ch; }
.cross-sell .body p em{ font-family:'Fraunces'; font-style:italic; color:var(--gold-d); font-weight:500; }
/* Trust */
.trust{ background:var(--gold); padding:22px var(--gutter); font-family:var(--slab); font-weight:500; font-size:14.5px; color:var(--green-d); }
.trust .container{ max-width:var(--maxw); margin:0 auto; display:flex; align-items:center; justify-content:center; gap:18px; flex-wrap:wrap; }
.trust svg{ width:22px; height:22px; opacity:.9; color:var(--green-d); flex-shrink:0; }
.trust .sep{ width:6px; height:6px; border-radius:50%; background:var(--green-d); opacity:.45; display:inline-block; }
.trust strong{ font-weight:700; }
@media (max-width:1100px){
  .cost-grid{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:980px){
  .cost-grid, .promises{ grid-template-columns:repeat(2,1fr); }
  .dogs-grid{ grid-template-columns:1fr 1fr; }
  .cross-sell .container{ grid-template-columns:1fr; gap:24px; }
  .nav-links{ display:none; }
  .sponsor-hero{ min-height:0; padding:48px var(--gutter); }
  .sponsor-hero h1{ font-size:clamp(32px,8vw,46px); }
  .coffee-band{ flex-direction:column; text-align:center; gap:14px; }
}
@media (max-width:600px){
  .cost-grid, .promises, .dogs-grid{ grid-template-columns:1fr; }
}

/* Live markup uses <div class="X-hero-bg"><img></div> instead of CSS bg.
   These rules size the image to fill the hero. */
.sponsor-hero-bg{ position:absolute; inset:0; z-index:-2; }
.sponsor-hero-bg img{ width:100%; height:100%; object-fit:cover; object-position:center 30%; display:block; }

/* Mobile readability — bump small type to >=13px and tap targets on the
   sponsor-page sections only. Desktop sizes preserved above. */
@media (max-width:640px){
  /* Eyebrows / attribution — were 11-12px, bump for readability */
  .eyebrow{ font-size:13px; }
  .sponsor-hero .attrib{ font-size:13px; }
  /* Cost card body copy / per-label — were 13.5px / 14px */
  .cost-card p{ font-size:14px; }
  .cost-card .amount .per{ font-size:14px; }
  /* Sponsor dog card chips and meet pill — were 10-12px */
  .sponsor-dog .tag{ font-size:12px; padding:8px 14px; }
  .sponsor-dog .meta{ font-size:13px; }
  .sponsor-dog .meet{
    font-size:13px;
    padding:12px 18px;
    min-height:44px;
    box-sizing:border-box;
  }
  /* Sponsor dog card itself should give a comfortable tap target */
  .sponsor-dog{ min-height:44px; }
  /* Pitch attribution / who labels — were 11px */
  .sponsor-pitch .who,
  .sponsor-pitch .attribution{ font-size:13px; }
  /* Coffee-band attribution — was 10.5px */
  .coffee-band .attribution{ font-size:12px; }
  /* Promise card body — was 14px, fine; promise heading already 19px */
  .promise p{ font-size:14px; }
  /* Trust band copy — was 14.5px, fine */
}



/* === PA hero mobile restructure (auto, 2026-05-31) === prefix:sponsor */
@media (max-width:980px){
  .sponsor-hero{
    display:flex; flex-direction:column;
    min-height:0 !important; height:auto !important;
    padding:0 !important; background:var(--paper);
    position:relative; overflow:hidden; align-items:stretch !important;
  }
  .sponsor-hero-bg{
    position:relative !important; inset:auto !important; z-index:auto !important;
    width:100%; aspect-ratio:4/3; height:auto !important; order:1; flex:0 0 auto;
  }
  .sponsor-hero-bg img{
    position:absolute !important; inset:0 !important;
    width:100%; height:100% !important; object-fit:cover; object-position:center 30%;
  }
  .sponsor-hero > .container,
  .sponsor-hero > .sponsor-hero-content,
  .sponsor-hero .sponsor-hero-content{
    position:static !important; inset:auto !important;
    padding:0 !important; max-width:100%; width:100%; margin:0;
    background:var(--paper); color:var(--ink);
    order:2; flex:1 1 auto; min-height:0 !important; display:block !important;
  }
  .sponsor-hero-eyebrow, .sponsor-hero .eyebrow{ display:none !important; }
  .sponsor-hero h1{
    position:absolute !important; top:37.5vw; left:0; right:0; transform:translateY(-50%);
    margin:0 !important; padding:0 24px; max-width:none; text-align:center; color:var(--paper-w);
    font-size:clamp(26px,7vw,38px); line-height:1.1;
    text-shadow:0 2px 14px rgba(0,0,0,.6), 0 1px 4px rgba(0,0,0,.5); z-index:3;
  }
  .sponsor-hero h1 .accent, .sponsor-hero h1 span{ color:var(--gold-l); }
  .sponsor-hero .lede, .sponsor-hero p.sub{
    margin:0 !important; padding:22px 22px 8px; max-width:none;
    background:var(--paper); color:#4a4a3d; font-size:14.5px; line-height:1.5; text-align:center;
  }
  .sponsor-hero .lede strong{ color:var(--ink); }
  .sponsor-hero .hero-actions, .sponsor-hero .actions, .sponsor-hero .sponsor-hero-actions{
    margin:0 !important; padding:0 22px 24px; background:var(--paper);
    display:flex; flex-direction:row; flex-wrap:wrap; gap:10px;
    align-items:center; justify-content:center; width:100%;
  }
  .sponsor-hero .btn-light{ background:transparent; border:1.5px solid var(--green-d); color:var(--green-d); }
  .sponsor-hero .btn-light:hover{ background:var(--green-d); color:var(--paper-w); }
  .sponsor-hero .hero-meta, .sponsor-hero .meta, .sponsor-hero .sponsor-hero-meta{
    position:absolute; top:calc(75vw - 34px); left:50%; right:auto; bottom:auto; transform:translateX(-50%);
    margin:0 !important; padding:5px 14px; background:rgba(0,0,0,.34);
    backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); border-radius:999px;
    font-family:'Lora',Georgia,serif; font-style:italic; font-size:11px;
    color:rgba(251,246,231,.92); z-index:3; display:inline-flex; gap:5px; white-space:nowrap;
  }
  .sponsor-hero .who{ color:var(--gold-l); font-weight:600; }
}

/* === PA hero mobile contrast/meta fix (auto, 2026-05-31b) === prefix:sponsor */
@media (max-width:980px){
  .sponsor-hero .lede, .sponsor-hero p.lede,
  .sponsor-hero p.sub, .sponsor-hero .sub,
  .sponsor-hero blockquote, .sponsor-hero .quote{ color:#4a4a3d !important; }
  .sponsor-hero .lede strong, .sponsor-hero p.lede strong{ color:var(--ink) !important; }
  .sponsor-hero .attrib, .sponsor-hero .attribution,
  .sponsor-hero .credit, .sponsor-hero .source{ color:var(--gold-d) !important; }
  .sponsor-hero .hero-meta, .sponsor-hero .meta, .sponsor-hero .sponsor-hero-meta{ display:none !important; }
}


/* ============================================================
   RESTORED 2026-06-03: .single-sponsor-* per-dog detail page styles.
   These were dropped by the sponsor.css listing redesign, which left
   every /sponsor/<dog>/ page unstyled (name/meta rendered raw red-on-red,
   layout collapsed). All selectors are namespaced under .single-sponsor-,
   so they do not touch the new listing design. Lifted from git HEAD.
   ============================================================ */
.single-sponsor-wrap { background:var(--paper); color:var(--ink) }

.single-sponsor-back-strip {
  max-width:var(--maxw); margin:0 auto;
  padding:clamp(20px,3vw,32px) var(--gutter) 0;
}
.single-sponsor-back {
  display:inline-flex; align-items:center; gap:8px;
  font:700 12px/1 var(--sans); letter-spacing:0.18em; text-transform:uppercase;
  color:var(--green); text-decoration:none;
  padding:10px 16px; border-radius:999px;
  background:var(--paper-2); border:1px solid var(--line-soft);
  transition:all .2s ease;
}
.single-sponsor-back:hover { background:var(--paper-w); border-color:var(--gold); color:var(--gold-d); transform:translateX(-3px) }
.single-sponsor-back svg { display:block }

/* Hero: 2-col photo + meta */
.single-sponsor-hero {
  max-width:var(--maxw); margin:0 auto;
  padding:clamp(28px,4vw,56px) var(--gutter) clamp(40px,6vw,80px);
}
.single-sponsor-hero-grid {
  display:grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
  gap:clamp(28px,4vw,64px);
  align-items:start;
}
@media (max-width: 880px) {
  .single-sponsor-hero-grid { grid-template-columns: 1fr; gap:32px }
}

/* 50/50 split: dog photo + live Zeffy embed side by side */
.single-sponsor-split {
  display:grid; grid-template-columns: 1fr 1fr;
  gap:clamp(20px,3vw,40px); align-items:stretch;
  grid-auto-rows: clamp(480px,62vh,620px);
  max-width:var(--maxw); margin:0 auto;
}
.single-sponsor-split.is-solo { grid-template-columns: minmax(0,560px); justify-content:center }
.single-sponsor-split .single-sponsor-photo { aspect-ratio:auto; height:100%; min-height:0 }
@media (max-width: 880px) {
  .single-sponsor-split { grid-template-columns: 1fr; grid-auto-rows:auto; gap:28px }
  .single-sponsor-split .single-sponsor-photo { aspect-ratio:4/5; height:auto; min-height:0 }
  .single-sponsor-embed-iframe { min-height:640px !important; flex:none }
}

.single-sponsor-photo {
  position:relative; border-radius:var(--r-lg); overflow:hidden;
  background:var(--paper-3); aspect-ratio:4/5;
  box-shadow:var(--shadow-warm);
}
.single-sponsor-photo img { width:100%; height:100%; object-fit:cover; display:block }
.single-sponsor-photo .tag {
  position:absolute; top:16px; left:16px;
  padding:8px 14px; background:rgba(31,43,29,0.88); backdrop-filter:blur(8px);
  color:#fbf6e7; font:700 11px/1 var(--sans);
  letter-spacing:0.20em; text-transform:uppercase;
  border-radius:999px; border:1px solid rgba(232,176,74,0.30);
}

.single-sponsor-head { max-width:920px; margin:0 0 clamp(28px,4vw,48px) }
.single-sponsor-eyebrow {
  display:inline-block; padding:8px 14px;
  font:700 11px/1 var(--sans); letter-spacing:0.22em; text-transform:uppercase;
  color:var(--gold-d); background:rgba(232,176,74,0.12);
  border-radius:999px; margin-bottom:20px;
}
.single-sponsor-head h1 {
  font-family:var(--slab); font-weight:800;
  font-size:clamp(48px, 6.5vw, 88px); line-height:0.98; letter-spacing:-0.025em;
  margin:0 0 22px; color:var(--green-d); text-wrap:balance;
}
.single-sponsor-stats {
  list-style:none; padding:0; margin:0 0 26px;
  display:flex; flex-wrap:wrap; gap:8px;
}
.single-sponsor-stats li {
  font:600 12px/1 var(--sans); letter-spacing:0.14em; text-transform:uppercase;
  color:var(--ink-2); background:var(--paper-2);
  padding:8px 12px; border-radius:999px;
  border:1px solid var(--line-soft);
}
.single-sponsor-lede {
  font-family:var(--serif-body); font-size:clamp(17px,1.5vw,20px); line-height:1.65;
  color:var(--ink); margin:0 0 32px; max-width:54ch;
}

/* Tier block inside hero */
.single-sponsor-tiers {
  padding:24px; max-width:560px; background:var(--paper-w); border-radius:var(--r-md);
  border:1px solid var(--line-soft); box-shadow:var(--shadow);
}
.single-sponsor-tiers-label {
  display:block; font:600 11px/1 var(--sans); letter-spacing:0.22em; text-transform:uppercase;
  color:var(--muted); margin-bottom:14px;
}
.single-sponsor-tiers .tier-row {
  display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:14px;
}
.single-sponsor-tiers .tier-btn {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:14px 8px; background:var(--paper-2);
  border:1px solid var(--line); border-radius:var(--r-sm);
  color:var(--green-d); text-decoration:none;
  transition:all .2s ease;
}
.single-sponsor-tiers .tier-btn .amt {
  font-family:var(--slab); font-weight:800; font-size:clamp(20px,2.2vw,26px); line-height:1;
}
.single-sponsor-tiers .tier-btn .per {
  font:600 10px/1 var(--sans); letter-spacing:0.12em; text-transform:uppercase;
  color:var(--muted); margin-top:5px;
}
.single-sponsor-tiers .tier-btn:hover {
  border-color:var(--gold); background:var(--paper-w); transform:translateY(-2px);
  box-shadow:0 4px 14px rgba(232,176,74,0.18);
}
.single-sponsor-tiers .tier-btn.recommended {
  border-color:var(--gold); background:linear-gradient(180deg, var(--paper-w) 0%, rgba(244,211,94,0.10) 100%);
}
.single-sponsor-tiers .tier-btn.recommended .amt { color:var(--gold-d) }
.single-sponsor-tiers-foot {
  display:block; font:500 12px/1.5 var(--sans); color:var(--muted); text-align:center;
}

/* Donation embed section */
.single-sponsor-embed {
  display:flex; flex-direction:column; min-width:0;
}
.single-sponsor-embed .container {
  max-width:none; margin:0; height:100%;
  display:flex; flex-direction:column;
  background:var(--paper-w); border-radius:var(--r-lg);
  overflow:hidden; box-shadow:var(--shadow-warm);
  border:1px solid var(--line-soft);
}
.single-sponsor-embed-head {
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 24px; background:var(--green-d); color:var(--paper-w);
}
.single-sponsor-embed-head .lock {
  display:inline-flex; align-items:center; gap:8px;
  font:700 12px/1 var(--sans); letter-spacing:0.14em; text-transform:uppercase;
}
.single-sponsor-embed-head .fees {
  padding:5px 11px; background:var(--gold); color:var(--green-d);
  border-radius:999px; font:800 10px/1 var(--sans); letter-spacing:0.18em; text-transform:uppercase;
}
.single-sponsor-embed-iframe {
  width:100%; border:0; min-height:0; height:100%; flex:1 1 auto; display:block;
  background:var(--paper-w);
}
.single-sponsor-embed-foot {
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px;
  padding:16px 24px; background:var(--paper-2);
  font:500 12px/1.4 var(--sans); color:var(--muted);
  border-top:1px solid var(--line-soft);
}
.single-sponsor-embed-foot .open-direct { color:var(--gold-d); text-decoration:none; font-weight:700 }
.single-sponsor-embed-foot .open-direct:hover { text-decoration:underline }

/* Scattered gallery */
.single-sponsor-gallery {
  padding:clamp(60px,8vw,100px) var(--gutter);
  background:var(--paper);
}
.single-sponsor-gallery-head { text-align:center; margin-bottom:42px }
.single-sponsor-gallery-head .eyebrow {
  font:700 11px/1 var(--sans); letter-spacing:0.24em; text-transform:uppercase;
  color:var(--muted);
}
.single-sponsor-gallery-head .name {
  font-family:var(--serif-accent); font-style:italic; font-weight:700;
  font-variation-settings:'opsz' 144,'SOFT' 100;
  color:var(--gold-d); letter-spacing:0; text-transform:none;
  font-size:18px;
}
.single-sponsor-gallery-grid {
  max-width:1080px; margin:0 auto;
  columns: 3 260px; column-gap:clamp(12px,1.6vw,20px);
}
.single-sponsor-gallery-grid .gallery-photo {
  display:block; width:100%; padding:0; border:0;
  margin:0 0 clamp(12px,1.6vw,20px);
  background:var(--paper-3); border-radius:var(--r-md);
  overflow:hidden; box-shadow:var(--shadow); cursor:zoom-in;
  break-inside:avoid; -webkit-column-break-inside:avoid;
  transition:transform .25s ease, box-shadow .25s ease;
}
.single-sponsor-gallery-grid .gallery-photo:hover { transform:translateY(-3px); box-shadow:var(--shadow-warm) }
.single-sponsor-gallery-grid .gallery-photo img { width:100%; height:auto; display:block }
@media (max-width: 720px) {
  .single-sponsor-gallery-grid { columns: 2 160px }
}

/* Lightbox (gallery full-size viewer) */
.pa-lightbox {
  position:fixed; inset:0; z-index:99999;
  background:rgba(10,20,8,0.92); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px);
  display:flex; align-items:center; justify-content:center; padding:24px; cursor:zoom-out;
}
.pa-lightbox img {
  max-width:min(1100px,94vw); max-height:90vh; width:auto; height:auto;
  border-radius:var(--r-md); box-shadow:0 20px 60px rgba(0,0,0,0.55); cursor:default;
}
.pa-lightbox-close {
  position:absolute; top:18px; right:22px; width:46px; height:46px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,0.14); border:0; border-radius:50%;
  color:#fff; font-size:30px; line-height:1; cursor:pointer; transition:background .2s ease;
}
.pa-lightbox-close:hover { background:rgba(255,255,255,0.26) }

/* Promises section */
.single-sponsor-promises {
  padding:clamp(60px,8vw,100px) var(--gutter);
  background:var(--green-d); color:var(--paper-w);
}
.single-sponsor-promises .container { max-width:1140px; margin:0 auto }
.single-sponsor-promises .eyebrow {
  display:block; text-align:center; margin-bottom:36px;
  font:700 11px/1 var(--sans); letter-spacing:0.28em; text-transform:uppercase;
  color:var(--gold-l);
}
.single-sponsor-promises .promises-grid {
  display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(20px,2vw,32px);
}
@media (max-width: 880px) {
  .single-sponsor-promises .promises-grid { grid-template-columns:1fr }
}
.single-sponsor-promises .promise-card {
  padding:30px; background:rgba(251,246,231,0.05); border-radius:var(--r-md);
  border:1px solid rgba(232,176,74,0.18);
}
.single-sponsor-promises .promise-card .num {
  display:block; font-family:var(--slab); font-weight:800; font-size:28px;
  color:var(--gold); margin-bottom:10px;
}
.single-sponsor-promises .promise-card h3 {
  font-family:var(--slab); font-weight:800; font-size:20px;
  margin:0 0 10px; color:var(--paper-w); letter-spacing:-0.01em;
}
.single-sponsor-promises .promise-card p {
  font-family:var(--serif-body); font-size:15px; line-height:1.55;
  color:rgba(251,246,231,0.82); margin:0;
}

/* Bridge to /sponsor/ */
.single-sponsor-bridge {
  padding:clamp(60px,8vw,100px) var(--gutter);
  background:var(--paper); text-align:center;
}
.single-sponsor-bridge .container { max-width:760px; margin:0 auto }
.single-sponsor-bridge .eyebrow {
  display:block; margin-bottom:14px;
  font:700 11px/1 var(--sans); letter-spacing:0.24em; text-transform:uppercase;
  color:var(--muted);
}
.single-sponsor-bridge h2 {
  font-family:var(--slab); font-weight:800; font-size:clamp(32px,4vw,52px);
  line-height:1.1; letter-spacing:-0.02em; margin:0 0 32px;
  color:var(--green-d); text-wrap:balance;
}
.single-sponsor-bridge h2 span {
  font-family:var(--serif-accent); font-style:italic; font-weight:500;
  font-variation-settings:'opsz' 144,'SOFT' 100;
  color:var(--gold-d);
}
.single-sponsor-bridge-actions {
  display:inline-flex; gap:14px; flex-wrap:wrap; justify-content:center;
}
/* Launch-day fix (v0.7.23): the heading intro paragraph sat in default ink
   on the dark green band (contrast 1.06 — invisible). Match .lede. */
.sponsor-dogs .heading p{ color:rgba(251,246,231,.84); }
