/* ============================================================
   FOSTERING HOPE RVA — secure-the-bag.css (page-specific, shared chrome lives in home.css)
   Design & Develop By American Softec
   ============================================================ */

   STB HERO
============================================================ */
.stb-hero {
  position:relative;
  min-height:calc(88vh - var(--hh) - var(--tbh));
  display:flex; align-items:center; justify-content:center;
  overflow:hidden;
}
.sh-bg { position:absolute; inset:0; }
.sh-bg-img { width:100%; height:100%; object-fit:cover; object-position:center 50%; transform:scale(1.05); animation:bgKen 18s ease-in-out infinite alternate; }
@keyframes bgKen { from{transform:scale(1.05) translateX(0)} to{transform:scale(1.08) translateX(-1.5%)} }
.sh-overlay { position:absolute; inset:0; background:linear-gradient(135deg,rgba(6,14,26,0.93) 0%,rgba(15,37,64,0.82) 45%,rgba(8,20,40,0.90) 100%); }
.sh-lines { position:absolute; inset:0; pointer-events:none; overflow:hidden; }
.shl { position:absolute; background:linear-gradient(90deg,transparent,rgba(212,146,14,0.16),transparent); height:1px; }
.shl1 { top:30%; width:100%; animation:scanLine 9s ease-in-out infinite; }
.shl2 { top:68%; width:60%; left:40%; animation:scanLine 13s ease-in-out 2s infinite reverse; }
@keyframes scanLine { 0%,100%{opacity:0;transform:scaleX(0.2) translateX(-30%)} 50%{opacity:1;transform:scaleX(1) translateX(0)} }

.sh-tags { position:absolute; inset:0; pointer-events:none; overflow:hidden; }
.sh-tag-float { position:absolute; font-family:var(--font-sans); font-size:0.65rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:rgba(212,146,14,0.12); white-space:nowrap; }
.sh-tf1 { top:18%; right:6%; }
.sh-tf2 { bottom:22%; left:5%; }
.sh-tf3 { top:55%; right:20%; font-size:2.5rem; color:rgba(255,255,255,0.03); font-family:var(--font-serif); font-weight:700; }

.sh-content {
  position:relative; z-index:2;
  width:100%; max-width:900px;
  margin:0 auto; padding:80px 28px 120px;
  display:flex; flex-direction:column; align-items:center; text-align:center;
}
.sh-breadcrumb { display:inline-flex; align-items:center; gap:8px; font-size:0.72rem; font-weight:500; letter-spacing:0.08em; text-transform:uppercase; color:rgba(255,255,255,0.42); margin-bottom:24px; opacity:0; animation:fadeUp 0.7s var(--ease) 0.1s forwards; }
.sh-breadcrumb a { color:rgba(255,255,255,0.52); transition:color var(--fast); }
.sh-breadcrumb a:hover { color:var(--gold-bright); }
.sh-breadcrumb i { font-size:0.55rem; color:rgba(255,255,255,0.22); }
.sh-breadcrumb span { color:var(--gold-bright); }
.sh-eyebrow { display:inline-flex; align-items:center; gap:10px; background:rgba(212,146,14,0.14); border:1px solid rgba(212,146,14,0.32); color:var(--gold-bright); font-size:0.72rem; font-weight:600; letter-spacing:0.13em; text-transform:uppercase; padding:8px 20px; border-radius:var(--r-pill); margin-bottom:24px; opacity:0; animation:fadeUp 0.7s var(--ease) 0.25s forwards; }
.sh-headline { font-family:var(--font-serif); font-size:clamp(3.5rem,9vw,6.8rem); font-weight:700; line-height:1.0; letter-spacing:-0.02em; margin-bottom:24px; }
.sh-w { display:block; color:var(--white); opacity:0; transform:translateY(40px); animation:wordIn 0.75s var(--ease) forwards; }
.sh-w1 { animation-delay:0.38s; }
.sh-w2 { animation-delay:0.54s; color:var(--gold-bright); font-style:italic; }
.sh-w3 { animation-delay:0.70s; }
.sh-sub { max-width:580px; font-size:clamp(0.95rem,2vw,1.08rem); line-height:1.80; color:rgba(255,255,255,0.70); font-weight:300; margin-bottom:40px; opacity:0; animation:fadeUp 0.7s var(--ease) 0.95s forwards; }

