:root{
    --saffron:#F0A400;
    --saffron-deep:#C8850A;
    --green:#1B7A3D;
    --green-deep:#0B3D22;
    --navy:#16234A;
    --cream:#FBF6EA;
    --white:#FFFFFF;
    --ink:#1D2430;
    --line:rgba(22,35,74,0.12);
    --shadow: 0 20px 45px -20px rgba(11,61,34,0.35);
    --radius: 18px;
  }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--cream);
    color:var(--ink);
    font-family:'Noto Sans Kannada','Inter',sans-serif;
    line-height:1.65;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%; display:block;}
  a{color:inherit;}

  .eng, .eng-display{font-family:'Fraunces','Inter',serif;}

  h1,h2,h3,h4{
    font-family:'Fraunces','Noto Sans Kannada',serif;
    color:var(--navy);
    margin:0 0 .5em;
    letter-spacing:-0.01em;
  }
  h1{font-weight:600;}
  h2{font-weight:600;}

  .wrap{
    max-width:1180px;
    margin:0 auto;
    padding:0 24px;
  }

  /* signature tricolor rule — echoes the flag; used as the recurring divider motif */
  .tricolor-rule{
    height:6px;
    width:100%;
    background:linear-gradient(90deg,
      var(--saffron) 0 33.33%,
      #ffffff 33.33% 66.66%,
      var(--green) 66.66% 100%);
  }
  .tricolor-rule.thin{height:3px;}

  /* ---------- Header ---------- */
  header{
    position:sticky; top:0; z-index:100;
    background:rgba(251,246,234,0.92);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
  }
  .nav-row{
    display:flex; align-items:center; justify-content:space-between;
    padding:12px 24px;
  }
  .brand{display:flex; align-items:center; gap:12px; text-decoration:none; flex-shrink:0;}
  .brand img{width:46px; height:46px; border-radius:50%; object-fit:cover; box-shadow:0 0 0 2px var(--white), 0 0 0 3px var(--saffron); flex-shrink:0;}
  .brand-text .kn{font-size:1.05rem; font-weight:700; color:var(--navy); line-height:1.1; white-space:nowrap;}
  .brand-text .en{font-family:'Fraunces',serif; font-size:.72rem; letter-spacing:.14em; color:var(--green-deep); text-transform:uppercase; white-space:nowrap;}

  nav.links{display:flex; gap:20px; align-items:center;}
  nav.links a{
    font-size:.95rem; font-weight:500; text-decoration:none; color:var(--navy); white-space:nowrap;
    padding:6px 2px; border-bottom:2px solid transparent; transition:border-color .2s ease;
  }
  nav.links a:hover, nav.links a.active{border-color:var(--saffron);}
  .nav-login-btn{
    color:var(--navy) !important; padding:9px 18px !important; border-radius:999px;
    border:1.5px solid var(--line) !important; font-weight:600 !important; font-size:.9rem;
    white-space:nowrap; text-decoration:none; transition:background .2s ease, border-color .2s ease;
  }
  .nav-login-btn:hover{background:var(--cream); border-color:var(--saffron) !important;}
  .nav-cta{
    background:var(--green);
    color:var(--white) !important;
    padding:10px 20px !important;
    border-radius:999px;
    border-bottom:none !important;
    white-space:nowrap;
    font-weight:600 !important;
  }
  .nav-cta:hover{background:var(--green-deep); border-color:transparent !important;}
  .nav-donate-btn{
    background:var(--saffron);
    color:var(--navy) !important;
    padding:9px 18px !important;
    border-radius:999px;
    border-bottom:none !important;
    white-space:nowrap;
    font-weight:700 !important;
  }
  .nav-donate-btn:hover, .nav-donate-btn.active{background:var(--saffron-deep); border-color:transparent !important;}

  .menu-btn{display:none; background:none; border:none; font-size:1.6rem; color:var(--navy); cursor:pointer;}

  /* ---------- Hero (3-banner slider, full image, arrows + dots) ---------- */
  .hero{
    position:relative;
    color:var(--white);
    overflow:hidden;
    height:clamp(450px, 50vw, 650px);
    display:flex;
    align-items:center;
    background:var(--navy);
  }
  .hero .slide{
    position:absolute; inset:0; width:100%; height:100%;
    object-fit:cover; object-position:center;
    z-index:0; opacity:0;
    transition:opacity .8s ease;
  }
  .hero .slide.current{opacity:1; z-index:1;}
  .hero::after{
    content:"";
    position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(11,25,20,.2) 0%, rgba(11,35,20,.35) 55%, rgba(6,20,12,.6) 100%);
    z-index:2;
  }
  .hero-nav{
    position:absolute; top:50%; transform:translateY(-50%); z-index:4;
    width:46px; height:46px; border-radius:50%; border:none; cursor:pointer;
    background:rgba(255,255,255,.18); color:var(--white); font-size:1.3rem;
    display:flex; align-items:center; justify-content:center;
    transition:background .2s ease;
  }
  .hero-nav:hover{background:rgba(255,255,255,.32);}
  .hero-nav.prev{left:20px;}
  .hero-nav.next{right:20px;}
  .hero-dots{
    position:absolute; bottom:18px; left:50%; transform:translateX(-50%); z-index:4;
    display:flex; gap:8px;
  }
  .hero-dots .dot{
    width:9px; height:9px; border-radius:50%; border:none; padding:0; cursor:pointer;
    background:rgba(255,255,255,.4); transition:width .2s ease, background .2s ease;
  }
  .hero-dots .dot.active{width:24px; border-radius:5px; background:var(--saffron);}
  .hero-content{
    position:relative; z-index:3;
    max-width:1180px; margin:0 auto; padding:28px 24px 24px;
    width:100%;
  }
  .hero-badge{
    display:inline-flex; align-items:center; gap:10px;
    background:rgba(255,255,255,0.12);
    border:1px solid rgba(255,255,255,0.35);
    padding:6px 16px 6px 6px; border-radius:999px;
    font-size:.8rem; margin-bottom:14px;
  }
  .hero-badge img{width:28px; height:28px; border-radius:50%;}
  .hero h1{
    color:var(--white);
    font-size:clamp(1.6rem, 3.4vw, 2.5rem);
    font-weight:600;
    max-width:820px;
    margin-bottom:.35em;
    line-height:1.25;
  }
  .hero .rjp-mark{
    font-family:'Fraunces',serif; font-weight:700;
    color:var(--saffron);
    letter-spacing:.02em;
  }
  .hero p.lede{
    max-width:640px;
    font-size:.98rem;
    color:rgba(255,255,255,0.88);
    margin-bottom:1em;
  }
  .hero-cta-row{display:flex; gap:16px; flex-wrap:wrap; margin-bottom:16px;}
  .btn{
    display:inline-flex; align-items:center; gap:8px;
    padding:14px 28px;
    border-radius:999px;
    font-weight:600; font-size:1rem;
    text-decoration:none;
    transition:transform .18s ease, box-shadow .18s ease;
  }
  .btn:hover{transform:translateY(-2px);}
  .btn-primary{background:var(--saffron); color:var(--navy); box-shadow:0 12px 30px -10px rgba(240,164,0,.6);}
  .btn-ghost{background:rgba(255,255,255,.08); color:var(--white); border:1.5px solid rgba(255,255,255,.55);}

  .hero-tagline{
    font-family:'Fraunces',serif; font-style:italic; font-weight:500;
    color:rgba(255,255,255,.85);
    font-size:1.05rem;
  }

  /* ---------- section basics ---------- */
  section{padding:88px 0; scroll-margin-top:84px;}
  #top{scroll-margin-top:0;}
  .section-alt{background:var(--white);}
  .eyebrow{
    text-transform:uppercase; letter-spacing:.16em; font-size:.78rem;
    color:var(--green-deep); font-weight:700; margin-bottom:14px; display:block;
  }
  .section-head{max-width:720px; margin-bottom:52px;}
  .section-head h2{font-size:clamp(1.7rem,3vw,2.3rem);}
  .section-head p{color:#4a5364; font-size:1.05rem;}

  /* ---------- Why RJP / About grid ---------- */
  .about-grid{
    display:grid; grid-template-columns: 1.05fr .95fr; gap:56px; align-items:stretch;
  }
  .about-grid img{
    width:100%; height:100%; min-height:340px; object-fit:contain;
    background:var(--cream); padding:18px;
    border-radius:var(--radius); box-shadow:var(--shadow);
  }
  .about-copy p{margin:0 0 1.2em; color:#333c4a;}
  .pillars{list-style:none; margin:24px 0 0; padding:0; display:grid; gap:14px;}
  .pillars li{
    display:flex; gap:14px; align-items:flex-start;
    background:var(--cream); border:1px solid var(--line);
    padding:14px 18px; border-radius:12px; font-weight:500;
  }
  .pillars li .dot{
    width:10px; height:10px; border-radius:50%; margin-top:8px; flex:none;
    background:var(--saffron);
  }
  .pillars li:nth-child(2) .dot{background:var(--green);}
  .pillars li:nth-child(3) .dot{background:var(--navy);}
  .pillars li:nth-child(4) .dot{background:var(--saffron-deep);}

  /* ---------- Ideology / values ---------- */
  .ideology{
    background:var(--navy);
    color:#EAEFF7;
    position:relative;
  }
  .ideology .section-head p{color:#c3cde3;}
  .ideology .eyebrow{color:var(--saffron);}
  .ideology h2{color:var(--white);}
  .ideology-layout{display:grid; grid-template-columns:1fr 1.3fr; gap:48px; align-items:stretch;}
  .ideology-layout img{
    width:100%; height:100%; min-height:360px; object-fit:contain;
    background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); padding:18px;
    border-radius:var(--radius); box-shadow:0 25px 60px -25px rgba(0,0,0,.6);
  }
  .value-grid{
    display:grid; grid-template-columns:repeat(auto-fit, minmax(230px,1fr));
    gap:18px;
  }
  .value-card{
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.14);
    border-radius:16px; padding:24px;
  }
  .value-card .num{
    font-family:'Fraunces',serif; font-size:1rem; color:var(--saffron); font-weight:600;
  }
  .value-card p{margin:.6em 0 0; color:#d7deed; font-size:.98rem;}

  /* ---------- Difference (seal motif) ---------- */
  .difference{
    display:grid; grid-template-columns: repeat(3, 1fr); gap:24px;
  }
  .seal-card{text-align:center; padding:8px;}
  .seal{
    width:96px; height:96px; margin:0 auto 20px;
    border-radius:50%;
    border:3px solid var(--saffron);
    display:flex; align-items:center; justify-content:center;
    background:var(--white);
    box-shadow:0 10px 24px -12px rgba(27,122,61,.4);
    position:relative;
  }
  .seal::before{
    content:"";
    position:absolute; inset:6px;
    border-radius:50%;
    border:1.5px dashed var(--green);
  }
  .seal span{font-family:'Fraunces',serif; font-weight:700; font-size:1.6rem; color:var(--navy);}
  .seal-card h3{font-size:1.08rem;}
  .seal-card p{color:#4a5364; font-size:.96rem;}

  /* ---------- Agenda ---------- */
  .agenda-layout{
    display:grid; grid-template-columns: 1fr 1.15fr; gap:56px; align-items:start;
  }
  .agenda-layout img{border-radius:var(--radius); box-shadow:var(--shadow); position:sticky; top:110px;}
  .agenda-list{list-style:none; margin:0; padding:0; display:grid; gap:14px;}
  .agenda-list li{
    display:grid; grid-template-columns:44px 1fr; gap:16px; align-items:flex-start;
    padding:16px 0; border-bottom:1px solid var(--line);
  }
  .agenda-list li:last-child{border-bottom:none;}
  .agenda-tag{
    width:44px; height:44px; border-radius:12px;
    background:linear-gradient(160deg, var(--saffron), var(--saffron-deep));
    display:flex; align-items:center; justify-content:center;
    color:var(--white); font-weight:700; font-family:'Fraunces',serif;
  }
  .agenda-list li:nth-child(3n+2) .agenda-tag{background:linear-gradient(160deg, var(--green), var(--green-deep));}
  .agenda-list li:nth-child(3n) .agenda-tag{background:linear-gradient(160deg, var(--navy), #0c1730);}
  .agenda-list h4{margin:0 0 4px; font-size:1.05rem; color:var(--navy);}
  .agenda-list .en{font-family:'Inter',sans-serif; font-weight:700; font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; color:var(--green-deep); display:block; margin-bottom:2px;}
  .agenda-list p{margin:0; color:#4a5364; font-size:.96rem;}

  /* ---------- Dream Karnataka ---------- */
  .dream{
    background:linear-gradient(180deg, var(--green-deep), #06200f);
    color:var(--white);
    text-align:center;
  }
  .dream .wrap{max-width:820px;}
  .dream .eyebrow{color:var(--saffron); text-align:center;}
  .dream h2{color:var(--white);}
  .dream-lines{
    font-family:'Fraunces',serif; font-style:italic; font-weight:500;
    font-size:1.25rem; line-height:1.9; color:#e7f2ea;
    margin:24px 0 36px;
  }
  .dream-lines span{display:block;}
  .dream-quote{
    font-weight:700; font-size:1.15rem; color:var(--saffron);
  }

  /* ---------- Wings ---------- */
  .wings{
    display:grid; grid-template-columns:1fr 1fr; gap:28px;
  }
  .wing-card{
    background:var(--white);
    border:1px solid var(--line);
    border-radius:var(--radius);
    padding:34px;
    box-shadow:0 18px 40px -28px rgba(22,35,74,.3);
  }
  .wing-card .icon{
    width:56px; height:56px; border-radius:14px;
    display:flex; align-items:center; justify-content:center;
    font-size:1.6rem; margin-bottom:18px;
  }
  .wing-card.youth .icon{background:rgba(240,164,0,.16); color:var(--saffron-deep);}
  .wing-card.women .icon{background:rgba(27,122,61,.14); color:var(--green);}
  .wing-card p{color:#4a5364;}

  /* ---------- Leadership spotlight ---------- */
  .leader-grid{
    display:grid; grid-template-columns:.8fr 1.2fr; gap:48px; align-items:center;
  }
  .leader-photo{
    width:100%; height:100%; min-height:320px; object-fit:cover;
    border-radius:var(--radius); box-shadow:var(--shadow);
  }
  .leader-name-en{margin-bottom:.2em;}
  .leader-name-kn{font-family:'Noto Sans Kannada',sans-serif; font-weight:700; font-size:1.15rem; color:var(--navy); margin:0 0 .6em;}
  .leader-credentials{
    display:inline-block; font-weight:700; letter-spacing:.04em; font-size:.85rem;
    color:var(--green-deep); background:var(--cream); border:1px solid var(--line);
    border-radius:999px; padding:6px 16px; margin-bottom:20px;
  }
  .leader-quote{
    margin:0 0 24px; padding-left:20px; border-left:3px solid var(--saffron);
    font-family:'Fraunces',serif; font-style:italic; color:#4a5364; font-size:1.08rem; line-height:1.6;
  }

  /* ---------- Transparency ---------- */
  /* ---------- Launch event ---------- */
  .launch{
    background:var(--white);
  }
  .launch-grid{
    display:grid; grid-template-columns:.85fr 1.15fr; gap:48px; align-items:stretch;
  }
  .launch-grid img{
    width:100%; height:100%; min-height:360px; object-fit:contain;
    background:var(--cream); padding:18px;
    border-radius:var(--radius); box-shadow:var(--shadow);
  }
  .launch-meta{display:flex; gap:22px; flex-wrap:wrap; margin:22px 0 28px;}
  .launch-meta div{
    background:var(--cream); border:1px solid var(--line); border-radius:12px;
    padding:14px 20px; min-width:150px;
  }
  .launch-meta b{display:block; font-family:'Fraunces',serif; color:var(--navy); font-size:1.05rem;}
  .launch-meta span{font-size:.85rem; color:#5a6070;}

  .transparency{
    display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center;
  }
  .transparency-copy p{color:#333c4a; font-size:1.05rem;}
  .stat-row{display:flex; gap:28px; margin-top:28px; flex-wrap:wrap;}
  .stat{background:var(--cream); border:1px solid var(--line); border-radius:14px; padding:18px 22px; flex:1; min-width:150px;}
  .stat b{font-family:'Fraunces',serif; font-size:1.5rem; color:var(--navy); display:block;}
  .stat span{font-size:.88rem; color:#5a6070;}
  .transparency-visual{
    background:var(--navy); border-radius:var(--radius); padding:36px; color:var(--white);
    box-shadow:var(--shadow);
  }
  .transparency-visual .tricolor-rule{margin-bottom:22px; border-radius:3px;}
  .transparency-visual ul{margin:0; padding-left:20px; color:#d7deed;}
  .transparency-visual li{margin-bottom:10px;}

  /* ---------- Join / Membership ---------- */
  .join{
    background:var(--white);
  }
  .join-grid{
    display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:stretch;
  }
  .join-grid img{
    width:100%; height:100%; min-height:320px; object-fit:contain;
    background:var(--white); padding:20px;
    border-radius:var(--radius); box-shadow:var(--shadow);
  }
  .join-copy h2{margin-bottom:.3em;}
  .join-steps{list-style:none; margin:24px 0; padding:0; counter-reset:step;}
  .join-steps li{
    counter-increment:step;
    display:flex; gap:16px; margin-bottom:16px; align-items:flex-start;
  }
  .join-steps li::before{
    content:counter(step);
    flex:none; width:32px; height:32px; border-radius:50%;
    background:var(--saffron); color:var(--navy); font-weight:700;
    display:flex; align-items:center; justify-content:center; font-size:.95rem;
  }

  /* ---------- Contact ---------- */
  .contact{
    background:var(--cream);
  }
  .contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px;}
  .contact-card{
    background:var(--white); border:1px solid var(--line); border-radius:var(--radius);
    padding:36px; box-shadow:0 18px 40px -28px rgba(22,35,74,.25);
  }
  .contact-card h3{font-size:1.2rem;}
  .contact-list{list-style:none; margin:18px 0 0; padding:0; display:grid; gap:14px;}
  .contact-list li{display:flex; gap:12px; align-items:center; font-size:.98rem;}
  .contact-list a{text-decoration:none;}
  .contact-list a:hover{color:var(--green-deep); text-decoration:underline;}
  .contact-list .ic{
    width:38px; height:38px; border-radius:10px; background:var(--cream);
    display:flex; align-items:center; justify-content:center; flex:none; font-size:1.05rem;
  }
  .contact-list li > span:not(.ic), .contact-list li > a{flex:1; min-width:0; overflow-wrap:break-word;}
  .contact-form{display:grid; gap:14px;}
  .contact-form input, .contact-form textarea{
    width:100%; padding:13px 16px; border-radius:10px; border:1px solid var(--line);
    font-family:inherit; font-size:.98rem; background:var(--cream);
  }
  .contact-form button{
    justify-self:start;
  }

  /* ---------- Donate ---------- */
  .donate-intro{max-width:760px;}
  .donate-intro h2{margin-bottom:6px;}
  .donate-intro p{color:#333c4a; font-size:1.05rem;}
  .donate-tagline{
    font-family:'Fraunces',serif; font-style:italic; font-weight:500;
    color:var(--green-deep); font-size:1.15rem; margin-bottom:22px;
  }
  .donate-cta{
    margin-top:36px; padding:32px; border-radius:var(--radius);
    background:var(--navy); text-align:center;
  }
  .donate-cta p{
    color:var(--white); font-size:1.2rem; font-weight:600; line-height:1.5; margin-bottom:22px;
  }

  /* ---------- Long-form article (press notes, leader messages) ---------- */
  .article{max-width:760px; margin:0 auto;}
  .article h2{margin-bottom:26px;}
  .article p{color:#333c4a; font-size:1.05rem; margin-bottom:18px;}
  .article-lede{font-family:'Fraunces',serif; font-style:italic; font-size:1.2rem; color:var(--navy);}
  .article-punch{font-weight:700; color:var(--green-deep); font-size:1.15rem;}
  .article-tagline{
    font-family:'Fraunces',serif; font-style:italic; font-weight:500;
    color:var(--green-deep); font-size:1.15rem; margin-bottom:8px;
  }
  .article-signoff{margin-top:40px; padding-top:24px; border-top:1px solid var(--line);}
  .article-signoff p{margin-bottom:4px; color:var(--navy);}
  .article-signoff .name{font-size:1.1rem; font-weight:700;}
  .form-note{font-size:.82rem; color:#6b7280; margin-top:6px;}

  /* ---------- Footer ---------- */
  footer{
    background:var(--green-deep); color:#dcecdf;
  }
  .footer-top{
    display:grid; grid-template-columns:1.3fr 1fr 1fr 1fr; gap:36px;
    padding:56px 0 36px;
  }
  .footer-brand{display:flex; gap:14px; align-items:flex-start; margin-bottom:14px;}
  .footer-brand img{width:52px; height:52px; border-radius:50%; box-shadow:0 0 0 2px rgba(255,255,255,.5);}
  .footer-brand .kn{font-weight:700; color:var(--white); font-size:1.05rem;}
  .footer-brand .en{font-family:'Fraunces',serif; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--saffron);}
  footer p{color:#b9d4c0; font-size:.94rem;}
  footer h4{color:var(--white); font-size:.95rem; text-transform:uppercase; letter-spacing:.08em; margin-bottom:16px;}
  footer ul{list-style:none; margin:0; padding:0; display:grid; gap:10px;}
  footer a{text-decoration:none; color:#cfe4d3; font-size:.94rem;}
  footer a:hover{color:var(--saffron);}
  .social-row{display:flex; gap:12px; margin-top:6px;}
  .social-row a{
    width:38px; height:38px; border-radius:50%; background:var(--cream);
    color:var(--green-deep);
    display:flex; align-items:center; justify-content:center; font-size:1rem;
    transition:background .2s ease, color .2s ease;
  }
  .social-row a:hover{background:var(--saffron); color:var(--navy);}
  .social-row svg{width:18px; height:18px; display:block;}
  .whatsapp-cta{
    display:inline-flex; align-items:center; gap:10px; margin-top:14px;
    background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.25);
    padding:10px 18px; border-radius:999px; font-size:.9rem;
  }
  .footer-bottom{
    border-top:1px solid rgba(255,255,255,.14);
    padding:22px 0; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;
    font-size:.85rem; color:#9fc2a7;
  }

  @media (max-width: 1280px){
    nav.links{display:none;}
    .menu-btn{display:block;}
  }
  @media (max-width: 940px){
    .about-grid, .agenda-layout, .join-grid, .transparency, .contact-grid, .wings, .difference, .ideology-layout, .launch-grid, .leader-grid{
      grid-template-columns:1fr !important;
    }
    .agenda-layout img{position:static;}
    .footer-top{grid-template-columns:1fr 1fr;}
    .hero{height:auto; min-height:380px;}
    .hero-content{padding:26px 20px 22px;}
  }
  @media (max-width:600px){
    .footer-top{grid-template-columns:1fr;}
    section{padding:60px 0;}
  }

  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    .btn:hover{transform:none;}
    .hero .slide{transition:none;}
  }

  /* ---------- Gallery row (multi-visible carousel, Home page) ---------- */
  .gallery-row{overflow:hidden;}
  .gallery-row-track{display:flex; transition:transform .6s ease;}
  .gallery-row-item{flex:0 0 25%; padding:0 10px; box-sizing:border-box;}
  .gallery-row-card{
    aspect-ratio:3/4; border-radius:14px; overflow:hidden;
    box-shadow:var(--shadow); border:1px solid var(--line); background:var(--navy);
  }
  .gallery-row-card img{width:100%; height:100%; object-fit:cover; display:block;}
  @media (max-width:940px){
    .gallery-row-item{flex:0 0 50%;}
  }
  @media (max-width:600px){
    .gallery-row-item{flex:0 0 100%;}
  }

  /* ---------- Gallery grid (static, Gallery page) ---------- */
  .gallery-grid{
    display:grid; grid-template-columns:repeat(auto-fit, minmax(220px,1fr));
    gap:20px;
  }
  .gallery-grid a{
    display:block; aspect-ratio:4/3; border-radius:14px; overflow:hidden;
    box-shadow:var(--shadow); border:1px solid var(--line);
  }
  .gallery-grid img{width:100%; height:100%; object-fit:cover; transition:transform .35s ease;}
  .gallery-grid a:hover img{transform:scale(1.06);}

  /* ---------- Lightbox (in-page image preview, no new tab) ---------- */
  .lightbox{
    position:fixed; inset:0; z-index:500;
    background:rgba(6,20,12,.92);
    display:none; align-items:center; justify-content:center;
    padding:24px;
  }
  .lightbox.open{display:flex;}
  .lightbox img{max-width:92vw; max-height:88vh; border-radius:12px; box-shadow:0 30px 80px rgba(0,0,0,.5);}
  .lightbox-close{
    position:absolute; top:20px; right:24px; z-index:501;
    width:44px; height:44px; border-radius:50%; border:none; cursor:pointer;
    background:rgba(255,255,255,.15); color:var(--white); font-size:1.4rem;
    transition:background .2s ease;
  }
  .lightbox-close:hover{background:rgba(255,255,255,.3);}

  /* ---------- Gallery (one-at-a-time auto slider) ---------- */
  .gallery-slider{position:relative; max-width:640px; margin:0 auto;}
  .gallery-slides{
    position:relative; width:100%; height:420px;
    border-radius:var(--radius); overflow:hidden;
    background:var(--navy); box-shadow:var(--shadow); border:1px solid var(--line);
  }
  .gallery-slide{
    position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
    opacity:0; transition:opacity .6s ease; pointer-events:none;
  }
  .gallery-slide.active{opacity:1; pointer-events:auto;}
  .gallery-slide img{width:100%; height:100%; object-fit:contain;}
  .gallery-nav{
    position:absolute; top:50%; transform:translateY(-50%); z-index:5;
    width:42px; height:42px; border-radius:50%; border:none; cursor:pointer;
    background:rgba(255,255,255,.9); color:var(--navy); font-size:1.1rem;
    box-shadow:0 6px 18px rgba(0,0,0,.3);
  }
  .gallery-nav:hover{background:var(--saffron);}
  .gallery-nav.prev{left:-18px;}
  .gallery-nav.next{right:-18px;}
  .gallery-dots{display:flex; justify-content:center; gap:8px; margin-top:18px; flex-wrap:wrap;}
  .gallery-dots .dot{
    width:9px; height:9px; border-radius:50%; border:none; padding:0; cursor:pointer;
    background:var(--line); transition:width .2s ease, background .2s ease;
  }
  .gallery-dots .dot.active{width:22px; border-radius:5px; background:var(--saffron-deep);}
  @media (max-width:600px){
    .gallery-slides{height:300px;}
    .gallery-nav{width:36px; height:36px;}
    .gallery-nav.prev{left:2px;}
    .gallery-nav.next{right:2px;}
  }

  /* ---------- Floating action buttons ---------- */
  .floating-actions{
    position:fixed; right:20px; bottom:20px; z-index:200;
    display:flex; flex-direction:column; gap:14px;
  }
  .fab{
    width:56px; height:56px; border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    color:var(--white); box-shadow:0 6px 16px -6px rgba(11,20,50,.45);
    transition:transform .18s ease, box-shadow .18s ease;
  }
  .fab:hover{transform:scale(1.08); box-shadow:0 8px 20px -6px rgba(11,20,50,.5);}
  .fab svg{width:28px; height:28px;}
  .fab-whatsapp{background:#25D366;}
  .fab-call{background:var(--green-deep);}
  .fab-donate{
    background:var(--saffron); color:var(--navy);
    width:auto; padding:0 20px; border-radius:28px;
    box-shadow:0 6px 16px -6px rgba(11,20,50,.3), 0 0 0 0 rgba(240,164,0,.55);
  }
  .fab-donate-label{font-size:.95rem; font-weight:700; white-space:nowrap;}
  @media (prefers-reduced-motion: no-preference){
    .fab-donate{animation:fabDonatePulse 2.4s cubic-bezier(.4,0,.2,1) infinite;}
  }
  @keyframes fabDonatePulse{
    0%{box-shadow:0 6px 16px -6px rgba(11,20,50,.3), 0 0 0 0 rgba(240,164,0,.5);}
    70%{box-shadow:0 6px 16px -6px rgba(11,20,50,.3), 0 0 0 12px rgba(240,164,0,0);}
    100%{box-shadow:0 6px 16px -6px rgba(11,20,50,.3), 0 0 0 0 rgba(240,164,0,0);}
  }
  @media (max-width:600px){
    .floating-actions{right:14px; bottom:14px; gap:10px;}
    .fab{width:48px; height:48px;}
    .fab-donate{width:auto; padding:0 16px;}
    .fab-donate-label{font-size:.82rem;}
    .fab svg{width:24px; height:24px;}
    .hero-nav{width:36px; height:36px; font-size:1rem;}
    .hero-nav.prev{left:8px;}
    .hero-nav.next{right:8px;}
  }
  @media (prefers-reduced-motion: reduce){
    .gallery-slide{transition:none;}
  }

  /* ---------- Membership wizard / login / dashboard ---------- */
  .wizard-card{
    background:var(--white); border:1px solid var(--line); border-radius:var(--radius);
    padding:36px; box-shadow:0 18px 40px -28px rgba(22,35,74,.25);
  }
  .wizard-steps{list-style:none; display:flex; gap:0; margin:0 0 32px; padding:0;}
  .wizard-steps li{flex:1; text-align:center; position:relative; font-size:.85rem; color:#8b93a5; font-weight:600;}
  .wizard-steps li .num{
    display:flex; align-items:center; justify-content:center; width:32px; height:32px;
    border-radius:50%; background:var(--cream); border:2px solid var(--line); margin:0 auto 8px;
    font-family:'Fraunces',serif; color:var(--navy); transition:background .2s ease, border-color .2s ease;
  }
  .wizard-steps li.active{color:var(--navy);}
  .wizard-steps li.active .num, .wizard-steps li.done .num{background:var(--saffron); border-color:var(--saffron); color:var(--navy);}
  .wizard-steps li:not(:last-child)::after{
    content:""; position:absolute; top:16px; left:calc(50% + 20px); right:calc(-50% + 20px);
    height:2px; background:var(--line); z-index:0;
  }

  .wizard-panel{display:none;}
  .wizard-panel.active{display:block;}

  .form-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
  .form-grid label{display:flex; flex-direction:column; gap:6px; font-size:.88rem; font-weight:600; color:var(--navy);}
  .form-grid .span-2{grid-column:1/-1;}
  .form-grid input, .form-grid select, .form-grid textarea{
    font-family:inherit; font-weight:400; font-size:.98rem; padding:12px 14px;
    border-radius:10px; border:1px solid var(--line); background:var(--cream); color:var(--ink);
    width:100%; box-sizing:border-box; min-width:0;
  }
  .form-grid input[type="file"]{padding:10px 12px; font-size:.85rem;}
  .form-grid input:focus, .form-grid select:focus, .form-grid textarea:focus{outline:2px solid var(--saffron); outline-offset:1px;}
  .form-grid .hint{font-weight:400; color:#6b7280; font-size:.78rem;}

  .form-fieldset{border:1px solid var(--line); border-radius:12px; padding:18px 20px; margin-top:22px;}
  .form-fieldset legend{font-weight:700; color:var(--navy); padding:0 8px; font-size:.9rem;}
  .checkbox-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:10px 18px;}
  .checkbox-item{display:flex; align-items:flex-start; gap:8px; font-size:.92rem; font-weight:400; color:var(--ink);}
  .checkbox-item input{margin-top:3px;}
  .declaration{margin-top:22px; padding:14px 16px; background:var(--cream); border-radius:10px; border:1px solid var(--line); font-size:.88rem;}

  .fee-row{
    display:flex; align-items:center; justify-content:space-between; gap:14px;
    background:var(--cream); border:1px solid var(--line); border-radius:12px; padding:14px 18px;
  }
  .fee-row .fee-label{font-weight:700; color:var(--navy); font-size:.95rem;}
  .fee-row .fee-caption{font-weight:400; color:#6b7280; font-size:.78rem; margin-top:2px;}
  .fee-row .fee-amount{font-family:'Fraunces',serif; font-weight:700; font-size:1.3rem; color:var(--green-deep); white-space:nowrap;}

  .donation-section{margin-top:20px;}
  .donation-section-title{font-weight:700; color:var(--navy); font-size:.9rem; margin-bottom:10px;}

  .amount-summary{margin-top:18px; border:1px solid var(--line); border-radius:12px; padding:16px 18px; background:var(--white);}
  .amount-summary-title{font-weight:700; color:var(--navy); font-size:.88rem; margin-bottom:10px;}
  .amount-summary-row{display:flex; align-items:center; justify-content:space-between; font-size:.9rem; padding:6px 0; color:var(--ink);}
  .amount-summary-row.total{
    margin-top:6px; padding-top:12px; border-top:1px solid var(--line);
    font-weight:700; color:var(--navy); font-size:1.05rem;
  }

  .wizard-actions{display:flex; justify-content:space-between; align-items:center; margin-top:30px;}

  .form-error{background:#fdecec; color:#b3261e; border:1px solid #f3b9b4; padding:12px 16px; border-radius:10px; font-size:.9rem; margin-bottom:20px;}

  .success-badge{
    width:64px; height:64px; margin:0 auto 20px; border-radius:50%; background:var(--green);
    color:var(--white); font-size:2rem; display:flex; align-items:center; justify-content:center;
  }
  .app-number-card{background:var(--cream); border:1px solid var(--line); border-radius:var(--radius); padding:24px; margin:24px 0;}
  .app-number-card b{display:block; font-family:'Fraunces',serif; font-size:1.6rem; color:var(--navy); margin:6px 0 12px;}
  .status-pill{display:inline-block; padding:6px 16px; border-radius:999px; font-size:.8rem; font-weight:700;}
  .status-pill.pending{background:rgba(240,164,0,.16); color:var(--saffron-deep);}
  .status-pill.rejected{background:#fdecec; color:#b3261e;}
  .status-pill.approved{background:rgba(27,122,61,.14); color:var(--green);}
  .status-pill.active{background:rgba(27,122,61,.22); color:var(--green-deep);}

  .detail-field{display:flex; flex-direction:column; gap:4px;}
  .detail-field span.l{font-size:.76rem; text-transform:uppercase; letter-spacing:.05em; color:#8b93a5;}
  .detail-field span.v{font-size:1.05rem; color:var(--navy); font-weight:600;}

  /* ---------- Donation Form ---------- */
  .donation-page{padding:48px 0 80px;}
  .donation-wrap{max-width:800px;}
  .donation-heading{text-align:center; margin-bottom:32px;}
  .donation-heading h2{margin:10px 0 12px;}
  .donation-heading p{color:#6b7280;}

  .donation-card{
    background:var(--white); border:1px solid var(--line); border-radius:var(--radius);
    box-shadow:var(--shadow); padding:28px 26px; margin-bottom:24px;
    animation:donationCardIn .4s ease both;
  }
  .donation-card-title{font-size:1.05rem; color:var(--navy); margin:0 0 18px; font-family:'Fraunces',serif;}
  .donation-payment-card{background:linear-gradient(180deg, var(--cream) 0%, var(--white) 60%); border-color:var(--saffron);}
  .donation-info-box{
    margin:20px 0 0; padding:14px 16px; background:rgba(240,164,0,.1); border:1px solid rgba(240,164,0,.35);
    border-radius:10px; font-size:.88rem; color:var(--navy); line-height:1.55;
  }
  @keyframes donationCardIn{from{opacity:0; transform:translateY(10px);} to{opacity:1; transform:translateY(0);}}

  .amount-quick-row{display:flex; flex-wrap:wrap; gap:10px; margin-top:12px;}
  .amount-chip{
    padding:9px 18px; border-radius:999px; border:1.5px solid var(--line); background:var(--cream);
    color:var(--navy); font-weight:600; font-size:.88rem; cursor:pointer; transition:all .15s ease;
  }
  .amount-chip:hover{border-color:var(--saffron);}
  .amount-chip.active{background:var(--saffron); border-color:var(--saffron); color:var(--navy);}

  .copy-list li{justify-content:space-between; flex-wrap:wrap;}
  .copy-btn{
    flex:none; margin-left:auto; padding:6px 14px; border-radius:999px; border:1.5px solid var(--line);
    background:var(--cream); color:var(--navy); font-size:.78rem; font-weight:700; cursor:pointer; transition:all .15s ease;
  }
  .copy-btn:hover{border-color:var(--green);}
  .copy-btn.copied{background:var(--green); border-color:var(--green); color:var(--white);}

  .dropzone{
    display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:6px;
    border:2px dashed var(--line); border-radius:14px; padding:32px 20px; cursor:pointer;
    background:var(--cream); transition:all .15s ease;
  }
  .dropzone:hover, .dropzone.dragover{border-color:var(--saffron); background:rgba(240,164,0,.08);}
  .dropzone.has-file{border-color:var(--green); background:rgba(27,122,61,.08);}
  .dropzone-icon{font-size:1.8rem;}
  .dropzone-text{font-weight:600; color:var(--navy); font-size:.95rem;}

  .donation-submit-row{margin-top:8px;}
  .donation-submit-btn{
    width:100%; display:flex; align-items:center; justify-content:center; gap:10px;
    padding:16px !important; font-size:1.02rem !important; border:none; cursor:pointer;
  }
  .donation-submit-btn .btn-spinner{
    display:none; width:18px; height:18px; border-radius:50%;
    border:2.5px solid rgba(255,255,255,.4); border-top-color:var(--white);
    animation:donationSpin .7s linear infinite;
  }
  .donation-submit-btn.loading .btn-label{opacity:.7;}
  .donation-submit-btn.loading .btn-spinner{display:inline-block;}
  @keyframes donationSpin{to{transform:rotate(360deg);}}

  .donation-success{text-align:center; padding:48px 32px;}
  .donation-success h3{margin:0 0 10px; color:var(--navy);}
  .donation-success p{color:#6b7280; margin-bottom:22px;}

  @media (max-width: 640px){
    .donation-submit-row{
      position:sticky; bottom:0; background:var(--cream); padding:14px 0;
      margin:0 -16px -1px; padding-left:16px; padding-right:16px;
      border-top:1px solid var(--line);
    }
  }

  .dashboard-layout{display:grid; grid-template-columns:240px 1fr; gap:36px; align-items:start;}
  .dashboard-menu{
    background:var(--white); border:1px solid var(--line); border-radius:var(--radius);
    padding:28px 22px; text-align:center; box-shadow:0 18px 40px -28px rgba(22,35,74,.25);
  }
  .dashboard-avatar{
    width:76px; height:76px; border-radius:50%; margin:0 auto 14px; background:var(--navy); color:var(--white);
    display:flex; align-items:center; justify-content:center; font-family:'Fraunces',serif; font-size:1.8rem; overflow:hidden;
  }
  .dashboard-avatar img{width:100%; height:100%; object-fit:cover;}
  .dashboard-nav{display:flex; flex-direction:column; gap:8px; margin-top:18px; text-align:left;}
  .dashboard-nav a, .dashboard-nav button{
    display:block; padding:10px 14px; border-radius:10px; text-decoration:none; color:var(--navy);
    font-weight:600; font-size:.92rem; background:none; border:none; width:100%; text-align:left;
    cursor:pointer; font-family:inherit;
  }
  .dashboard-nav a.active, .dashboard-nav a:hover, .dashboard-nav button:hover{background:var(--cream);}

  .dashboard-cards{display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:16px;}
  .dash-card{background:var(--white); border:1px solid var(--line); border-radius:14px; padding:18px 20px; box-shadow:0 18px 40px -28px rgba(22,35,74,.2);}
  .dash-card b{font-family:'Fraunces',serif; font-size:1.1rem; color:var(--navy);}

  .progress-tracker{list-style:none; margin:18px 0 0; padding:0; display:grid; gap:0;}
  .progress-tracker li{
    display:flex; align-items:center; gap:14px; padding:12px 0 12px 20px; margin-left:14px;
    color:#8b93a5; font-weight:600; border-left:2px solid var(--line); position:relative;
  }
  .progress-tracker li .dot{
    width:26px; height:26px; border-radius:50%; background:var(--cream); border:2px solid var(--line);
    display:flex; align-items:center; justify-content:center; font-size:.8rem; color:transparent;
    margin-left:-33px; flex:none;
  }
  .progress-tracker li.done{color:var(--navy);}
  .progress-tracker li.done .dot{background:var(--green); border-color:var(--green); color:var(--white);}

  @media (max-width:800px){
    .form-grid{grid-template-columns:1fr;}
    .dashboard-layout{grid-template-columns:1fr;}
    .wizard-steps li{font-size:.72rem;}
    .wizard-card{padding:24px 18px;}
    .donation-card{padding:20px 16px;}
  }
  @media (max-width:480px){
    .wrap{padding:0 16px;}
    .wizard-card{padding:20px 14px;}
    .donation-card{padding:16px 14px;}
    .wizard-steps li{font-size:.66rem;}
    .wizard-steps li .num{width:26px; height:26px; margin-bottom:6px;}
    .fee-row{flex-direction:column; align-items:flex-start; gap:6px;}
    .fee-row .fee-amount{font-size:1.15rem;}
    .amount-chip{padding:8px 14px; font-size:.82rem;}
    .dropzone{padding:22px 14px;}
    .copy-list li{gap:6px;}
    .copy-btn{margin-left:0;}
    .wizard-actions{flex-wrap:wrap; gap:12px;}
    .wizard-actions .btn{flex:1; justify-content:center;}
    .form-fieldset{padding:14px 14px;}
  }

  /* ---------- Digital Membership Card (front + back) — premium gold/green party-seal design, matches printed reference ---------- */
  .rjp-card-page{padding:8px 0 12px;}
  .rjp-card-stage{width:100%; display:flex; justify-content:center; overflow:hidden;}
  .rjp-card-wrap{width:520px; flex:none; transform-origin:top center; position:relative;}

  .rjp-card{
    width:520px; height:770px; border-radius:20px; background:var(--white); border:1px solid #D7DBE3;
    box-shadow:0 20px 50px -22px rgba(11,20,50,.4); overflow:hidden;
    font-family:'Poppins','Noto Sans Kannada',sans-serif; color:#1a1a1a;
    display:none; position:relative;
    --c-navy:#123D87; --c-green:#0B6B33; --c-green-deep:#08461F; --c-gold:#F4B400; --c-gold-deep:#C8850A; --c-line:#E2E5EC; --c-muted:#6b7280;
  }
  .rjp-card.active{display:flex; flex-direction:column;}

  /* ---- Front ---- */
  .rjp-card-header{position:relative; flex:none; line-height:0;}
  .rjp-card-header img{width:100%; height:260px; object-fit:cover; display:block;}

  .rjp-card-badge-row{position:relative; z-index:1; flex:none; text-align:center; margin-top:10px; padding:0 22px;}
  .rjp-card-badge{
    display:block; background:var(--c-green); color:var(--white); font-size:14px; font-weight:800;
    letter-spacing:.05em; text-transform:uppercase; padding:9px 14px; border-radius:9px;
    box-shadow:0 10px 20px -8px rgba(11,107,51,.6);
  }

  .rjp-card-body{flex:none; padding:20px 22px 0; display:flex; gap:18px; align-items:flex-start;}
  .rjp-card-photo{
    width:118px; height:148px; border-radius:8px; object-fit:cover; flex:none;
    background:#F1F3F7; border:2px solid var(--c-gold);
  }
  .rjp-card-photo.placeholder{display:flex; align-items:center; justify-content:center;}
  .rjp-card-photo.placeholder svg{width:44px; height:44px; color:#c3c8d3;}

  .rjp-card-fields{flex:1; min-width:0; display:flex; flex-direction:column; justify-content:center; gap:11px; padding-top:4px;}
  .rjp-card-field{display:flex; gap:6px; align-items:baseline; font-size:13.5px;}
  .rjp-card-field .l{font-family:'Noto Sans Kannada',sans-serif; font-weight:600; color:#3a4152; flex:none; min-width:120px;}
  .rjp-card-field .v{font-weight:700; color:var(--c-navy); overflow-wrap:anywhere;}
  .rjp-card-field.id .v{color:var(--c-green);}

  .rjp-card-sign{flex:none; display:flex; align-items:center; gap:16px; padding:18px 22px 18px;}
  .rjp-card-sign-block{text-align:center; flex:none;}
  .rjp-card-seal-img{width:92px; height:92px; object-fit:contain; display:block; margin:0 auto;}
  .rjp-card-sign-block .cap{
    width:120px; border-top:1px solid var(--c-line); padding-top:6px; margin-top:6px;
    font-size:9.5px; font-weight:700; letter-spacing:.03em; line-height:1.3; color:var(--c-navy); text-transform:uppercase;
  }
  .rjp-card-sign-divider{width:1px; align-self:stretch; background:var(--c-line); flex:none;}
  .rjp-card-verify{display:flex; align-items:center; flex:1;}
  .rjp-card-verify-text{font-family:'Noto Sans Kannada',sans-serif; font-weight:700; font-size:12.5px; color:var(--c-gold-deep); line-height:1.4;}

  .rjp-card-front-spacer{flex:1; min-height:14px;}

  .rjp-card-bottom-wave{display:block; width:100%; height:26px; flex:none;}

  .rjp-card-foot{
    flex:none; background:var(--c-green); color:var(--white);
    padding:10px 22px; display:flex; align-items:center; justify-content:space-between; font-size:11.5px; font-weight:600;
  }
  .rjp-card-foot .site{display:flex; align-items:center; gap:8px;}
  .rjp-card-foot .site svg{width:16px; height:16px;}
  .rjp-card-foot .social{display:flex; gap:10px;}
  .rjp-card-foot .social a{
    width:24px; height:24px; border-radius:50%; background:rgba(255,255,255,.18);
    display:flex; align-items:center; justify-content:center;
  }
  .rjp-card-foot .social svg{width:13px; height:13px; display:block; color:var(--white);}

  /* ---- Back ---- */
  .rjp-card-back-header{position:relative; flex:none; height:139px; overflow:hidden;}
  .rjp-card-back-header-wave{position:absolute; inset:0; z-index:0; width:100%; height:100%; display:block; pointer-events:none;}
  .rjp-card-back-header-content{position:relative; z-index:1; padding-top:20px; text-align:center;}
  .rjp-card-back-header .kn{position:relative; font-family:'Noto Sans Kannada',sans-serif; font-weight:700; font-size:19px; color:var(--c-gold);}
  .rjp-card-back-header .en{position:relative; font-weight:700; font-size:11px; letter-spacing:.08em; color:var(--white); margin-top:6px;}
  .rjp-card-back-header .tag{
    position:relative; display:flex; align-items:center; justify-content:center; gap:10px;
    font-family:'Noto Sans Kannada',sans-serif; font-size:11.5px; color:#dff3e6; margin-top:8px;
  }
  .rjp-card-back-header .tag::before, .rjp-card-back-header .tag::after{content:""; width:20px; height:2px; background:rgba(255,255,255,.6); border-radius:2px;}

  .rjp-card-back-body{position:relative; flex:1; overflow:hidden; background:var(--white);}
  .rjp-card-back-graphic{position:absolute; top:0; right:0; bottom:0; width:42%; z-index:0; pointer-events:none;}
  .rjp-card-back-graphic img{
    width:100%; height:100%; object-fit:cover; object-position:top; display:block;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 32%); mask-image:linear-gradient(90deg,transparent,#000 32%);
  }

  .rjp-card-benefits{position:relative; z-index:1; flex:none; padding:18px 22px 4px; display:flex; flex-direction:column; gap:10px;}
  .rjp-card-benefit{display:flex; align-items:center; gap:10px; font-family:'Noto Sans Kannada',sans-serif; font-weight:600; font-size:12.5px; color:#1a1a1a; line-height:1.4;}
  .rjp-card-benefit .ic{
    width:24px; height:24px; border-radius:50%; flex:none;
    display:flex; align-items:center; justify-content:center; box-shadow:0 4px 10px -4px rgba(0,0,0,.3);
  }
  .rjp-card-benefit .ic svg{width:13px; height:13px; color:var(--white);}
  .rjp-card-benefit:nth-child(1) .ic{background:var(--c-navy);}
  .rjp-card-benefit:nth-child(2) .ic{background:var(--c-gold-deep);}
  .rjp-card-benefit:nth-child(3) .ic{background:var(--c-navy);}
  .rjp-card-benefit:nth-child(4) .ic{background:var(--c-gold-deep);}
  .rjp-card-benefit:nth-child(5) .ic{background:var(--c-navy);}

  .rjp-card-qr-row{position:relative; z-index:1; flex:none; display:flex; gap:14px; align-items:center; margin:14px 22px 0; padding-top:16px; border-top:1px solid var(--c-line);}
  .rjp-card-qr-box{
    width:84px; height:84px; flex:none; background:var(--white); border:1.5px solid var(--c-green); border-radius:10px;
    padding:5px; display:flex; align-items:center; justify-content:center; box-shadow:0 8px 18px -10px rgba(0,0,0,.3);
  }
  .rjp-card-qr-box img{width:100%; height:100%; object-fit:contain;}
  .rjp-card-qr-text{font-family:'Noto Sans Kannada',sans-serif; font-size:12.5px; line-height:1.5; color:#1a1a1a;}
  .rjp-card-qr-text .en{color:var(--c-green-deep); font-weight:700; margin-top:6px; font-family:'Poppins',sans-serif; font-size:10.5px;}

  .rjp-card-terms{position:relative; z-index:1; flex:none; padding:14px 22px 0; display:flex; flex-direction:column; gap:6px;}
  .rjp-card-term{display:flex; align-items:flex-start; gap:8px; font-family:'Noto Sans Kannada',sans-serif; font-size:11.5px; color:#555; line-height:1.5;}
  .rjp-card-term .ck{flex:none; width:14px; height:14px; border-radius:50%; background:var(--c-green); color:var(--white); display:flex; align-items:center; justify-content:center; font-size:9px; margin-top:2px;}

  .rjp-card-back-spacer{flex:1; min-height:18px;}

  .rjp-card-foot-back{
    position:relative; z-index:1; flex:none; background:var(--c-green-deep); color:var(--white);
    padding:11px 22px; display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:11px;
  }
  .rjp-card-helpline{display:flex; align-items:center; gap:4px;}
  .rjp-card-helpline .l{font-size:9px; letter-spacing:.06em; opacity:.85; margin-right:6px;}
  .rjp-card-helpline .n{font-size:15px; font-weight:800; color:var(--c-gold);}
  .rjp-card-foot-back-right{display:flex; align-items:center; gap:12px;}
  .rjp-card-foot-back-right .email{font-size:11.5px; font-weight:600;}
  .rjp-card-foot-back-right .social{display:flex; gap:8px;}
  .rjp-card-foot-back-right .social a{
    width:22px; height:22px; border-radius:50%; background:rgba(255,255,255,.18);
    display:flex; align-items:center; justify-content:center;
  }
  .rjp-card-foot-back-right .social svg{width:12px; height:12px; display:block; color:var(--white);}

  /* ---- Page chrome (buttons, not part of the printable card) ---- */
  .rjp-card-actions{display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-top:22px;}
  .rjp-card-actions button, .rjp-card-actions a{font-family:inherit;}

  @media (max-width: 720px){
    .rjp-card-page{padding:8px 4px 12px;}
    .rjp-card-page > .wrap{padding:0 8px;}
  }
  @media (max-width: 480px){
    .rjp-card-actions{flex-direction:column; align-items:stretch; gap:10px;}
    .rjp-card-actions button, .rjp-card-actions a{width:100%; justify-content:center;}
  }

  @media print{
    /* Browsers drop background colors/images on print by default to save ink,
       which silently blanks every green bar on the card (and washes out its
       white text with it) unless colors are forced to print exactly. */
    *{-webkit-print-color-adjust:exact !important; print-color-adjust:exact !important; color-adjust:exact !important;}
    header, footer, .rjp-card-page > .wrap > .eyebrow, .rjp-card-page > .wrap > h2, .rjp-card-actions, .floating-actions{display:none !important;}
    body{background:var(--white) !important;}
    .rjp-card-stage{overflow:visible; height:auto !important;}
    .rjp-card-wrap{transform:none !important; width:520px; margin:0 auto;}
    .rjp-card{display:flex !important; flex-direction:column !important; box-shadow:none; page-break-after:always; page-break-inside:avoid;}
  }
