/* =============================================================
   IDC WORKING COMMITTEE PAGE
   Palette: 60% Cream · 30% Deep Maroon · 10% Festive Gold
   ============================================================= */
/* Tokens are scoped to .idc-page, not :root, so nothing here can reach the
   theme's own palette. Cream and maroon are sourced from the light-pilot
   tokens in shared-light.css -- the values are already identical, so this is
   a rename that makes the two follow each other from now on rather than a
   restyle. --gold is deliberately NOT declared: it inherits #D4AF37 from the
   theme, which is the same colour this design asked for. */
.idc-page{
  --cream:var(--lg-canvas,#FAF6ED); --cream-2:var(--lg-canvas-2,#F5EFE0); --white:#FFFFFF;
  --maroon:var(--lg-accent-deep,#6B001B); --maroon-dark:#4A0012; --maroon-deep:#34000C;
  --gold-dark:#B8962E; --gold-soft:rgba(212,175,55,.16);
  --red:#C8102E;
  --ink:#2B1519; --muted:#7A686C; --line:#E9E1D8; --danger:#C0392B;
  --radius:16px;
  --shadow-sm:0 2px 10px rgba(74,0,18,.06);
  --shadow-md:0 12px 30px rgba(74,0,18,.12);
  --shadow-lg:0 28px 70px rgba(74,0,18,.30);
  --font-body:'Jost', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --font-display:'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --font-bengali:'Noto Serif Bengali', 'Cormorant Garamond', serif;
}

.idc-page *,.idc-page *::before,.idc-page *::after{ box-sizing:border-box; }
.idc-page{
  margin:0; background:var(--cream); color:var(--ink);
  font-family:var(--font-body); font-size:16px; line-height:1.65;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:clip;
}
.idc-page img{ max-width:100%; display:block; }
.idc-page h1,.idc-page h2,.idc-page h3,.idc-page h4{
  font-family:var(--font-display); font-weight:600; line-height:1.18; margin:0; letter-spacing:.01em;
}
.idc-page p{ margin:0; }
.idc-page button{ font-family:inherit; }
.idc-container{ width:min(1180px,92vw); margin-inline:auto; position:relative; }

/* =============================================================
   SHARED
   ============================================================= */
.idc-section-head{ text-align:center; max-width:760px; margin:0 auto 46px; }
.idc-section-head--left{ text-align:left; margin-inline:0; max-width:640px; }
.idc-kicker{
  display:inline-block; font-size:.72rem; font-weight:600; letter-spacing:.22em;
  text-transform:uppercase; color:var(--gold-dark); margin-bottom:12px;
}
.idc-section-title{ font-size:clamp(1.65rem,3.4vw,2.45rem); color:var(--maroon); }
.idc-section-sub{ margin-top:14px; color:var(--muted); font-size:1.02rem; font-weight:300; }

.idc-ornament{ display:flex; align-items:center; justify-content:center; gap:10px; margin:16px auto 0; }
.idc-ornament__line{ height:1px; width:clamp(56px,16vw,110px); background:linear-gradient(90deg,transparent,var(--gold)); }
.idc-ornament__line:last-child{ background:linear-gradient(270deg,transparent,var(--gold)); }
.idc-ornament__dot{ width:6px; height:6px; background:var(--gold); transform:rotate(45deg); flex:none; }
.idc-ornament__dot--sm{ width:4px; height:4px; opacity:.65; }
.idc-ornament--onDark .idc-ornament__line{ background:linear-gradient(90deg,transparent,rgba(212,175,55,.9)); }
.idc-ornament--onDark .idc-ornament__line:last-child{ background:linear-gradient(270deg,transparent,rgba(212,175,55,.9)); }

.idc-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  padding:14px 26px; border-radius:999px; border:1.5px solid transparent;
  font-size:.95rem; font-weight:500; letter-spacing:.02em; cursor:pointer;
  text-decoration:none; white-space:nowrap;
  transition:transform .2s ease, box-shadow .25s ease, background .25s ease, color .25s ease, border-color .25s ease, opacity .2s ease;
}
.idc-btn:active{ transform:translateY(1px); }
.idc-btn:disabled{ opacity:.7; cursor:wait; }
.idc-btn svg{ width:17px; height:17px; flex:none; }
.idc-btn--gold{ background:linear-gradient(135deg,var(--gold) 0%,var(--gold-dark) 100%); color:var(--maroon-deep); box-shadow:0 10px 24px rgba(212,175,55,.32); }
.idc-btn--gold:hover{ box-shadow:0 14px 30px rgba(212,175,55,.45); transform:translateY(-2px); }
.idc-btn--maroon{ background:linear-gradient(135deg,var(--maroon) 0%,var(--maroon-dark) 100%); color:#fff; box-shadow:0 10px 24px rgba(107,0,27,.28); }
.idc-btn--maroon:hover{ box-shadow:0 14px 32px rgba(107,0,27,.42); transform:translateY(-2px); }
.idc-btn--red{ background:linear-gradient(135deg,var(--red) 0%,#9B0B22 100%); color:#fff; box-shadow:0 10px 24px rgba(200,16,46,.28); }
.idc-btn--red:hover{ box-shadow:0 14px 32px rgba(200,16,46,.42); transform:translateY(-2px); }
.idc-btn--ghost{ background:transparent; color:var(--red); border-color:var(--red); }
.idc-btn--ghost:hover{ background:rgba(200,16,46,.08); }

.idc-spinner{
  width:16px; height:16px; border:2px solid rgba(255,255,255,.35);
  border-top-color:#fff; border-radius:50%;
  animation:idc-spin .7s linear infinite; display:inline-block;
}
@keyframes idc-spin{ to{ transform:rotate(360deg); } }

/* =============================================================
   ALPANA WATERMARKS
   ============================================================= */
.idc-alpana,.idc-paisley{ position:absolute; color:var(--gold); pointer-events:none; user-select:none; }
.idc-alpana--hero{
  z-index:1; top:50%; left:50%;
  width:min(760px,92vw); height:min(760px,92vw);
  transform:translate(-50%,-50%); opacity:.16;
  filter:drop-shadow(0 0 40px rgba(212,175,55,.25));
  animation:idc-alpana-spin 120s linear infinite;
}
@keyframes idc-alpana-spin{ to{ transform:translate(-50%,-50%) rotate(360deg); } }
.idc-alpana--hero-bg{
  z-index:0; top:50%; right:-180px;
  width:min(620px,70vw); height:min(620px,70vw);
  transform:translateY(-50%); opacity:.09;
  animation:idc-alpana-counter 180s linear infinite;
}
@keyframes idc-alpana-counter{ to{ transform:translateY(-50%) rotate(-360deg); } }
.idc-paisley--tl{ z-index:1; top:24px; left:24px; width:120px; height:180px; opacity:.22; transform:rotate(-12deg); }
.idc-paisley--br{ z-index:1; bottom:24px; right:24px; width:120px; height:180px; opacity:.22; transform:rotate(168deg); }
.idc-paisley--card{ z-index:0; bottom:-14px; right:-14px; width:110px; height:165px; opacity:.14; transform:rotate(24deg); }
.idc-action-card--maroon .idc-paisley--card{ color:var(--gold); opacity:.30; }
.idc-action-card > *:not(.idc-paisley){ position:relative; z-index:1; }

/* Diya divider */
.idc-divider{
  position:relative; height:56px; display:flex; align-items:center;
  justify-content:center; gap:18px; background:var(--cream); overflow:hidden;
}
.idc-divider--dark{ background:var(--maroon-dark); }
.idc-divider__line{ flex:1; height:1px; max-width:280px; background:linear-gradient(90deg,transparent,rgba(212,175,55,.85),transparent); }
.idc-divider__diya{ font-size:1.35rem; filter:drop-shadow(0 0 12px rgba(212,175,55,.7)); animation:idc-diya-glow 3s ease-in-out infinite; }
@keyframes idc-diya-glow{ 0%,100%{ opacity:1; transform:translateY(0) scale(1); } 50%{ opacity:.75; transform:translateY(-2px) scale(1.06); } }

/* =============================================================
   1. HERO
   ============================================================= */
.idc-hero{
  position:relative; overflow:hidden;
  padding:clamp(56px,8vw,96px) 0 clamp(64px,9vw,108px);
  color:#fff;
  background:
    radial-gradient(820px 380px at 88% -12%, rgba(212,175,55,.24), transparent 62%),
    radial-gradient(680px 420px at 2% 112%, rgba(212,175,55,.14), transparent 60%),
    linear-gradient(140deg, var(--maroon-deep) 0%, var(--maroon-dark) 38%, var(--maroon) 72%, #5C0017 100%);
}
.idc-hero::before{
  content:""; position:absolute; inset:0;
  background-image:radial-gradient(circle,rgba(212,175,55,.18) 1.3px,transparent 1.4px);
  background-size:26px 26px; opacity:.55;
  -webkit-mask-image:linear-gradient(to bottom,rgba(0,0,0,.95),transparent 88%);
          mask-image:linear-gradient(to bottom,rgba(0,0,0,.95),transparent 88%);
  pointer-events:none; z-index:1;
}
.idc-hero::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:4px; background:linear-gradient(90deg,transparent,var(--gold),transparent); z-index:3; }
.idc-hero__inner{ position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,.85fr); align-items:center; gap:clamp(32px,5vw,64px); }
.idc-hero__eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-size:clamp(.72rem,1.5vw,.82rem); font-weight:500; letter-spacing:.16em; text-transform:uppercase;
  color:var(--gold); margin-bottom:20px; padding:8px 16px;
  border:1px solid rgba(212,175,55,.38); border-radius:999px; background:rgba(212,175,55,.07); line-height:1.4;
}
.idc-hero__eyebrow-dot{ width:6px; height:6px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 4px rgba(212,175,55,.22); flex:none; }
.idc-hero__title{ font-size:clamp(2.3rem,6.2vw,4.15rem); color:#fff; letter-spacing:.005em; text-shadow:0 4px 26px rgba(0,0,0,.32); }
.idc-hero__title em{ font-style:normal; color:var(--gold); }
.idc-hero .idc-ornament{ margin:22px 0 0; justify-content:flex-start; }
.idc-hero__lede{ margin-top:22px; max-width:54ch; font-weight:300; font-size:clamp(.98rem,1.6vw,1.08rem); color:rgba(255,255,255,.85); }
.idc-hero__emblem-wrap{ display:flex; justify-content:center; }
.idc-emblem{
  position:relative; width:clamp(210px,24vw,262px); aspect-ratio:1; border-radius:50%;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; text-align:center; padding:22px;
  border:1px dashed rgba(212,175,55,.55);
  background:radial-gradient(circle at 50% 30%,rgba(212,175,55,.20),transparent 65%), rgba(255,255,255,.04);
  box-shadow:inset 0 0 46px rgba(212,175,55,.14); animation:idc-float 6s ease-in-out infinite;
}
.idc-emblem::before{ content:""; position:absolute; inset:12px; border-radius:50%; border:1px solid rgba(212,175,55,.28); pointer-events:none; }
.idc-emblem__lotus{ width:44px; height:32px; color:var(--gold); margin-bottom:2px; opacity:.95; }
.idc-emblem__small{ font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.7); }
.idc-emblem__big{ font-family:var(--font-display); font-size:clamp(1.15rem,2.3vw,1.5rem); font-weight:700; color:var(--gold); letter-spacing:.02em; line-height:1.15; }
.idc-emblem__dots{ margin-top:8px; font-size:.6rem; letter-spacing:.5em; color:rgba(212,175,55,.75); }
@keyframes idc-float{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-9px); } }