.sh-actions { display:flex; gap:12px; flex-wrap:wrap; justify-content:center; opacity:0; animation:fadeUp 0.7s var(--ease) 1.15s forwards; }
.sha-btn { display:inline-flex; align-items:center; gap:9px; font-size:0.85rem; font-weight:600; letter-spacing:0.03em; padding:13px 24px; border-radius:var(--r-pill); transition:transform var(--fast),box-shadow var(--fast),background var(--fast); }
.sha-gold { background:var(--gold); color:var(--white); box-shadow:0 6px 24px rgba(212,146,14,0.40); }
.sha-gold:hover { background:var(--gold-bright); transform:translateY(-3px); box-shadow:0 10px 32px rgba(212,146,14,0.52); }
.sha-outline { background:rgba(255,255,255,0.09); color:var(--white); border:1.5px solid rgba(255,255,255,0.28); backdrop-filter:blur(6px); }
.sha-outline:hover { background:rgba(255,255,255,0.16); border-color:rgba(255,255,255,0.50); transform:translateY(-3px); }

.sh-scroll { position:absolute; bottom:28px; left:50%; transform:translateX(-50%); display:flex; flex-direction:column; align-items:center; gap:8px; opacity:0; animation:fadeUp 0.7s var(--ease) 1.6s forwards; z-index:2; }
.sh-scroll span { font-size:0.63rem; letter-spacing:0.16em; text-transform:uppercase; color:rgba(255,255,255,0.35); }
.sh-mouse { width:22px; height:35px; border-radius:11px; border:1.5px solid rgba(255,255,255,0.22); display:flex; justify-content:center; padding-top:6px; }
.sh-wheel { width:3px; height:7px; border-radius:2px; background:var(--gold-bright); animation:scrollWheel 2s ease infinite; }
@keyframes scrollWheel { 0%{transform:translateY(0);opacity:1} 75%{transform:translateY(12px);opacity:0} 100%{transform:translateY(0);opacity:0} }

/* ============================================================
   HASHTAG BANNER
============================================================ */
.hash-banner { background:var(--navy); padding:18px 0; border-bottom:2px solid var(--gold); overflow:hidden; }
.hb-inner { display:flex; align-items:center; justify-content:center; gap:20px; flex-wrap:wrap; }
.hb-tag { font-size:0.72rem; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold-bright); }
.hb-dot { width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,0.25); flex-shrink:0; }

/* ============================================================
   PROGRAM OVERVIEW
============================================================ */
.about-stb { padding:110px 0; background:var(--white); }
.astb-grid { display:grid; grid-template-columns:1.1fr 0.9fr; gap:72px; align-items:start; margin-top:56px; }
.astb-lead { font-size:1.08rem; line-height:1.80; color:var(--navy); margin-bottom:18px; font-weight:400; }
.astb-text p { font-size:0.93rem; line-height:1.80; color:var(--text-mid); margin-bottom:16px; }
.astb-text p strong { color:var(--navy); }
.astb-subhead { font-size:0.92rem; font-weight:700; color:var(--navy); margin-top:22px; margin-bottom:12px !important; }
.astb-check-list { display:flex; flex-direction:column; gap:10px; margin-bottom:24px; }
.astb-check-list li { display:flex; align-items:flex-start; gap:10px; font-size:0.90rem; line-height:1.55; color:var(--text-mid); }
.astb-check-list li i { color:var(--gold); font-size:0.90rem; margin-top:2px; flex-shrink:0; }
.astb-note { display:flex; align-items:flex-start; gap:12px; background:var(--off-white); border:1px solid var(--border-d); border-radius:var(--r-md); padding:16px 18px; }
.astb-note i { color:var(--gold); font-size:1rem; margin-top:2px; flex-shrink:0; }
.astb-note p { font-size:0.85rem !important; color:var(--text-mid); margin:0 !important; font-style:italic; }

