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

*{ box-sizing:border-box; }
/* ===== Page chrome — minimal nav so the page looks framed ===== */
/* ===== Eyebrow + heading pattern ===== */
.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); }
.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; }
/* ===== HERO ===== */
.adopt-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);
}
.adopt-hero::before{
  content:""; position:absolute; inset:0; z-index:-2;
  
}
.adopt-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%);
}
.adopt-hero .container{ max-width:var(--maxw); margin:0 auto; width:100%; }
.adopt-hero .eyebrow{ color:var(--gold-l); }
.adopt-hero .eyebrow::before{ background:var(--gold); }
.adopt-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:11ch;
}
.adopt-hero h1 .accent{ font-family:'Fraunces'; font-style:italic; font-weight:500; color:var(--gold-l); }
.adopt-hero .lede{ color:rgba(251,246,231,.92); max-width:54ch; margin:0 0 28px; }
.hero-actions{ display:flex; gap:12px; flex-wrap:wrap; }
.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, box-shadow .2s 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; color:var(--paper-w); border:1.5px solid var(--paper-w); }
.btn-light:hover{ background:var(--paper-w); color:var(--green-d); }
.btn svg{ width:14px; height:14px; }
/* ===== HERO meta line ===== */
.adopt-hero-meta{
  margin-top:36px; display:flex; gap:8px; flex-wrap:wrap;
  font-family:'Inter'; font-size:12px; letter-spacing:.14em;
  text-transform:uppercase; color:rgba(251,246,231,.78); font-weight:600;
}
.adopt-hero-meta .who{ color:var(--gold-l); font-weight:700; }
/* ===== MEANS (intro body) ===== */
.adopt-means{ background:var(--paper); padding:clamp(72px,9vw,120px) var(--gutter); }
.adopt-means .container{
  max-width:var(--maxw); margin:0 auto;
  display:grid; grid-template-columns:1.6fr 1fr;
  gap:clamp(32px,4vw,64px); align-items:start;
  text-align:left;
}
.adopt-means .means-text{ max-width:none; }
.adopt-means h2{ text-align:left; max-width:18ch; margin:0 0 24px; }
.adopt-means h2 .accent{ color:var(--green); }
.adopt-means .body{
  font-family:var(--slab); font-weight:500;
  font-size:clamp(17px,1.6vw,21px); line-height:1.65; color:var(--ink-2);
  margin:0; max-width:none;
}
.adopt-means .body p{ margin:0 0 18px; }
.adopt-means .body p:last-child{ margin:0; }
.adopt-means .body em{ font-family:'Fraunces'; font-style:italic; color:var(--gold-d); font-weight:500; }
.story-video{
  max-width:720px; margin:36px auto 0;
  border-radius:22px; overflow:hidden;
  background:var(--paper-3);
  box-shadow:0 14px 38px rgba(40,40,30,.18);
  border:1px solid rgba(184,133,47,.20);
}
.adopt-means .story-video{ margin:0; max-width:380px; }
.story-video video{ display:block; width:100%; height:auto; background:var(--green-d); }
.story-video figcaption{
  padding:14px 22px; text-align:left;
  font-family:'Lora', Georgia, serif; font-style:italic;
  font-size:14px; line-height:1.5; color:var(--ink-2);
  background:var(--paper-3);
  border-top:1px solid rgba(184,133,47,.18);
}
.story-video figcaption strong{
  display:block; margin-bottom:2px;
  font-family:var(--slab); font-style:normal; font-weight:700;
  font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-d);
}
/* ===== TRUST blockquote ===== */
.adopt-trust{ background:var(--green-d); color:var(--paper-w); padding:clamp(60px,7vw,96px) var(--gutter); }
.adopt-trust .container{ max-width:780px; margin:0 auto; text-align:center; }
.adopt-trust .eyebrow{ display:inline-flex; color:var(--gold-l); }
.adopt-trust .eyebrow::before{ background:var(--gold); }
.adopt-trust blockquote{
  font-family:'Fraunces', Georgia, serif; font-weight:400;
  font-size:clamp(20px,2.1vw,28px); line-height:1.45;
  margin:14px 0 22px; color:var(--paper-w);
}
.adopt-trust blockquote em{ font-style:italic; color:var(--gold-l); font-weight:500; }
.adopt-trust .attribution{
  font-family:'Inter'; font-weight:600; font-size:12px;
  letter-spacing:.14em; text-transform:uppercase; color:rgba(251,246,231,.72);
}
/* ===== PROCESS (4 steps) ===== */
.adopt-process{ background:var(--paper-2); padding:clamp(72px,9vw,120px) var(--gutter); position:relative; }
.adopt-process .container{ max-width:var(--maxw); margin:0 auto; }
.adopt-process .heading{ text-align:center; margin:0 0 48px; }
.adopt-process .heading .eyebrow{ display:inline-flex; }
.adopt-process .heading h2{ text-align:center; margin:0 auto; max-width:16ch; }
.adopt-process .heading h2 .accent{ color:var(--green); }
.steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(20px,2vw,28px); }
.step{
  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;
}
.step:hover{
  transform:translateY(-3px);
  box-shadow:0 14px 28px rgba(0,0,0,0.14);
  background:var(--line);
  border-color:var(--gold);
}
.step .num{
  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;
}
.step h3{
  font-family:var(--slab); font-weight:800;
  font-size:22px; line-height:1.16; letter-spacing:-.015em;
  margin:0 0 8px; color:var(--green-d);
}
.step h3 em{ font-family:'Fraunces'; font-style:italic; color:var(--green); font-weight:500; }
.step .timing{
  display:inline-block;
  font:600 11px/1 'Inter', var(--sans);
  letter-spacing:.16em; text-transform:uppercase;
  color:var(--gold-d); margin:0 0 12px;
}
.step p{
  font-family:'Lora', Georgia, serif;
  font-size:14px; line-height:1.55;
  color:var(--ink-2); margin:0;
}
/* ===== WHERE (region cards) ===== */
.adopt-where{ background:var(--paper); padding:clamp(72px,9vw,120px) var(--gutter); }
.adopt-where .container{ max-width:var(--maxw); margin:0 auto; }
.adopt-where .heading{ text-align:center; margin:0 0 48px; }
.adopt-where .heading .eyebrow{ display:inline-flex; }
.adopt-where .heading h2{ text-align:center; margin:0 auto; max-width:18ch; }
.adopt-where .heading h2 .accent{ color:var(--gold-d); }
.adopt-where .heading > p{
  font-family:var(--slab); font-weight:500; font-size:16.5px; line-height:1.6;
  color:var(--ink-2); margin:18px auto 0; max-width:60ch;
}
.where-card .pin{ display:inline-block; }
.regions{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.region-card{
  position:relative; display:block;
  aspect-ratio:5/4; border-radius:14px; overflow:hidden;
  text-decoration:none; color:inherit;
  isolation:isolate;
  box-shadow:0 6px 22px rgba(40,40,30,.14);
  transition:transform .25s ease, box-shadow .25s ease;
}
.region-card:hover{ transform:translateY(-3px); box-shadow:0 18px 38px rgba(40,40,30,.22); }
.region-card .img{ position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .55s ease; z-index:0; }
.region-card:hover .img{ transform:scale(1.04); }
.region-card .band{
  position:absolute; left:0; right:0; bottom:0; z-index:1;
  padding:74px 24px 22px;
  background:linear-gradient(180deg, rgba(30,58,42,0) 0%, rgba(30,58,42,.45) 30%, rgba(30,58,42,.92) 65%, var(--green-d) 82%, var(--green-d) 100%);
  color:var(--paper-w);
}
.region-card .num{ font-family:'Inter'; font-size:10.5px; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-l); font-weight:700; margin-bottom:8px; }
.region-card h3{ font-family:'Fraunces'; font-weight:600; font-size:26px; line-height:1.08; margin:0 0 8px; }
.region-card h3 em{ font-style:italic; color:var(--gold-l); font-weight:500; }
.region-card p{ font-family:'Lora'; font-style:italic; font-size:13px; line-height:1.5; margin:0; color:rgba(251,246,231,.92); }
.region-card .ar{
  position:absolute; right:18px; bottom:18px;
  width:36px; height:36px; border-radius:50%;
  background:var(--yellow); color:var(--green-d);
  display:inline-flex; align-items:center; justify-content:center;
  font-weight:700; font-size:16px;
  box-shadow:0 4px 12px rgba(30,58,42,.30);
}
.region-card:hover .ar{ background:var(--gold); transform:translateX(2px); }
/* ===== DONATION explainer ===== */
.adopt-cost{ background:var(--paper); padding:clamp(72px,9vw,120px) var(--gutter); }
.adopt-cost .container{ max-width:var(--maxw); margin:0 auto; display:grid; grid-template-columns:1fr 1.2fr; gap:48px; align-items:center; }
.adopt-cost h2 .accent{ color:var(--gold-d); }
.adopt-cost .intro{ font-family:var(--slab); font-weight:500; font-size:17px; line-height:1.6; color:var(--ink-2); margin:16px 0 0; max-width:42ch; }
.fee-block{
  background:var(--paper-3); border-radius:14px;
  padding:36px 32px 32px;
  border:1px solid rgba(184,133,47,.22);
  box-shadow:0 4px 16px rgba(40,40,30,.08);
}
.fee-amount{
  font-family:'Fraunces'; font-style:italic; font-weight:500;
  font-size:clamp(46px,6vw,76px); line-height:1; letter-spacing:-.02em;
  color:var(--gold-d); margin:0 0 22px;
  position:relative; padding-bottom:18px;
}
.fee-amount::after{
  content:""; position:absolute; left:0; bottom:0;
  width:64px; height:3px; background:var(--gold);
  border-radius:2px;
}
.fee-block h3{
  font-family:'Inter'; font-weight:700; font-size:11px;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--green-d); margin:0 0 14px;
}
.fee-block ul{ list-style:none; padding:0; margin:0 0 16px; display:flex; flex-direction:column; gap:9px; }
.fee-block li{ display:flex; gap:12px; font-family:var(--slab); font-size:15px; line-height:1.45; color:var(--ink-2); }
.fee-block li::before{ content:""; width:6px; height:6px; border-radius:50%; background:var(--green); flex-shrink:0; margin-top:9px; }
.fee-block .note{ font-family:'Lora'; font-style:italic; font-size:13px; line-height:1.5; color:#8a8470; margin:0; }
.fee-block .note em{ font-family:'Fraunces'; font-style:italic; color:var(--gold-d); font-weight:500; }
.fee-block .pending{
  display:block; margin-top:8px;
  font-family:'Inter'; font-size:10px; font-weight:700;
  letter-spacing:.16em; text-transform:uppercase; color:#8a8470;
}
.fee-block .fee-text strong{
  display:block; font-family:'Inter'; font-weight:700; font-size:11px;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--green-d); margin:0 0 14px;
}
.fee-pending-wrap{ text-align:center; margin-top:28px; }
.fee-pending-flag{
  display:inline-block; padding:8px 14px; border-radius:999px;
  background:rgba(228,178,91,.18); color:var(--gold-d);
  font-family:'Inter'; font-weight:700; font-size:11px;
  letter-spacing:.14em; text-transform:uppercase;
}
/* ===== BRIDGE (foster cross-sell) ===== */
.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 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; }
.adopt-bridge{ background:var(--green-mist); padding:clamp(60px,7vw,90px) var(--gutter); }
.adopt-bridge .container{ max-width:780px; margin:0 auto; text-align:center; }
.adopt-bridge h2{ text-align:center; margin:0 auto 18px; max-width:20ch; }
.adopt-bridge h2 .accent{ color:var(--green); }
.adopt-bridge > .container > p{
  font-family:var(--slab); font-weight:500; font-size:17px; line-height:1.6;
  color:var(--green-d); margin:0 auto 26px; max-width:46ch;
}
.adopt-bridge-actions{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.btn-secondary{
  display:inline-flex; align-items:center; gap:8px;
  padding:14px 22px; border-radius:999px;
  background:transparent; color:var(--green-d);
  border:1.5px solid var(--green-d);
  font-family:'Inter'; font-weight:700; font-size:13.5px; letter-spacing:.06em;
  text-decoration:none;
  transition:background .2s ease, color .2s ease;
}
.btn-secondary:hover{ background:var(--green-d); color:var(--paper-w); }
.btn-secondary svg{ width:14px; height:14px; }
/* ===== Checkbox group (GDPR contact opt-in) ===== */
.pa-checkgroup{ display:flex; flex-direction:column; gap:8px; padding:14px 0 0; }
.pa-checkgroup .legend{
  font-family:'Inter'; font-weight:600; font-size:11px;
  letter-spacing:.10em; text-transform:uppercase; color:var(--green-d);
  margin-bottom:6px;
}
.pa-checkgroup label{
  flex-direction:row; align-items:center; gap:10px;
  font-family:var(--slab); font-weight:500; font-size:14.5px;
  letter-spacing:0; text-transform:none; color:var(--ink);
}
.pa-checkgroup input[type="checkbox"]{ accent-color:var(--gold-d); }
/* ===== APPLY FORM ===== */
.adopt-apply{ background:var(--paper-2); padding:clamp(72px,9vw,120px) var(--gutter); }
.adopt-apply .container{ max-width:var(--maxw); margin:0 auto; }
.adopt-apply .heading{ text-align:center; margin:0 0 40px; }
.adopt-apply .heading .eyebrow{ display:inline-flex; }
.adopt-apply .heading h2{ text-align:center; margin:0 auto 14px; max-width:22ch; }
.adopt-apply .heading h2 .accent{ color:var(--green); }
.adopt-apply .heading .lede{ margin:0 auto; max-width:50ch; text-align:center; }
.apply-frame{
  background:var(--paper-w); border-radius:18px;
  padding:40px 44px; max-width:780px; margin:0 auto;
  box-shadow:0 10px 30px rgba(40,40,30,.10);
}
.apply-frame .frame-eye{
  display:flex; align-items:center; gap:10px;
  font-family:'Inter'; font-weight:700; font-size:10.5px;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--green); margin-bottom:18px;
}
.apply-frame .frame-eye .dot{ width:8px; height:8px; border-radius:50%; background:var(--green); }
.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-grid .full{ grid-column:1 / -1; }
.form-grid label{ display:flex; flex-direction:column; gap:6px; font-family:'Inter'; font-weight:600; font-size:11px; letter-spacing:.10em; text-transform:uppercase; color:var(--green-d); }
.form-grid input, .form-grid textarea, .form-grid select{
  border:1px solid rgba(42,51,38,.18);
  background:var(--paper); border-radius:10px;
  padding:12px 14px; font-family:var(--slab); font-size:14.5px;
  color:var(--ink);
}
.form-grid textarea{ min-height:120px; resize:vertical; }
.form-grid input:focus, .form-grid textarea:focus, .form-grid select:focus{ outline:0; border-color:var(--gold); background:var(--paper-w); }
.apply-frame .actions{ display:flex; justify-content:center; margin-top:24px; }
.apply-frame .form-note{
  font-family:'Lora', Georgia, serif;
  font-style:italic; font-size:12.5px; line-height:1.5;
  color:#8a8470; margin:16px 0 0; text-align:center;
}
/* Fallback disclosure */
.form-fallback{ max-width:780px; margin:20px auto 0; }
.form-fallback summary{
  list-style:none; cursor:pointer;
  display:inline-flex; align-items:center; gap:8px;
  font-family:'Inter'; font-weight:700; font-size:11px;
  letter-spacing:.14em; text-transform:uppercase;
  color:var(--green-d);
  padding:10px 0; border-bottom:1.5px solid var(--green-d);
  width:auto;
}
.form-fallback summary::-webkit-details-marker{ display:none; }
.form-fallback summary::after{ content:"+"; font-family:'Fraunces'; font-style:italic; font-weight:500; font-size:18px; line-height:1; }
.form-fallback[open] summary::after{ content:"×"; font-style:normal; }
.form-fallback .iframe-wrap{
  margin-top:18px; background:var(--paper-w); border-radius:14px; padding:8px;
  box-shadow:0 4px 16px rgba(40,40,30,.10);
}
.form-fallback .iframe-mock{
  background:#fdfdfb; border:1px solid rgba(42,51,38,.10); border-radius:10px;
  min-height:420px; padding:32px 28px;
  font-family:'Inter', sans-serif; font-size:13px; color:#5a5a4a;
}
.form-fallback .iframe-mock h4{
  font-family:Arial, Helvetica, sans-serif; font-weight:700; font-size:18px;
  margin:0 0 14px; color:#2a3326;
}
.form-fallback .iframe-mock label{ display:block; font-size:12px; font-weight:600; margin:14px 0 4px; color:#5a5a4a; }
.form-fallback .iframe-mock input, .form-fallback .iframe-mock select{
  width:100%; padding:8px 10px;
  border:1px solid #cccccc; border-radius:3px;
  font-family:Arial, sans-serif; font-size:13px;
  background:#fff;
}
.form-fallback .iframe-mock button{
  margin-top:18px; padding:10px 20px;
  background:#4a6b3f; color:#fff;
  border:0; border-radius:4px; cursor:pointer;
  font-family:Arial; font-size:13px; font-weight:600;
}
.form-fallback .iframe-mock .asm-note{
  margin-top:16px; padding-top:14px; border-top:1px solid #e0e0d0;
  font-family:'Lora', Georgia, serif; font-style:italic; font-size:12px; color:#888;
}
/* ===== FAQ ===== */
.adopt-faq{ background:var(--green-d); padding:clamp(72px,9vw,120px) var(--gutter); color:var(--paper-w); }
.adopt-faq .container{ max-width:820px; margin:0 auto; }
.adopt-faq .heading{ text-align:center; margin:0 0 40px; }
.adopt-faq .heading h2{ text-align:center; margin:0 auto; max-width:22ch; color:var(--paper-w); }
.adopt-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; }
/* ===== Trust strip ===== */
.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; }
/* ===== Mobile ===== */
@media (max-width:980px){
  .steps{ grid-template-columns:1fr 1fr; }
  .regions{ grid-template-columns:1fr; }
  .nav-links{ display:none; }
  .adopt-hero{ min-height:0; padding:48px var(--gutter); }
  .adopt-hero h1{ font-size:clamp(32px,8vw,46px); }
  .adopt-cost .container{ grid-template-columns:1fr; gap:28px; }
  .adopt-means .container{ grid-template-columns:1fr; gap:32px; }
  .apply-frame{ padding:28px 22px; }
  .form-grid{ grid-template-columns:1fr; }
  .cross-sell .container{ grid-template-columns:1fr; gap:24px; }
}
@media (max-width:560px){
  .steps{ grid-template-columns:1fr; }
}
/* ===== Mobile readability + tap targets (audit fixes) ===== */
@media (max-width:640px){
  /* Bump text below 13px on small screens so it's readable */
  .region-card .num{ font-size:13px; }
  .region-card p{ font-size:14px; }
  .step .timing{ font-size:13px; }
  .step p{ font-size:14px; }
  .fee-block .pending{ font-size:13px; }
  .fee-pending-flag{ font-size:13px; }
  .apply-frame .frame-eye{ font-size:13px; }
  .apply-frame .form-note{ font-size:13px; }
  .form-fallback summary{ font-size:13px; }
  .form-fallback .iframe-mock label{ font-size:13px; }
  .form-fallback .iframe-mock input,
  .form-fallback .iframe-mock select,
  .form-fallback .iframe-mock button{ font-size:14px; }
  .form-fallback .iframe-mock .asm-note{ font-size:13px; }
  .adopt-hero-meta{ font-size:13px; }
  .step h3{ font-size:20px; }
  .faq-item summary{ font-size:17px; padding:18px 22px; }
  .faq-item .a{ padding:0 22px 18px; }
  /* Tap-target floors on links/buttons rendered in this page */
  .region-card .ar{
    width:44px; height:44px;
    font-size:18px;
    right:14px; bottom:14px;
  }
  .faq-item summary .tg{
    width:44px; height:44px;
    font-size:24px;
  }
  .btn, .btn-secondary{
    min-height:44px;
    padding:12px 22px;
  }
  .form-grid input,
  .form-grid select,
  .form-grid textarea{
    min-height:44px;
    font-size:16px; /* prevent iOS auto-zoom on focus */
  }
  .form-fallback summary{
    min-height:44px;
    padding:14px 0;
  }
  /* Tighten hero padding so it doesn't dominate the viewport */
  .adopt-hero{ min-height:0; padding:40px var(--gutter) 56px; }
  .apply-frame{ padding:24px 18px; }
}
/* ===== M10 — multi-step wizard (mirrors what will ship to global.css) ===== */
/* dense form-grid override for the wizard so longer rows still feel airy */
@media (max-width:680px){
  .pa-wizard-progress ol{ grid-template-columns:repeat(2, 1fr); gap:6px 8px; }
  .pa-wizard-progress li{ font-size:10px; }
}

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