/* =============================================================
   2. GRATITUDE — FULLY CENTERED
   ============================================================= */
.idc-gratitude{
  position:relative; isolation:isolate; overflow:hidden;
  padding:clamp(72px,9vw,120px) 0; text-align:center;
  /* The photo used to be a background-image pointing at an Unsplash URL that
     404s, under a 94%-opaque veil -- so it was invisible twice over. It is now
     .idc-gratitude__photo, set from the Customizer. background-attachment:fixed
     went with it: `filter` creates a containing block, so blur and fixed
     attachment cannot coexist, and iOS never honoured fixed anyway. */
  background-color:var(--maroon-dark);
}
.idc-gratitude::before{
  content:""; position:absolute; inset:0; z-index:0;
  background:
    radial-gradient(600px 300px at 50% 0%, rgba(212,175,55,.18), transparent 65%),
    linear-gradient(135deg, rgba(74,0,18,.94) 0%, rgba(107,0,27,.86) 45%, rgba(52,0,12,.95) 100%);
  pointer-events:none;
}
.idc-gratitude::after{
  content:""; position:absolute; inset:0; z-index:0;
  background-image:radial-gradient(circle,rgba(212,175,55,.14) 1.2px,transparent 1.3px);
  background-size:28px 28px; opacity:.55; pointer-events:none;
}
.idc-gratitude .idc-container{
  position:relative; z-index:2;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
}

/* Section head — tightly centered */
.idc-gratitude .idc-section-head{
  text-align:center;
  max-width:680px;
  margin-left:auto;
  margin-right:auto;
  margin-bottom:0;
}

.idc-gratitude__hands{
  display:inline-grid; place-items:center; width:74px; height:74px;
  border-radius:50%; font-size:2rem; background:rgba(255,255,255,.10);
  border:1.5px solid rgba(212,175,55,.65);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  box-shadow:0 10px 28px rgba(0,0,0,.28), 0 0 0 6px rgba(212,175,55,.10);
  margin:0 auto 22px;
}
.idc-gratitude .idc-ornament{
  justify-content:center;
  margin-left:auto;
  margin-right:auto;
  margin-top:18px;
}
.idc-gratitude .idc-section-title{
  color:#fff;
  text-shadow:0 4px 24px rgba(0,0,0,.35);
  text-wrap:balance;
  margin-left:auto;
  margin-right:auto;
}

