/* ══ IN THE FIELD (photo + pledge card) ══ */
.csr-field-grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:1.4rem; align-items:stretch; }
@media(max-width:900px){ .csr-field-grid{ grid-template-columns:1fr; } }

.csr-field-photo{ position:relative; border-radius:1.4rem; overflow:hidden; min-height:320px; }
.csr-field-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.csr-field-caption{
  position:absolute; left:0; right:0; bottom:0; padding:1.8rem 1.6rem 1.4rem;
  background:linear-gradient(to top, rgba(10,11,14,.92), transparent);
}
.csr-field-caption .tag{ font-family:var(--font-mono); font-size:.68rem; font-weight:700; letter-spacing:.12em; color:var(--accent-hot); text-transform:uppercase; margin-bottom:.4rem; display:block; }
.csr-field-caption p{ color:#EEEAE1; font-size:.94rem; margin:0; }

.csr-pledge-card{ padding:2.1rem 2rem; display:flex; flex-direction:column; justify-content:center; }
.csr-pledge-card .kicker{ margin-bottom:.9rem; }
.csr-pledge-card p{ color:var(--ink-soft); font-size:.95rem; line-height:1.7; margin-bottom:1.6rem; }
.csr-pledge-stats{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.6rem; border-top:1px solid var(--border); padding-top:1.3rem; }
.csr-pledge-stats .stat-num{ font-family:var(--font-display); font-weight:800; font-size:1.5rem; color:var(--accent-ink); line-height:1; }
.csr-pledge-stats .stat-label{ font-family:var(--font-mono); font-size:.6rem; font-weight:700; letter-spacing:.06em; color:var(--ink-dim); margin-top:.4rem; text-transform:uppercase; line-height:1.3; }

/* ══ SIX INITIATIVE CARDS ══ */
.csr-cards-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
@media(max-width:980px){ .csr-cards-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:620px){ .csr-cards-grid{ grid-template-columns:1fr; } }

.csr-card{ padding:1.9rem 1.7rem; }
.csr-card-icon{
  width:52px; height:52px; border-radius:.9rem; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(135deg, rgba(255,106,31,.16), rgba(255,194,75,.1));
  border:1px solid rgba(255,106,31,.28);
  margin-bottom:1.1rem;
}
.csr-card-icon svg{ width:26px; height:26px; }
.csr-card h4{ font-size:1.02rem; font-weight:700; text-transform:none; font-family:var(--font-body); margin-bottom:.55rem; color:var(--ink); }
.csr-card p{ font-size:.9rem; color:var(--ink-soft); line-height:1.6; }
.csr-card p a{ color:var(--accent-ink); font-weight:600; }

/* ══ GALLERY (real photos) ══ */
.gallery-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
@media(max-width:900px){ .gallery-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:620px){ .gallery-grid{ grid-template-columns:1fr; } }

.gallery-tile{ overflow:hidden; padding:0; }
.gallery-visual{ position:relative; aspect-ratio:4/3; overflow:hidden; background:#14161C; }
.gallery-visual img{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .7s cubic-bezier(.16,.84,.44,1);
}
.gallery-tile:hover .gallery-visual img{ transform:scale(1.09); }
.gallery-visual::after{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(to top, rgba(10,11,14,.92) 0%, rgba(10,11,14,.32) 42%, transparent 65%);
}
.gallery-tag{
  position:absolute; top:1rem; left:1rem; z-index:2;
  font-family:var(--font-mono); font-size:.62rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:#fff; background:rgba(10,11,14,.55); border:1px solid rgba(255,255,255,.25);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  padding:.4rem .85rem; border-radius:2rem;
}
.gallery-caption{
  position:absolute; left:0; right:0; bottom:0; z-index:2;
  padding:1.4rem 1.15rem 1.1rem; font-size:.86rem; line-height:1.5; color:#EEEAE1; margin:0;
}

/* ══ FLAGSHIP SPOTLIGHT ══ */
.flagship-wrap{
  border-radius:1.6rem; overflow:hidden; border:1px solid rgba(255,194,75,.3);
  box-shadow:0 24px 55px rgba(0,0,0,.4);
  background:#28409E;
}

.flagship-banner{ position:relative; min-height:520px; overflow:hidden; display:flex; align-items:flex-end; }
.flagship-banner img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 30%; display:block; z-index:0; }
.flagship-banner::after{
  content:''; position:absolute; inset:0; z-index:1;
  background:linear-gradient(to top, rgba(9,14,40,.95) 12%, rgba(9,14,40,.35) 52%, transparent 78%);
}
.flagship-banner-badge{
  position:absolute; top:2rem; left:2.2rem; z-index:2;
  display:inline-flex; align-items:center; gap:.5rem; font-family:var(--font-mono); font-size:.7rem; font-weight:700;
  letter-spacing:.1em; color:var(--accent-hot); background:rgba(9,14,30,.6); border:1px solid rgba(255,106,31,.45);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  padding:.5rem 1rem; border-radius:2rem; text-transform:uppercase;
}
.flagship-banner-badge::before{ content:''; width:6px; height:6px; border-radius:50%; background:var(--accent); flex-shrink:0; }
.flagship-banner-content{ position:relative; z-index:2; padding:2.4rem 2.2rem 2.2rem; }
.flagship-banner-sub{ font-family:var(--font-mono); font-size:.72rem; font-weight:700; letter-spacing:.12em; color:var(--accent-hot); text-transform:uppercase; margin-bottom:.6rem; }
.flagship-banner-content h2{ color:#fff; font-size:clamp(1.6rem,3.6vw,2.6rem); margin:0; max-width:34ch; }
.flagship-banner-content h2 .accent-word{ color:var(--accent); }

.flagship-detail{ padding:2.4rem 2.4rem 2.6rem; }
.flagship-detail-grid{ display:grid; grid-template-columns:1.2fr 1fr; gap:2.2rem; align-items:start; }
@media(max-width:800px){ .flagship-detail-grid{ grid-template-columns:1fr; } }
.flagship-detail-text{ color:#DCE4FA; font-size:.98rem; line-height:1.75; }

.flagship-plaque{
  border-radius:1.1rem; overflow:hidden; border:1px solid rgba(255,194,75,.35);
  background:rgba(8,9,25,.28); box-shadow:0 16px 38px rgba(0,0,0,.3);
  transition:transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.flagship-plaque:hover{ transform:translateY(-6px); border-color:rgba(255,194,75,.6); box-shadow:0 24px 50px rgba(0,0,0,.4); }
.flagship-plaque-image{ background:#0A0B14; }
.flagship-plaque-image img{ width:100%; height:auto; display:block; }
.flagship-plaque-data{ padding:1rem 1.1rem 1.1rem; }
.flagship-plaque-label{
  display:flex; align-items:center; gap:.5rem; margin-bottom:.6rem;
  font-family:var(--font-mono); font-size:.64rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#FFC24B;
}
.flagship-plaque-label::before{ content:''; width:16px; height:2px; background:#FFC24B; }
.flagship-plaque-cap{ font-size:.78rem; color:#C7D2F2; line-height:1.5; padding-top:.7rem; border-top:1px solid rgba(255,255,255,.16); }

.flagship-mini-stats{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:1.8rem; padding-top:1.5rem; border-top:1px solid rgba(255,255,255,.18); }
/* below ~420px "Purulia" / "Elegant Care" no longer fit 3-up against flagship-detail's own padding; 2 columns keeps every value on one line */
@media(max-width:420px){ .flagship-mini-stats{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
.flagship-mini-num{ font-family:var(--font-display); font-weight:800; color:#FFC24B; font-size:1.2rem; }
.flagship-mini-label{ font-family:var(--font-mono); font-size:.6rem; letter-spacing:.08em; color:#B9C5EE; text-transform:uppercase; margin-top:.3rem; line-height:1.3; }

/* ══ CTA BAND ══ */
.cta-band{ position:relative; z-index:1; margin:0 auto; max-width:1180px; padding:0 1.75rem 6rem; }
.cta-inner{
  border-radius:1.6rem; padding:4rem 2.5rem; text-align:center; overflow:hidden; position:relative;
  background:
    radial-gradient(ellipse at 50% 115%, rgba(255,106,31,.4), transparent 55%),
    radial-gradient(ellipse at 50% 130%, rgba(255,194,75,.25), transparent 45%),
    #0A0B0E;
}
.cta-inner h2{ color:#EEEAE1; font-size:clamp(1.8rem,4vw,2.6rem); margin-bottom:1rem; }
.cta-inner p{ color:#9C9A90; max-width:52ch; margin:0 auto 2rem; font-size:1.05rem; }
.cta-inner{ --ink:#EEEAE1; --border:#262A34; --surface:#14161C; }
.cta-btn-row{ display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }

/* Extracted inline styles */
.csr-il-1 { max-width:26ch; }