.astb-stats-col { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.astb-stat-card { background:var(--off-white); border-radius:var(--r-lg); padding:24px 20px; border:1px solid var(--border-d); text-align:center; transition:box-shadow var(--fast),transform var(--fast); }
.astb-stat-card:hover { box-shadow:0 8px 28px rgba(0,0,0,0.08); transform:translateY(-4px); }
.asc-icon { width:44px; height:44px; border-radius:var(--r-md); background:var(--gold-light); display:flex; align-items:center; justify-content:center; font-size:1.1rem; color:var(--gold); margin:0 auto 12px; }
.asc-num { font-family:var(--font-serif); font-size:1.6rem; font-weight:700; color:var(--navy); line-height:1; margin-bottom:6px; }
.astb-stat-card p { font-size:0.75rem; font-weight:600; text-transform:uppercase; letter-spacing:0.06em; color:var(--text-muted); }
.astb-sc-gold { background:linear-gradient(145deg,var(--navy) 0%,var(--navy-mid) 100%); border-color:transparent; }
.astb-sc-gold .asc-icon { background:rgba(212,146,14,0.18); color:var(--gold-bright); }
.astb-sc-gold .asc-num { color:var(--gold-bright); }
.astb-sc-gold p { color:rgba(255,255,255,0.55); }

/* ============================================================
   PROGRAM ELIGIBILITY (CRITERIA)
============================================================ */
.criteria-section { position:relative; padding:110px 0; overflow:hidden; }
.criteria-bg { position:absolute; inset:0; background:linear-gradient(135deg,var(--navy) 0%,#0a1e38 100%); }
.criteria-bg::after { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 90% 10%,rgba(212,146,14,0.08) 0%,transparent 55%),radial-gradient(ellipse at 10% 90%,rgba(255,255,255,0.02) 0%,transparent 50%); }
.criteria-section .container { position:relative; z-index:1; }
.criteria-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.criteria-card { background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.10); border-radius:var(--r-lg); padding:32px 28px; backdrop-filter:blur(8px); transition:background var(--med),border-color var(--med),transform var(--med); }
.criteria-card:hover { background:rgba(255,255,255,0.08); border-color:rgba(212,146,14,0.30); transform:translateY(-4px); }
.criteria-icon { width:50px; height:50px; border-radius:var(--r-md); background:rgba(212,146,14,0.16); display:flex; align-items:center; justify-content:center; font-size:1.2rem; color:var(--gold-bright); margin-bottom:18px; }
.criteria-card h3 { font-family:var(--font-serif); font-size:1.35rem; font-weight:700; color:var(--white); margin-bottom:12px; }
.criteria-card > p { font-size:0.90rem; line-height:1.65; color:rgba(255,255,255,0.68); }
.criteria-card > p strong { color:var(--gold-bright); }
.criteria-list { display:flex; flex-direction:column; gap:10px; }
.criteria-list li { display:flex; align-items:flex-start; gap:10px; font-size:0.87rem; line-height:1.55; color:rgba(255,255,255,0.72); }
.criteria-list li i { color:var(--gold-bright); font-size:0.78rem; margin-top:3px; flex-shrink:0; }

/* ============================================================
   HOW IT WORKS / HOUSING READINESS (STEPS)
============================================================ */
.how-section { position:relative; padding:110px 0; overflow:hidden; }
.how-bg { position:absolute; inset:0; background:linear-gradient(135deg,var(--navy) 0%,#0a1e38 100%); }
.how-bg::after { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 10% 50%,rgba(212,146,14,0.08) 0%,transparent 55%),radial-gradient(ellipse at 90% 10%,rgba(255,255,255,0.02) 0%,transparent 50%); }
.how-section .container { position:relative; z-index:1; }

.how-grid { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; gap:0; align-items:stretch; margin-bottom:64px; }
.step-card { background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.12); border-radius:var(--r-lg); padding:36px 28px; position:relative; overflow:hidden; display:flex; flex-direction:column; gap:14px; backdrop-filter:blur(6px); transition:background var(--med),border-color var(--med),transform var(--med),box-shadow var(--med); }
.step-card::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,var(--gold),var(--gold-bright)); transform:scaleX(0); transform-origin:left; transition:transform var(--med) var(--ease); }
.step-card:hover { background:rgba(255,255,255,0.09); border-color:rgba(212,146,14,0.35); transform:translateY(-6px); box-shadow:0 24px 60px rgba(0,0,0,0.28); }
.step-card:hover::before { transform:scaleX(1); }
.step-card-gold { background:rgba(212,146,14,0.10); border-color:rgba(212,146,14,0.35); }
.step-card-gold:hover { background:rgba(212,146,14,0.16); }
.step-num { font-family:var(--font-serif); font-size:4rem; font-weight:700; color:rgba(255,255,255,0.06); line-height:1; position:absolute; top:16px; right:22px; }
.step-icon { width:52px; height:52px; border-radius:var(--r-md); background:rgba(212,146,14,0.15); display:flex; align-items:center; justify-content:center; font-size:1.3rem; color:var(--gold-bright); transition:background var(--fast); }
.step-card:hover .step-icon { background:var(--gold); color:var(--white); }
.step-card h3 { font-family:var(--font-serif); font-size:1.45rem; font-weight:700; color:var(--white); line-height:1.2; }
.step-card p { font-size:0.87rem; line-height:1.78; color:rgba(255,255,255,0.65); }
.step-card p strong { color:var(--gold-bright); }
.step-footnote { font-size:0.78rem !important; font-style:italic; color:rgba(255,255,255,0.45) !important; }
.step-tag { display:inline-flex; align-items:center; background:rgba(255,255,255,0.09); color:rgba(255,255,255,0.50); font-size:0.68rem; font-weight:600; letter-spacing:0.10em; text-transform:uppercase; padding:5px 12px; border-radius:var(--r-pill); width:fit-content; margin-top:4px; }
.step-tag-gold { background:rgba(212,146,14,0.18); color:var(--gold-bright); }