/* Body text — narrower for visual centering */
.idc-gratitude__text{
  max-width:58ch;
  margin:22px auto 0;
  text-align:center;
  font-size:clamp(1rem,1.7vw,1.11rem);
  font-weight:300;
  color:rgba(255,255,255,.92);
  line-height:1.9;
  text-shadow:0 2px 12px rgba(0,0,0,.35);
  text-wrap:pretty;
}
.idc-gratitude__text + .idc-gratitude__text{ margin-top:16px; }
.idc-gratitude__text strong{ font-weight:600; color:var(--gold); }

/* Blessing box — centered */
.idc-gratitude__blessing{
  margin:32px auto 0;
  max-width:560px;
  width:100%;
  padding:18px 26px;
  border-radius:14px;
  border:1px solid rgba(212,175,55,.35);
  background:rgba(212,175,55,.08);
  backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px);
  text-align:center;
}
.idc-gratitude__blessing-bn{
  font-family:var(--font-bengali);
  font-size:clamp(1.15rem,2.3vw,1.4rem);
  font-weight:600;
  color:var(--gold);
  line-height:1.5;
  letter-spacing:.01em;
  text-align:center;
}
.idc-gratitude__blessing-en{
  display:block;
  margin-top:6px;
  font-size:.82rem;
  font-style:italic;
  font-weight:300;
  letter-spacing:.06em;
  color:rgba(255,255,255,.72);
  text-align:center;
}

/* =============================================================
   3. BENEFITS
   ============================================================= */