/* === PA hero mobile restructure (auto, 2026-05-31) === prefix:adopt */
@media (max-width:980px){
  .adopt-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;
  }
  .adopt-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;
  }
  .adopt-hero-bg img{
    position:absolute !important; inset:0 !important;
    width:100%; height:100% !important;
    object-fit:cover; object-position:center 30%;
  }
  .adopt-hero > .container,
  .adopt-hero > .adopt-hero-content,
  .adopt-hero .adopt-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;
  }
  .adopt-hero-eyebrow,
  .adopt-hero .eyebrow{ display:none !important; }
  .adopt-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;
  }
  .adopt-hero h1 .accent,
  .adopt-hero h1 span{ color:var(--gold-l); }
  .adopt-hero .lede,
  .adopt-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;
  }
  .adopt-hero .lede strong{ color:var(--ink); }
  .adopt-hero .hero-actions,
  .adopt-hero .actions,
  .adopt-hero .adopt-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%;
  }
  .adopt-hero .btn-light{
    background:transparent;
    border:1.5px solid var(--green-d); color:var(--green-d);
  }
  .adopt-hero .btn-light:hover{ background:var(--green-d); color:var(--paper-w); }
  .adopt-hero .hero-meta,
  .adopt-hero .meta,
  .adopt-hero .adopt-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; text-align:center;
  }
  .adopt-hero .who{ color:var(--gold-l); font-weight:600; }
}