.step-chip-row { display:flex; flex-wrap:wrap; gap:8px; }
.step-chip { display:inline-flex; align-items:center; background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.14); color:rgba(255,255,255,0.75); font-size:0.72rem; font-weight:500; padding:6px 12px; border-radius:var(--r-pill); }
.step-chip-gold { background:rgba(212,146,14,0.16); border-color:rgba(212,146,14,0.30); color:var(--gold-bright); }

.step-connector { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:0 16px; gap:6px; }
.sc-line { width:1px; height:40px; background:linear-gradient(to bottom,transparent,rgba(212,146,14,0.40),transparent); }
.sc-arrow { width:32px; height:32px; border-radius:50%; border:1px solid rgba(212,146,14,0.35); display:flex; align-items:center; justify-content:center; color:rgba(212,146,14,0.60); font-size:0.65rem; }

.how-img-row { display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:center; margin-top:16px; }
.how-img { width:100%; height:340px; object-fit:cover; border-radius:var(--r-lg); box-shadow:0 24px 64px rgba(0,0,0,0.30); }
.how-img-caption { display:flex; align-items:flex-start; gap:20px; }
.how-img-caption i { font-size:2rem; color:var(--gold-bright); flex-shrink:0; margin-top:4px; }
.how-img-caption strong { display:block; font-family:var(--font-serif); font-size:1.35rem; font-weight:700; color:var(--white); margin-bottom:10px; }
.how-img-caption p { font-size:0.90rem; line-height:1.78; color:rgba(255,255,255,0.62); }

/* ============================================================
   HOUSING ASSISTANCE DETAILS
============================================================ */
.assist-section { padding:110px 0; background:var(--off-white); }
.assist-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.assist-card { background:var(--white); border-radius:var(--r-lg); padding:32px 28px; border:1px solid var(--border-d); transition:box-shadow var(--fast),transform var(--fast),border-color var(--fast); }
.assist-card:hover { box-shadow:0 16px 44px rgba(0,0,0,0.08); transform:translateY(-4px); border-color:rgba(212,146,14,0.20); }
.assist-icon { width:52px; height:52px; border-radius:var(--r-md); background:var(--gold-light); display:flex; align-items:center; justify-content:center; font-size:1.25rem; color:var(--gold); margin-bottom:18px; }
.assist-card h3 { font-family:var(--font-serif); font-size:1.3rem; font-weight:700; color:var(--navy); margin-bottom:10px; }
.assist-card p { font-size:0.87rem; line-height:1.72; color:var(--text-mid); }

/* ============================================================
   GALLERY
============================================================ */
.stb-gallery { padding:110px 0; background:var(--white); }
.stbg-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr; grid-template-rows:300px 300px; gap:16px; }
.stbg-item { position:relative; border-radius:var(--r-lg); overflow:hidden; background:var(--grey-soft); }
.stbg-item.stbg-large { grid-row:1 / 3; }
.stbg-item:last-child { grid-column:1 / -1; height:320px; }
.stbg-item img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.55s var(--ease); }
.stbg-item:hover img { transform:scale(1.06); }
.stbg-caption { position:absolute; bottom:0; left:0; right:0; background:linear-gradient(to top,rgba(10,20,40,0.82) 0%,transparent 100%); padding:28px 18px 16px; transform:translateY(4px); transition:transform var(--med); }
.stbg-item:hover .stbg-caption { transform:translateY(0); }
.stbg-caption span { font-size:0.80rem; font-weight:600; color:rgba(255,255,255,0.92); }