.idc-benefits{ padding:clamp(52px,7vw,88px) 0 clamp(30px,4vw,44px); background:linear-gradient(180deg, var(--cream) 0%, #F6F1EA 100%); }
.idc-benefits__grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.idc-benefit{
  position:relative; background:var(--white); border-radius:var(--radius); padding:32px 22px 30px; text-align:center;
  box-shadow:var(--shadow-sm); border:1px solid var(--line); border-top:3px solid var(--gold);
  transition:transform .28s ease, box-shadow .28s ease; overflow:hidden;
}
.idc-benefit::after{ content:""; position:absolute; top:-40px; right:-40px; width:100px; height:100px; border-radius:50%; background:radial-gradient(circle,rgba(212,175,55,.14),transparent 70%); transition:transform .4s ease; }
.idc-benefit:hover{ transform:translateY(-6px); box-shadow:var(--shadow-md); }
.idc-benefit:hover::after{ transform:scale(1.5); }
.idc-benefit__icon{
  display:grid; place-items:center; width:64px; height:64px; margin:0 auto 18px; border-radius:50%;
  font-size:1.7rem; background:linear-gradient(145deg,#FFFBF3,#F7EFE1);
  border:1.5px solid rgba(212,175,55,.45); box-shadow:0 6px 16px rgba(212,175,55,.16);
  transition:box-shadow .3s ease, transform .3s ease;
}
.idc-benefit:hover .idc-benefit__icon{ box-shadow:0 0 22px rgba(212,175,55,.55), 0 6px 16px rgba(212,175,55,.16); transform:scale(1.05); }
.idc-benefit__title{ font-size:1.1rem; color:var(--maroon); margin-bottom:10px; }
.idc-benefit__text{ font-size:.9rem; font-weight:300; color:var(--muted); line-height:1.7; }

/* =============================================================
   4. STATS
   ============================================================= */
.idc-stats{ padding:clamp(36px,5vw,60px) 0 clamp(46px,6vw,72px); background:#F6F1EA; }
.idc-stats__inner{
  display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px; padding:36px 30px; border-radius:22px;
  background:linear-gradient(140deg,var(--maroon-dark),var(--maroon) 60%,#5C0017);
  border:1px solid rgba(212,175,55,.32); box-shadow:0 18px 44px rgba(74,0,18,.22);
  position:relative; overflow:hidden;
}
.idc-stats__inner::before{ content:""; position:absolute; inset:0; background-image:radial-gradient(circle,rgba(212,175,55,.16) 1px,transparent 1.1px); background-size:22px 22px; opacity:.4; pointer-events:none; }
.idc-stats__item{ position:relative; text-align:center; padding:6px 8px; border-right:1px solid rgba(212,175,55,.22); }
.idc-stats__item:last-child{ border-right:none; }
.idc-stats__num{ display:block; font-family:var(--font-display); font-size:clamp(1.7rem,3.4vw,2.4rem); font-weight:700; color:var(--gold); line-height:1.1; text-shadow:0 2px 14px rgba(0,0,0,.35); }
.idc-stats__label{ display:block; margin-top:8px; font-size:.74rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:rgba(255,255,255,.72); }

/* =============================================================
   5. ACTION CARDS
   ============================================================= */
.idc-actions{ padding:0 0 clamp(56px,8vw,96px); background:#F6F1EA; }
.idc-actions__grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.idc-action-card{ position:relative; border-radius:20px; padding:clamp(28px,4vw,44px); display:flex; flex-direction:column; align-items:flex-start; gap:14px; overflow:hidden; min-height:100%; }
.idc-action-card__icon{ display:grid; place-items:center; width:52px; height:52px; border-radius:14px; font-size:1.4rem; margin-bottom:4px; }
.idc-action-card__title{ font-size:clamp(1.25rem,2.3vw,1.6rem); line-height:1.25; }
.idc-action-card__text{ font-size:.94rem; font-weight:300; line-height:1.75; margin-bottom:8px; }
.idc-action-card .idc-btn{ margin-top:auto; }
.idc-action-card--light{ background:var(--white); border:1px solid var(--line); box-shadow:var(--shadow-sm); }
.idc-action-card--light .idc-action-card__icon{ background:var(--gold-soft); border:1px solid rgba(212,175,55,.4); }
.idc-action-card--light .idc-action-card__title{ color:var(--maroon); }
.idc-action-card--light .idc-action-card__text{ color:var(--muted); }
.idc-action-card--maroon{
  color:#fff; border:1px solid rgba(212,175,55,.28);
  background:radial-gradient(520px 220px at 100% 0%, rgba(212,175,55,.20), transparent 65%), linear-gradient(140deg,var(--maroon-dark),var(--maroon) 62%,#5C0017);
  box-shadow:0 18px 44px rgba(74,0,18,.26);
}
.idc-action-card--maroon::before{ content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,transparent,var(--gold),transparent); }
.idc-action-card--maroon .idc-action-card__icon{ background:rgba(212,175,55,.16); border:1px solid rgba(212,175,55,.45); }
.idc-action-card--maroon .idc-action-card__title{ color:#fff; }
.idc-action-card--maroon .idc-action-card__text{ color:rgba(255,255,255,.82); }

/* =============================================================
   6. SHOWCASE
   ============================================================= */
.idc-showcase{
  position:relative; padding:clamp(56px,8vw,92px) 0 clamp(60px,8vw,96px); color:#fff;
  background:
    radial-gradient(760px 320px at 12% 0%, rgba(212,175,55,.18), transparent 62%),
    radial-gradient(700px 340px at 92% 100%, rgba(212,175,55,.14), transparent 62%),
    linear-gradient(150deg, var(--maroon-dark), var(--maroon) 55%, var(--maroon-deep));
  overflow:hidden;
}
.idc-showcase::before{ content:""; position:absolute; inset:0; background-image:radial-gradient(circle,rgba(212,175,55,.16) 1.2px,transparent 1.3px); background-size:30px 30px; opacity:.4; pointer-events:none; }
.idc-showcase .idc-container{ position:relative; z-index:2; }
.idc-showcase .idc-section-title{ color:#fff; }
.idc-showcase .idc-section-sub{ color:rgba(255,255,255,.75); }
.idc-showcase .idc-kicker{ color:var(--gold); }
.idc-showcase__rule{ height:1px; width:100%; margin:0 0 42px; background:linear-gradient(90deg,transparent,rgba(212,175,55,.75),transparent); }
.idc-carousel{ position:relative; }
.idc-carousel__viewport{ overflow:hidden; padding:8px 6px 22px; margin:0 4px; }
.idc-carousel__track{ display:flex; gap:22px; transition:transform .55s cubic-bezier(.4,0,.2,1); will-change:transform; }
.idc-member{
  flex:0 0 calc((100% - 66px)/4);
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:12px;
  padding:30px 18px 26px; border-radius:18px;
  background:linear-gradient(180deg,#FFFFFF 0%,var(--cream-2) 100%);
  border:1px solid rgba(212,175,55,.35); box-shadow:0 14px 30px rgba(0,0,0,.20);
  transition:transform .3s ease, box-shadow .3s ease;
}
.idc-member:hover{ transform:translateY(-6px); box-shadow:0 22px 42px rgba(0,0,0,.30); }
.idc-member__avatar{
  width:92px; height:92px; border-radius:50%; display:grid; place-items:center; flex:none;
  background:radial-gradient(circle at 32% 26%, rgba(212,175,55,.35), transparent 60%), linear-gradient(145deg,var(--maroon),var(--maroon-deep));
  border:3px solid var(--gold); box-shadow:0 0 0 5px rgba(212,175,55,.16), 0 8px 18px rgba(74,0,18,.22);
}
.idc-member__avatar span{ font-family:var(--font-display); font-size:1.75rem; font-weight:700; letter-spacing:.04em; color:var(--gold); text-shadow:0 2px 8px rgba(0,0,0,.35); }
.idc-member__name{ font-size:1.16rem; color:var(--maroon); line-height:1.25; }
.idc-member__role{ font-size:.7rem; font-weight:500; letter-spacing:.13em; text-transform:uppercase; color:var(--muted); line-height:1.5; }
.idc-member__badge{
  margin-top:4px; display:inline-flex; align-items:center; gap:6px; padding:7px 14px; border-radius:999px;
  font-size:.7rem; font-weight:500; letter-spacing:.05em; color:var(--maroon-deep);
  background:linear-gradient(135deg,var(--gold) 0%,var(--gold-dark) 100%);
  box-shadow:0 5px 14px rgba(212,175,55,.35); white-space:nowrap;
}
.idc-carousel__nav{
  position:absolute; top:50%; transform:translateY(-50%); z-index:5;
  width:46px; height:46px; display:grid; place-items:center; border-radius:50%; cursor:pointer;
  color:var(--gold); background:rgba(255,255,255,.07); border:1.5px solid rgba(212,175,55,.6);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  transition:background .25s ease, color .25s ease, opacity .25s ease, transform .2s ease;
}
.idc-carousel__nav:hover:not(:disabled){ background:var(--gold); color:var(--maroon-deep); border-color:var(--gold); }
.idc-carousel__nav:disabled{ opacity:.28; cursor:not-allowed; }
.idc-carousel__nav svg{ width:18px; height:18px; }
.idc-carousel__nav--prev{ left:-20px; }
.idc-carousel__nav--next{ right:-20px; }

/* =============================================================
   7. FOOTER
   ============================================================= */
.idc-footer{
  position:relative; padding:clamp(52px,7vw,84px) 0 clamp(46px,6vw,72px); text-align:center; color:#fff;
  background:radial-gradient(620px 240px at 50% 0%, rgba(212,175,55,.18), transparent 65%), linear-gradient(180deg,var(--maroon-dark),var(--maroon-deep));
  border-top:3px solid var(--gold); overflow:hidden;
}
.idc-footer__lamps{ display:flex; justify-content:center; gap:clamp(16px,5vw,48px); font-size:1.55rem; margin-bottom:22px; filter:drop-shadow(0 0 14px rgba(212,175,55,.5)); }
.idc-footer__lamps span{ animation:idc-flicker 3.2s ease-in-out infinite; }
.idc-footer__lamps span:nth-child(2){ animation-delay:.7s; }
.idc-footer__lamps span:nth-child(3){ animation-delay:1.4s; }
@keyframes idc-flicker{ 0%,100%{ opacity:1; transform:translateY(0); } 50%{ opacity:.72; transform:translateY(-4px); } }
.idc-footer__title{ font-size:clamp(1.5rem,3.4vw,2.3rem); color:#fff; }
.idc-footer__title em{ font-style:normal; color:var(--gold); }
.idc-footer__sub{ margin-top:16px; font-size:clamp(.95rem,1.7vw,1.08rem); font-weight:300; color:rgba(255,255,255,.82); letter-spacing:.03em; }
.idc-footer__note{ margin-top:26px; font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; color:rgba(212,175,55,.8); }

/* =============================================================
   STICKY CTA
   ============================================================= */
.idc-sticky-cta{
  position:fixed; right:22px; bottom:22px; z-index:99900;
  display:inline-flex; align-items:center; gap:10px; padding:14px 22px; border-radius:999px; cursor:pointer;
  font-family:var(--font-body); font-size:.9rem; font-weight:500; letter-spacing:.02em;
  color:var(--maroon-deep);
  background:linear-gradient(135deg,var(--gold) 0%,var(--gold-dark) 100%);
  border:1.5px solid rgba(255,255,255,.35);
  box-shadow:0 12px 32px rgba(74,0,18,.35), 0 0 0 6px rgba(212,175,55,.16);
  opacity:0; transform:translateY(20px) scale(.92); pointer-events:none;
  transition:opacity .35s ease, transform .35s cubic-bezier(.2,.9,.3,1.2), box-shadow .3s ease;
}
.idc-sticky-cta.is-visible{ opacity:1; transform:translateY(0) scale(1); pointer-events:auto; animation:idc-cta-pulse 2.6s ease-in-out infinite; }
.idc-sticky-cta:hover{ box-shadow:0 16px 40px rgba(74,0,18,.45), 0 0 0 8px rgba(212,175,55,.22); }
@keyframes idc-cta-pulse{
  0%,100%{ box-shadow:0 12px 32px rgba(74,0,18,.35), 0 0 0 6px rgba(212,175,55,.16); }
  50%    { box-shadow:0 12px 32px rgba(74,0,18,.35), 0 0 0 12px rgba(212,175,55,.08); }
}

/* =============================================================
   MODAL — SHARED SHELL
   ============================================================= */
.idc-overlay{
  position:fixed; inset:0; z-index:99990;
  display:flex; align-items:center; justify-content:center; padding:20px;
  background:rgba(26,4,12,.78);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  opacity:0; visibility:hidden;
  transition:opacity .3s ease, visibility .3s ease; overflow-y:auto;
}
.idc-overlay.is-open{ opacity:1; visibility:visible; }
.idc-modal{
  position:relative; width:min(540px,100%); max-height:94vh; overflow-y:auto;
  border-radius:22px; background:var(--cream);
  box-shadow:0 30px 80px rgba(0,0,0,.4), 0 0 0 1px rgba(212,175,55,.2);
  transform:translateY(22px) scale(.965); opacity:0;
  transition:transform .4s cubic-bezier(.2,.9,.3,1.2), opacity .3s ease;
  -webkit-overflow-scrolling:touch;
}
.idc-overlay.is-open .idc-modal{ transform:translateY(0) scale(1); opacity:1; }
.idc-modal__x{
  position:absolute; top:14px; right:14px; z-index:8;
  width:34px; height:34px; display:grid; place-items:center; border-radius:50%;
  cursor:pointer; font-size:.95rem; line-height:1;
  color:var(--maroon); background:var(--cream);
  border:1px solid rgba(212,175,55,.45);
  box-shadow:0 4px 12px rgba(0,0,0,.10);
  transition:background .25s ease, color .25s ease, transform .2s ease;
}
.idc-modal__x:hover{ background:var(--gold); color:var(--maroon-deep); transform:rotate(90deg); }

/* =============================================================
   JOIN MODAL
   ============================================================= */
.idc-modal--join{
  width:min(880px, 100%);
  display:grid;
  grid-template-columns:230px 1fr;
  padding:0;
  overflow:hidden;
  background:
    radial-gradient(500px 300px at 100% 0%, rgba(212,175,55,.10), transparent 60%),
    var(--cream);
}
.idc-modal-join__visual{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 30%, rgba(212,175,55,.22), transparent 60%),
    linear-gradient(160deg, #FFF9EE 0%, #F4E6C8 100%);
  border-right:1px solid rgba(212,175,55,.35);
}
.idc-modal-join__visual::after{
  content:"";
  position:absolute;
  top:0; bottom:0; right:0;
  width:1px;
  background:linear-gradient(180deg, transparent, rgba(212,175,55,.7), transparent);
}
.idc-modal-join__visual-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  z-index:2;
}
.idc-modal-join__visual-fallback{
  position:absolute;
  inset:0;
  z-index:1;
  display:grid;
  place-items:center;
  padding:24px;
}
.idc-modal-join__visual-fallback svg{
  width:80%;
  max-width:170px;
  color:var(--gold-dark);
  opacity:.55;
}
.idc-modal-join__content{
  display:flex;
  flex-direction:column;
  padding:30px 34px 32px;
  min-width:0;
}
.idc-modal-join__brand{
  display:flex;
  align-items:center;
  gap:12px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(212,175,55,.35);
  margin-bottom:18px;
}
.idc-modal-join__brand-logo{
  width:42px;
  height:42px;
  border-radius:50%;
  object-fit:contain;
  flex:none;
  background:var(--cream);
  border:1.5px solid var(--gold);
  padding:3px;
}
.idc-modal-join__brand-text{
  display:flex;
  flex-direction:column;
  line-height:1.15;
}
.idc-modal-join__brand-text strong{
  font-family:var(--font-display);
  font-size:1rem;
  font-weight:700;
  color:var(--maroon);
  letter-spacing:.01em;
}
.idc-modal-join__brand-text span{
  font-size:.68rem;
  font-weight:500;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--maroon);
  opacity:.75;
}
.idc-modal-join__title{
  font-size:clamp(1.4rem, 3vw, 1.75rem);
  color:var(--red);
  line-height:1.2;
  text-align:center;
}
.idc-modal-join__sub{
  margin-top:6px;
  text-align:center;
  font-size:.86rem;
  font-weight:500;
  letter-spacing:.06em;
  color:var(--gold-dark);
}
.idc-modal-join__divider{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:14px 0 4px;
  color:var(--gold);
}
.idc-modal-join__divider::before,
.idc-modal-join__divider::after{
  content:"";
  height:1px;
  flex:1;
  max-width:100px;
  background:linear-gradient(90deg, transparent, var(--gold));
}
.idc-modal-join__divider::after{
  background:linear-gradient(270deg, transparent, var(--gold));
}
.idc-modal-join__lede{
  text-align:center;
  margin-top:10px;
  font-size:.88rem;
  font-weight:300;
  line-height:1.65;
  color:var(--muted);
  max-width:52ch;
  margin-inline:auto;
}
.idc-form{ padding-top:22px; }
.idc-form__grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px 16px;
}
.idc-field{ display:flex; flex-direction:column; gap:6px; }
.idc-field--full{ grid-column:1 / -1; }
.idc-field label{
  font-size:.76rem;
  font-weight:500;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--maroon);
}
.idc-field label .req{ color:var(--red); }
.idc-field__help{
  font-size:.72rem;
  font-weight:300;
  color:var(--muted);
  margin-top:1px;
  line-height:1.4;
}
.idc-input{ position:relative; display:flex; align-items:center; }
.idc-input__icon{
  position:absolute;
  left:12px;
  display:grid;
  place-items:center;
  width:30px;
  height:30px;
  border-radius:9px;
  background:var(--gold-soft);
  color:var(--maroon);
  pointer-events:none;
  transition:background .2s ease, color .2s ease;
}
.idc-input__icon svg{ width:16px; height:16px; display:block; }
.idc-input input,
.idc-input select{
  width:100%;
  padding:12px 14px 12px 52px;
  font-family:inherit;
  font-size:.9rem;
  color:var(--ink);
  background:var(--white);
  border:1.5px solid var(--line);
  border-radius:11px;
  outline:none;
  transition:border-color .2s ease, box-shadow .2s ease;
  appearance:none; -webkit-appearance:none;
}
.idc-input select{ padding-right:38px; cursor:pointer; }
.idc-input input::placeholder{ color:#A99C9F; font-weight:300; }
.idc-input input:focus,
.idc-input select:focus{
  border-color:var(--gold);
  box-shadow:0 0 0 4px rgba(212,175,55,.16);
}
.idc-input input:focus ~ .idc-input__icon,
.idc-input select:focus ~ .idc-input__icon{
  background:var(--gold);
  color:var(--maroon-deep);
}
.idc-field--select .idc-input::after{
  content:"";
  position:absolute;
  right:16px;
  width:8px; height:8px;
  border-right:2px solid var(--maroon);
  border-bottom:2px solid var(--maroon);
  transform:rotate(45deg) translateY(-3px);
  pointer-events:none;
}
.idc-error{
  display:none;
  font-size:.74rem;
  color:var(--danger);
  letter-spacing:.01em;
}
.idc-field.has-error .idc-input input,
.idc-field.has-error .idc-input select{
  border-color:var(--danger);
  box-shadow:0 0 0 4px rgba(192,57,43,.10);
  background:#FFF8F7;
}
.idc-field.has-error .idc-error{ display:block; }
.idc-form__actions{
  grid-column:1 / -1;
  display:flex;
  gap:12px;
  margin-top:14px;
}
.idc-form__actions .idc-btn{ flex:1; padding:13px 22px; }

/* =============================================================
   SUCCESS MODAL
   ============================================================= */
.idc-modal--success{
  width:min(540px,100%);
  padding:0 0 30px;
  text-align:center;
  overflow:hidden;
  position:relative;
  background:
    radial-gradient(500px 300px at 50% 0%, rgba(212,175,55,.10), transparent 60%),
    var(--cream);
}
.idc-success__topbar{
  height:5px;
  background:linear-gradient(90deg, var(--red), var(--gold) 35%, var(--gold-dark) 65%, var(--maroon));
}
.idc-petals{
  position:absolute; inset:0;
  overflow:hidden;
  pointer-events:none;
  z-index:0;
}
.idc-petal{
  position:absolute;
  top:-24px;
  left:var(--x);
  width:9px;
  height:13px;
  background:radial-gradient(ellipse at center, #FF8095 0%, #C8102E 100%);
  border-radius:100% 0 100% 0;
  opacity:0;
  animation:idc-petal-fall var(--dur) linear infinite;
  animation-delay:var(--delay);
  transform:rotate(var(--rot, 0deg));
}
@keyframes idc-petal-fall{
  0%   { transform:translateY(-30px) rotate(var(--rot,0deg)); opacity:0; }
  10%  { opacity:.55; }
  85%  { opacity:.55; }
  100% { transform:translateY(calc(100vh * 0.65)) rotate(calc(var(--rot,0deg) + 180deg)); opacity:0; }
}
.idc-success__content{ position:relative; z-index:1; }
.idc-success__header{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:22px 30px 8px;
}
.idc-success__header-logo{
  width:38px;
  height:38px;
  border-radius:50%;
  object-fit:contain;
  flex:none;
  background:var(--cream);
  border:1.5px solid var(--gold);
  padding:2px;
}
.idc-success__header-text{
  text-align:left;
  line-height:1.1;
}
.idc-success__header-text strong{
  display:block;
  font-family:var(--font-display);
  font-size:.95rem;
  font-weight:700;
  color:var(--maroon);
}
.idc-success__header-text span{
  display:block;
  font-size:.62rem;
  font-weight:500;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--maroon);
  opacity:.75;
}
.idc-success__hero{
  position:relative;
  width:min(260px, 62%);
  aspect-ratio:1.15;
  margin:8px auto 0;
  display:grid;
  place-items:center;
}
.idc-success__hero-rays{
  position:absolute;
  inset:-6% -6% -6% -6%;
  color:var(--gold);
  opacity:.85;
  animation:idc-rays-pulse 5s ease-in-out infinite;
  pointer-events:none;
}
@keyframes idc-rays-pulse{
  0%,100%{ opacity:.7; transform:scale(1); }
  50%    { opacity:.95; transform:scale(1.04); }
}
.idc-success__hero-img{
  position:relative;
  z-index:2;
  width:88%;
  max-width:220px;
  object-fit:contain;
  filter:drop-shadow(0 12px 24px rgba(107,0,27,.18));
}
.idc-success__hero-fallback{
  position:relative;
  z-index:2;
  display:none;
  place-items:center;
  width:88%;
}
.idc-success__hero-fallback svg{
  width:100%;
  max-width:180px;
  color:var(--maroon);
}
.idc-success__title{
  font-size:clamp(1.4rem, 3.4vw, 1.75rem);
  color:var(--maroon);
  line-height:1.25;
  padding:8px 30px 0;
  margin:0;
}
.idc-success__bn{
  margin-top:6px;
  font-family:var(--font-bengali);
  font-size:1.05rem;
  font-weight:600;
  color:var(--gold-dark);
  letter-spacing:.02em;
}
.idc-success__sub{
  margin-top:12px;
  font-size:.7rem;
  font-weight:500;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--muted);
  padding:0 30px;
}
.idc-success__divider{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:16px auto 0;
  width:min(220px, 68%);
}
.idc-success__divider span{
  flex:1;
  height:1px;
  background:linear-gradient(90deg, transparent, var(--gold));
}
.idc-success__divider span:last-child{
  background:linear-gradient(270deg, transparent, var(--gold));
}
.idc-success__divider i{
  width:6px; height:6px;
  background:var(--gold);
  transform:rotate(45deg);
  flex:none;
}
.idc-success__body{
  margin:16px auto 0;
  padding:0 30px;
  max-width:46ch;
  font-size:.92rem;
  font-weight:300;
  line-height:1.75;
  color:#5C4449;
}
.idc-success__body strong{
  font-weight:600;
  color:var(--maroon);
}
.idc-success__steps{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  gap:0;
  margin:24px auto 4px;
  padding:0 24px;
  max-width:420px;
}
.idc-success__step{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:7px;
  flex:0 0 auto;
  min-width:62px;
}
.idc-success__step-icon{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:50%;
  font-size:.9rem;
  font-weight:600;
  color:var(--muted);
  background:var(--white);
  border:1.5px solid var(--line);
}
.idc-success__step.is-done .idc-success__step-icon{
  color:var(--maroon-deep);
  background:linear-gradient(135deg, var(--gold), var(--gold-dark));
  border-color:var(--gold-dark);
  box-shadow:0 4px 12px rgba(212,175,55,.35);
}
.idc-success__step.is-current .idc-success__step-icon{
  color:var(--maroon);
  background:#FFF8E8;
  border-color:var(--gold);
  box-shadow:0 0 0 4px rgba(212,175,55,.14);
  animation:idc-step-pulse 2s ease-in-out infinite;
}
@keyframes idc-step-pulse{
  0%,100%{ box-shadow:0 0 0 4px rgba(212,175,55,.14); }
  50%    { box-shadow:0 0 0 8px rgba(212,175,55,.06); }
}
.idc-success__step-label{
  font-size:.66rem;
  font-weight:500;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--muted);
  white-space:nowrap;
}
.idc-success__step.is-done .idc-success__step-label,
.idc-success__step.is-current .idc-success__step-label{ color:var(--maroon); }
.idc-success__step-line{
  flex:1 1 auto;
  height:2px;
  background:var(--line);
  margin-top:17px;
  min-width:18px;
  max-width:52px;
  border-radius:2px;
}
.idc-success__step-line.is-done{
  background:linear-gradient(90deg, var(--gold), var(--gold-dark));
}
.idc-success__card{
  margin:22px auto 0;
  max-width:400px;
  padding:4px 0;
  border-radius:16px;
  background:linear-gradient(180deg, #FFFCF6, var(--white));
  border:1px solid rgba(212,175,55,.35);
  box-shadow:0 4px 14px rgba(107,0,27,.06);
  overflow:hidden;
}
.idc-success__card-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 20px;
  text-align:left;
}
.idc-success__card-divider{
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(212,175,55,.35), transparent);
  margin:0 20px;
}
.idc-success__card-label{
  font-size:.68rem;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--muted);
  flex:none;
}
.idc-success__card-value{
  font-family:var(--font-display);
  font-size:1rem;
  font-weight:700;
  color:var(--maroon);
  letter-spacing:.01em;
  text-decoration:none;
}
.idc-success__card-value--link{ transition:color .2s ease; white-space:nowrap; }
.idc-success__card-value--link:hover{ color:var(--gold-dark); text-decoration:underline; text-underline-offset:3px; }
.idc-success__ref{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 12px;
  border-radius:999px;
  font-family:ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size:.7rem;
  letter-spacing:.06em;
  color:var(--maroon);
  background:rgba(212,175,55,.10);
  border:1px solid rgba(212,175,55,.45);
  cursor:pointer;
  transition:background .2s ease, border-color .2s ease, color .2s ease;
}
.idc-success__ref:hover{ background:rgba(212,175,55,.22); border-color:var(--gold); }
.idc-success__ref svg{ width:12px; height:12px; opacity:.75; flex:none; }
.idc-success__ref.is-copied{ background:rgba(107,0,27,.10); border-color:var(--maroon); color:var(--maroon); }
.idc-success__foot{
  margin:16px auto 0;
  padding:0 30px;
  font-size:.76rem;
  font-weight:300;
  color:var(--muted);
  line-height:1.7;
  max-width:46ch;
}
.idc-success__foot a{
  color:var(--maroon);
  text-decoration:none;
  font-weight:500;
  border-bottom:1px dotted rgba(107,0,27,.4);
}
.idc-success__foot a:hover{ color:var(--gold-dark); }
.idc-success__actions{
  display:flex;
  gap:10px;
  margin-top:22px;
  padding:0 30px;
  justify-content:center;
  flex-wrap:wrap;
}
.idc-success__actions .idc-btn{
  min-width:158px;
  flex:0 1 auto;
  padding:12px 22px;
}

/* =============================================================
   ATTENDANCE MODAL
   ============================================================= */
.idc-modal--info{
  width:min(520px, 100%);
  padding:0 0 30px;
  text-align:center;
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(500px 300px at 50% 0%, rgba(212,175,55,.10), transparent 60%),
    var(--cream);
}
.idc-modal--info .idc-success__topbar{ background:linear-gradient(90deg, var(--maroon), var(--gold), var(--maroon)); }
.idc-modal--info .idc-success__title{ padding-top:34px; }

/* =============================================================
   RESPONSIVE
   ============================================================= */
@media (max-width:1024px){
  .idc-benefits__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .idc-member{ flex:0 0 calc((100% - 22px)/2); }
  .idc-carousel__nav--prev{ left:-10px; }
  .idc-carousel__nav--next{ right:-10px; }
  .idc-alpana--hero-bg{ right:-260px; opacity:.06; }
}

@media (max-width:860px){
  .idc-hero__inner{ grid-template-columns:1fr; text-align:center; gap:40px; }
  .idc-hero__eyebrow{ margin-inline:auto; }
  .idc-hero .idc-ornament{ justify-content:center; }
  .idc-hero__lede{ margin-inline:auto; }
  .idc-hero__emblem-wrap{ order:-1; }
  .idc-actions__grid{ grid-template-columns:1fr; }
  .idc-action-card{ align-items:center; text-align:center; }
  .idc-action-card .idc-btn{ margin-top:6px; }
  .idc-stats__inner{ grid-template-columns:repeat(2,minmax(0,1fr)); padding:26px 20px; }
  .idc-stats__item{ border-right:none; border-bottom:1px solid rgba(212,175,55,.22); padding:14px 6px; }
  .idc-stats__item:nth-child(odd){ border-right:1px solid rgba(212,175,55,.22); }
  /* Five tiles in two columns: the fifth sits alone on the last row, so it
     spans the full width and drops both divider rules. The old
     :nth-last-child(-n+2) assumed an even count and stripped the bottom
     border from the fourth tile, which still has a row beneath it. */
  .idc-stats__item:last-child{ grid-column:1 / -1; border-right:none; border-bottom:none; }
  .idc-section-head--left{ text-align:center; margin-inline:auto; }

  .idc-modal--join{
    grid-template-columns:1fr;
    width:min(560px, 100%);
  }
  .idc-modal-join__visual{
    height:110px;
    border-right:none;
    border-bottom:1px solid rgba(212,175,55,.35);
  }
  .idc-modal-join__visual::after{ display:none; }
  .idc-modal-join__visual-img{ object-position:center 28%; }
  .idc-modal-join__content{ padding:24px 26px 28px; }
}

@media (max-width:640px){
  .idc-benefits__grid{ grid-template-columns:1fr; gap:16px; }
  .idc-member{ flex:0 0 100%; }
  .idc-carousel__viewport{ padding:8px 2px 20px; margin:0; }
  .idc-carousel__nav{
    width:40px; height:40px; top:auto; bottom:-6px; transform:none;
    background:rgba(255,255,255,.10);
  }
  .idc-carousel__nav--prev{ left:calc(50% - 48px); }
  .idc-carousel__nav--next{ right:calc(50% - 48px); }
  .idc-carousel{ padding-bottom:56px; }

  .idc-modal--join{ width:100%; }
  .idc-modal-join__content{ padding:20px 20px 24px; }
  .idc-form__grid{ grid-template-columns:1fr; }
  .idc-form__actions{ flex-direction:column-reverse; }

  .idc-btn{ padding:12px 20px; font-size:.9rem; }
  .idc-alpana--hero{ width:120vw; height:120vw; opacity:.10; }
  .idc-alpana--hero-bg{ width:120vw; height:120vw; right:-40vw; opacity:.06; }
  .idc-paisley--tl,.idc-paisley--br{ width:80px; height:120px; opacity:.16; }
  .idc-paisley--card{ width:80px; height:120px; opacity:.10; }

  .idc-sticky-cta{ right:14px; bottom:14px; padding:12px 18px; font-size:.84rem; }

  .idc-modal--success,.idc-modal--info{ padding-bottom:24px; }
  .idc-success__hero{ width:min(220px, 58%); }
  .idc-success__steps{ padding:0 14px; }
  .idc-success__step{ min-width:52px; }
  .idc-success__step-icon{ width:32px; height:32px; font-size:.8rem; }
  .idc-success__step-label{ font-size:.6rem; letter-spacing:.06em; }
  .idc-success__step-line{ margin-top:15px; max-width:32px; }
  .idc-success__actions{ flex-direction:column; padding:0 22px; }
  .idc-success__actions .idc-btn{ width:100%; }
  .idc-success__card{ margin-left:16px; margin-right:16px; }

  .idc-gratitude__text{ max-width:100%; padding:0 4px; }
  .idc-gratitude__blessing{ max-width:100%; margin-left:0; margin-right:0; }
}

@media (max-width:380px){
  .idc-hero__eyebrow{ font-size:.66rem; letter-spacing:.1em; padding:7px 12px; }
}

@media (prefers-reduced-motion: reduce){
  .idc-page *,.idc-page *::before,.idc-page *::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:.001ms !important;
  }
  .idc-alpana--hero,.idc-alpana--hero-bg,.idc-petal{ animation:none; }
}

/* Hero ring carrying a photograph instead of the drawn emblem. Keeps the gold
   ring, the inner hairline and the float; drops the padding and centring the
   text version needs. The photo is clipped to the circle by overflow, so a
   landscape group shot crops to its middle rather than letterboxing. */
.idc-emblem--photo{
  padding:0;
  overflow:hidden;
  background:linear-gradient(145deg,var(--maroon-dark),var(--maroon-deep));
  border-style:solid;
  border-color:rgba(212,175,55,.75);
}
.idc-emblem--photo::before{ z-index:2; }
.idc-emblem__photo{
  width:100%; height:100%;
  object-fit:cover;
  border-radius:50%;
  display:block;
}

/* =============================================================
   GRATITUDE PHOTO LAYER
   Stack, back to front: photo -> maroon veil (::before) -> dot
   grid (::after) -> alpana -> text. The veil sits between the
   photo and the alpana so the mandala stays crisp gold on top
   rather than being dimmed along with the photograph.
============================================================= */
.idc-gratitude__photo{
  position:absolute; inset:0; z-index:-1;
  background-size:cover;
  background-position:center 35%;
  background-repeat:no-repeat;
  /* Blurred on purpose. Sharp faces compete with the words in front of them;
     softened, the photo reads as "our people are behind this" without asking
     to be looked at. The scale hides the transparent edge blur pulls inward. */
  filter:blur(6px) saturate(.72);
  transform:scale(1.06);
}

/* A lighter veil, but only where there is actually a photo to reveal. With no
   image the original near-opaque maroon is the richer look, so it stays. */
.idc-gratitude--photo::before{
  background:
    radial-gradient(600px 300px at 50% 0%, rgba(212,175,55,.18), transparent 65%),
    /* Focused darkening behind the text column. This is what guarantees the
       copy stays readable if somebody later sets a bright photo. */
    radial-gradient(780px 440px at 50% 52%, rgba(34,0,9,.58), transparent 76%),
    linear-gradient(135deg, rgba(74,0,18,.74) 0%, rgba(107,0,27,.62) 45%, rgba(52,0,12,.78) 100%);
}

@media (prefers-reduced-motion: reduce){
  .idc-gratitude__photo{ transform:none; }
}

/* =============================================================
   ROSTER CENTRING

   The track is a fixed 4-up flex row, so a roster of one or two members sat
   hard against the left edge with a gap where the other cards would be. The
   past-event grid centres its contents; this matches it.

   `safe center` and not plain `center`: once there are more members than fit,
   a centred non-wrapping flex row overflows EQUALLY in both directions and
   the first cards become unreachable -- the viewport clips them and the
   carousel only pages forward. `safe` falls back to flex-start exactly at
   that point, so centring applies while it helps and gets out of the way
   when it would hide people. The plain value is kept first as a fallback for
   browsers without `safe`.
============================================================= */
.idc-carousel__track {
    justify-content: center;
    justify-content: safe center;
}

/* =============================================================
   HEADER SEAM

   On the light-pilot pages the site header is a FLAT, fully opaque maroon.
   That is right on tickets or contact, where the page beneath it is cream and
   a hard edge is exactly what you want.

   This page is the first light-pilot page whose hero is ALSO maroon, and a
   flat slab laid over the hero's gradient (#34000C -> #4A0012 -> #6B001B ->
   #5C0017) left a visible horizontal step across the full width, with the
   header's gold hairline drawn along it. Two maroons that are close but not
   equal read worse than two that are plainly different.

   So here the header is translucent and blurred, and it samples whatever is
   behind it: over the hero the step collapses, and over the cream sections
   further down 86% still reads as solid maroon with the nav text legible.
   The hairline goes, and a soft shadow replaces it so the header keeps its
   lift without drawing a line.

   Scoped to .idc-committee-light, so the other light pages keep the hard
   edge they are designed around.
============================================================= */
/*
 * !important is required, not preferred: shared-light.css sets
 *   .site-header         { background: var(--chrome)    !important; }
 *   .site-header.scrolled { background: var(--chrome-hi) !important; }
 * and !important beats specificity, so a plain rule here loses no matter how
 * many classes it carries. Overriding in kind is the only way short of
 * editing the shared sheet, which would change every light page.
 */
.idc-committee-light .site-header,
.idc-committee-light .site-header.scrolled {
    background: rgba(92, 0, 24, 0.86) !important;
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
    border-bottom: none;
    box-shadow: 0 14px 30px -18px rgba(0, 0, 0, 0.55);
}

/* =============================================================
   HERO CLEARANCE

   The hero opened with padding-top: clamp(56px, 8vw, 96px), which is what the
   design used as a standalone page with nothing above it. In the theme there
   IS something above it: the top bar (45px) and the fixed site header (96px)
   both sit over the page, occupying the first ~137px.

   82px of padding put the eyebrow pill at y=109 -- 28px UNDER the header, so
   its top edge was sliced off. The rest of the hero looked fine, which is why
   this read as a spacing problem rather than an overlap.

   The theme's own .page-hero already reserves ~140px for exactly this reason;
   this matches that, plus room to breathe so the pill is not just technically
   clear but visually separate.
============================================================= */
.idc-hero {
    padding-top: clamp(150px, 16vw, 185px);
}

/* Honeypot: off-screen rather than display:none, because some bots skip any
   field that is not rendered. It must be reachable in the DOM and invisible
   to a person. */
.idc-hp {
    position: absolute !important;
    left: -9999px !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
}