/* === PA hero mobile contrast/meta fix (auto, 2026-05-31b) === prefix:adopt */
@media (max-width:980px){
  /* Lede/quote dark on the cream band (global .X-hero p.lede sets a light
     colour with element-level specificity; override with !important). */
  .adopt-hero .lede, .adopt-hero p.lede,
  .adopt-hero p.sub, .adopt-hero .sub,
  .adopt-hero blockquote, .adopt-hero .quote{ color:#4a4a3d !important; }
  .adopt-hero .lede strong, .adopt-hero p.lede strong{ color:var(--ink) !important; }
  /* Attribution / credit lines readable on cream */
  .adopt-hero .attrib, .adopt-hero .attribution,
  .adopt-hero .credit, .adopt-hero .source{ color:var(--gold-d) !important; }
  /* Hide the decorative caption pill on mobile (overflows on longer metas). */
  .adopt-hero .hero-meta, .adopt-hero .meta, .adopt-hero .adopt-hero-meta{ display:none !important; }
}

/* Tighten the "standard application" ASM iframe fallback (Matt, 3 Jun 2026):
   was a narrow white form floating in a wide grey box with a heavy cream frame.
   Narrow to hug the form, drop the frame padding/shadow, taller iframe. */
.form-fallback{ max-width:760px; margin:20px auto 0; }
.form-fallback .iframe-wrap{ background:#fff !important; padding:0 !important; border:1px solid var(--line, #d8d2c4); border-radius:14px; box-shadow:0 8px 28px rgba(40,40,30,.10); overflow:hidden; margin-top:14px; }
.form-fallback .iframe-wrap iframe{ display:block; width:100%; height:900px; border:0; background:#fff; }
/* Desktop: ASM paints a grey (#aaa) body with the white form at ~68% width,
   centred, so there are grey gutters. Enlarge the iframe and shift it left so
   the overflow:hidden wrap shows only the white form and crops the grey. Below
   560px ASM serves its own full-width, grey-free mobile layout, so no crop. */
@media (min-width:560px){
  .form-fallback .iframe-wrap iframe{ width:147%; margin-left:-23.5%; }
}

/* Download a printable PDF of the application (sits above the iframe fallback). */
.form-download{ margin:22px 0 2px; text-align:center; }
.form-download-link{ display:inline-flex; align-items:center; gap:9px; font-family:'Inter', sans-serif; font-size:.92rem; font-weight:600; line-height:1.2; color:var(--ink, #2b2b27); text-decoration:none; background:var(--paper-w, #fff); border:1px solid var(--line, #d8d2c4); border-radius:999px; padding:11px 20px; transition:background .16s ease, border-color .16s ease, color .16s ease; }
.form-download-link svg{ flex:none; color:var(--gold, #c79a3b); }
.form-download-link:hover{ background:var(--paper-2, #f6f0e3); border-color:var(--gold, #c79a3b); color:var(--green, #2f4a39); }
.form-download-link:hover svg{ color:var(--green, #2f4a39); }

/* Branded thank-you shown when ASM redirects back with ?submitted=1. */
.pa-apply-thanks{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px; max-width:560px; margin:10px auto 4px; padding:32px 28px; background:var(--paper-w, #fff); border:1px solid var(--line, #d8d2c4); border-radius:16px; box-shadow:0 6px 22px rgba(40,40,30,.08); }
.pa-apply-thanks-icon{ display:inline-flex; align-items:center; justify-content:center; width:52px; height:52px; border-radius:999px; background:var(--green, #2f4a39); color:#fff; }
.pa-apply-thanks h3{ margin:8px 0 0; font-family:'Fraunces', Georgia, serif; color:var(--green, #2f4a39); font-size:1.5rem; line-height:1.2; }
.pa-apply-thanks p{ margin:0; color:var(--ink, #2b2b27); max-width:46ch; }
/* The [hidden] attr loses to the wizard's own display rule, so force it. */
.pa-asm-form[hidden], .pa-wizard-progress[hidden]{ display:none !important; }