/* ============================================================
   CRIMINAL BACKGROUND REVIEW
============================================================ */
.background-section { padding:110px 0; background:var(--off-white); }
.background-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.bg-card { background:var(--white); border:1.5px solid var(--border-d); border-radius:var(--r-lg); padding:32px 30px; }
.bg-card--warn { border-color:rgba(179,69,63,0.30); background:linear-gradient(160deg,#fff 60%,rgba(179,69,63,0.05) 100%); }
.bg-badge { display:inline-flex; align-items:center; gap:8px; background:var(--navy); color:var(--gold-bright); font-size:0.72rem; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; padding:8px 16px; border-radius:var(--r-pill); margin-bottom:20px; }
.bg-badge--warn { background:var(--danger); color:var(--white); }
.bg-lead { font-size:0.92rem; font-weight:600; color:var(--navy); margin-bottom:16px; }
.bg-list { display:flex; flex-direction:column; gap:10px; }
.bg-list li { display:flex; align-items:flex-start; gap:10px; font-size:0.88rem; line-height:1.55; color:var(--text-mid); }
.bg-list li i { font-size:0.80rem; margin-top:3px; flex-shrink:0; color:var(--danger); }
.bg-list--neutral li i { color:var(--gold); }
.bg-footnote { font-size:0.80rem; font-style:italic; color:var(--text-muted); margin-top:16px; }

/* ============================================================
   ASSISTANCE FREQUENCY BANNER
============================================================ */
.frequency-section { position:relative; padding:80px 0; overflow:hidden; }
.frequency-bg { position:absolute; inset:0; background:linear-gradient(135deg,#060e1c 0%,var(--navy) 50%,#0c1e36 100%); }
.frequency-section .container { position:relative; z-index:1; }
.frequency-card { max-width:720px; margin:0 auto; text-align:center; background:rgba(255,255,255,0.05); border:1px solid rgba(212,146,14,0.28); border-radius:var(--r-lg); padding:44px 40px; backdrop-filter:blur(8px); }
.freq-icon { font-size:2rem; color:var(--gold-bright); margin-bottom:16px; }
.freq-num { font-family:var(--font-serif); font-size:1.9rem; font-weight:700; color:var(--white); line-height:1.3; margin-bottom:16px; }
.freq-num span { display:block; font-size:1.1rem; color:var(--gold-bright); font-style:italic; font-weight:600; }
.frequency-card p { font-size:0.92rem; line-height:1.75; color:rgba(255,255,255,0.62); }
.frequency-card p strong { color:var(--gold-bright); }

/* ============================================================
   PARTICIPANT EXPECTATIONS / PROGRAM LIMITATIONS
============================================================ */
.expect-limit-section { position:relative; padding:110px 0; overflow:hidden; }
.elmt-bg { position:absolute; inset:0; background:var(--white); }
.expect-limit-section .container { position:relative; z-index:1; }
.elmt-grid { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.elmt-col { background:var(--off-white); border-radius:var(--r-lg); padding:36px 32px; border:1px solid var(--border-d); }
.elmt-icon { width:50px; height:50px; border-radius:var(--r-md); background:rgba(15,37,64,0.08); display:flex; align-items:center; justify-content:center; font-size:1.2rem; color:var(--navy); margin-bottom:18px; }
.elmt-icon--gold { background:var(--gold-light); color:var(--gold); }
.elmt-col h3 { font-family:var(--font-serif); font-size:1.5rem; font-weight:700; color:var(--navy); margin-bottom:16px; }
.elmt-lead { font-size:0.90rem; font-weight:700; color:var(--navy); margin-bottom:14px; }
.elmt-list { display:flex; flex-direction:column; gap:10px; margin-bottom:6px; }
.elmt-list li { display:flex; align-items:flex-start; gap:10px; font-size:0.88rem; line-height:1.55; color:var(--text-mid); }
.elmt-list li i { font-size:0.85rem; margin-top:2px; flex-shrink:0; color:var(--gold); }
.elmt-list--muted li i { color:var(--text-muted); }
.elmt-list--muted li { color:var(--text-muted); }
.elmt-footnote { font-size:0.80rem; font-style:italic; color:var(--text-muted); margin-top:16px; }

/* ============================================================
   REQUIRED DOCUMENTATION
============================================================ */
.docs-section { padding:110px 0; background:var(--off-white); }
.docs-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; }
.doc-chip { display:flex; align-items:center; gap:14px; background:var(--white); border:1px solid var(--border-d); border-radius:var(--r-md); padding:16px 18px; transition:box-shadow var(--fast),transform var(--fast),border-color var(--fast); }
.doc-chip:hover { box-shadow:0 8px 26px rgba(0,0,0,0.08); transform:translateY(-3px); border-color:rgba(212,146,14,0.25); }
.doc-chip i { width:38px; height:38px; border-radius:var(--r-sm); background:var(--gold-light); display:flex; align-items:center; justify-content:center; color:var(--gold); font-size:0.92rem; flex-shrink:0; }
.doc-chip span { font-size:0.85rem; font-weight:500; color:var(--navy); line-height:1.35; }

/* ============================================================
   OUR COMMITMENT
============================================================ */
.commitment-section { position:relative; padding:100px 0; overflow:hidden; }
.commitment-bg { position:absolute; inset:0; background:linear-gradient(150deg,#081420 0%,var(--navy) 55%,#0d1f38 100%); }
.commitment-bg::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 30% 40%,rgba(212,146,14,0.09) 0%,transparent 55%); }
.commitment-section .container { position:relative; z-index:1; }
.commitment-inner { max-width:740px; margin:0 auto; text-align:center; }
.commitment-icon { font-size:2.4rem; color:var(--gold-bright); margin-bottom:18px; }
.commitment-body { font-size:1.05rem; line-height:1.9; color:rgba(255,255,255,0.75); margin-bottom:18px; }
.commitment-body:last-of-type { margin-bottom:28px; }
.commitment-quote { font-family:var(--font-serif); font-size:1.5rem; font-style:italic; font-weight:700; color:var(--gold-bright); line-height:1.5; }

/* ============================================================
   ACTION SECTION
============================================================ */
.action-section { padding:110px 0; background:var(--white); }
.action-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.action-card { background:var(--off-white); border-radius:var(--r-lg); padding:36px 30px; border:1px solid var(--border-d); display:flex; flex-direction:column; gap:16px; position:relative; overflow:hidden; transition:box-shadow var(--med),transform var(--med),border-color var(--med); }
.action-card::before { content:''; position:absolute; top:0; left:0; right:0; height:3px; transform:scaleX(0); transform-origin:left; transition:transform var(--med) var(--ease); }
.action-card:nth-child(1)::before { background:linear-gradient(90deg,var(--gold),var(--gold-bright)); }
.action-card:nth-child(2)::before { background:linear-gradient(90deg,var(--navy),var(--navy-light)); }
.action-card:hover { box-shadow:0 16px 48px rgba(0,0,0,0.10); transform:translateY(-5px); border-color:rgba(212,146,14,0.20); }
.action-card:hover::before { transform:scaleX(1); }
.action-card-dark { background:linear-gradient(145deg,var(--navy) 0%,var(--navy-mid) 100%); border-color:transparent; }
.action-card-dark::before { background:linear-gradient(90deg,var(--gold),var(--gold-bright)); }
.action-card-dark:hover { border-color:rgba(212,146,14,0.30); }
.ac-icon { width:56px; height:56px; border-radius:var(--r-md); display:flex; align-items:center; justify-content:center; font-size:1.3rem; }
.ac-gold { background:var(--gold-light); color:var(--gold); }
.ac-navy { background:rgba(15,37,64,0.10); color:var(--navy); }
.ac-white { background:rgba(255,255,255,0.12); color:var(--gold-bright); }
.action-card h3 { font-family:var(--font-serif); font-size:1.45rem; font-weight:700; color:var(--navy); line-height:1.2; }
.action-card-dark h3 { color:var(--white); }
.action-card p { font-size:0.87rem; line-height:1.75; color:var(--text-mid); flex:1; }
.action-card-dark p { color:rgba(255,255,255,0.62); }
.ac-btn { display:inline-flex; align-items:center; gap:9px; font-size:0.85rem; font-weight:700; padding:12px 22px; border-radius:var(--r-pill); width:fit-content; transition:background var(--fast),transform var(--fast),box-shadow var(--fast); }
.ac-btn-gold { background:var(--gold); color:var(--white); box-shadow:0 4px 16px rgba(212,146,14,0.30); }
.ac-btn-gold:hover { background:var(--gold-bright); transform:translateY(-2px); box-shadow:0 8px 24px rgba(212,146,14,0.42); }
.ac-btn-navy { background:var(--navy); color:var(--white); }
.ac-btn-navy:hover { background:var(--navy-light); transform:translateY(-2px); }
.ac-btn-white { background:var(--gold); color:var(--white); box-shadow:0 4px 16px rgba(212,146,14,0.28); }
.ac-btn-white:hover { background:var(--gold-bright); transform:translateY(-2px); }

/* ============================================================
   DONATE CTA
============================================================ */
.stb-donate { position:relative; padding:110px 0; overflow:hidden; }
.std-bg { position:absolute; inset:0; background:linear-gradient(135deg,#060e1c 0%,var(--navy) 50%,#0c1e36 100%); }
.std-bg::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 20% 50%,rgba(212,146,14,0.10) 0%,transparent 55%); }
.stb-donate .container { position:relative; z-index:1; }
.std-inner { max-width:680px; margin:0 auto; text-align:center; }
.std-eyebrow { display:inline-flex; align-items:center; gap:8px; font-size:0.70rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-bright); margin-bottom:18px; }
.std-inner h2 { font-family:var(--font-serif); font-size:clamp(2rem,5vw,3rem); font-weight:700; color:var(--white); line-height:1.15; margin-bottom:18px; }
.std-inner h2 em { font-style:italic; color:var(--gold-bright); }
.std-inner > p { font-size:1rem; line-height:1.80; color:rgba(255,255,255,0.62); margin-bottom:36px; }
.std-btns { display:flex; gap:14px; flex-wrap:wrap; justify-content:center; }

/* ============================================================

/* ============================================================
   RESPONSIVE (page-specific only)
============================================================ */
@media (max-width:1060px) {
  .astb-grid { grid-template-columns:1fr; gap:48px; }
  .action-grid { grid-template-columns:1fr; }
}

@media (max-width:900px) {
  .how-grid { grid-template-columns:1fr; gap:20px; }
  .step-connector { flex-direction:row; padding:0; padding-left:28px; }
  .sc-line { width:40px; height:1px; background:linear-gradient(to right,transparent,rgba(212,146,14,0.40),transparent); }
  .sc-arrow { transform:rotate(90deg); }
  .how-img-row { grid-template-columns:1fr; }
  .how-img { height:260px; }
  .stbg-grid { grid-template-columns:1fr 1fr; grid-template-rows:auto; }
  .stbg-item.stbg-large { grid-row:auto; grid-column:1 / -1; height:280px; }
  .stbg-item:last-child { grid-column:auto; }
  .stbg-item { height:220px; }
  .criteria-grid { grid-template-columns:1fr; }
  .assist-grid { grid-template-columns:1fr; }
  .background-grid { grid-template-columns:1fr; }
  .elmt-grid { grid-template-columns:1fr; gap:24px; }
  .docs-grid { grid-template-columns:1fr; }
}

@media (max-width:640px) {
  .stb-hero { min-height:82vh; }
  .sh-content { padding:60px 20px 90px; }
  .sh-headline { font-size:clamp(3rem,12vw,4.5rem); }
  .sh-actions { flex-direction:column; align-items:center; }
  .sha-btn { width:100%; justify-content:center; font-size:0.82rem; }
  .about-stb,.stb-gallery,.action-section,.stb-donate,.criteria-section,.how-section,.assist-section,.background-section,.expect-limit-section,.docs-section,.commitment-section,.frequency-section { padding:72px 0; }
  .astb-stats-col { grid-template-columns:1fr 1fr; }
  .stbg-grid { grid-template-columns:1fr; grid-template-rows:auto; }
  .stbg-item.stbg-large { grid-column:auto; height:240px; }
  .stbg-item:last-child { grid-column:auto; }
  .stbg-item { height:200px; }
  .step-connector { display:none; }
  .step-card { padding:26px 22px; }
  .assist-card { padding:26px 22px; }
  .bg-card { padding:26px 22px; }
  .elmt-col { padding:26px 22px; }
  .frequency-card { padding:32px 26px; }
  .freq-num { font-size:1.5rem; }
  .std-btns { flex-direction:column; align-items:center; }
  .sh-scroll { display:none; }
}

@media (max-width:400px) {
  .sh-headline { font-size:2.8rem; }
  .astb-stats-col { grid-template-columns:1fr; }
  .action-card { padding:24px 18px; }
}
