:root{
  --bg:#f4f6fb;--bg-2:#eaedf5;--bg-card:#ffffff;
  --teal:#3b82f6;--teal-deep:#1d4ed8;--teal-pale:#eff6ff;--teal-dim:rgba(59,130,246,.12);
  --indigo:#f97316;--indigo-deep:#ea580c;--indigo-pale:#fff7ed;
  --text:#0a0f1e;--text-2:#1e2d4d;--text-3:#5a6a85;--text-4:#8fa3c0;
  --border:rgba(0,0,0,.07);--border-2:rgba(0,0,0,.13);--border-teal:rgba(59,130,246,.3);
  --font-h:'Georgia',serif;
  --radius:12px;--radius-lg:20px;--radius-xl:28px;
  --shadow:0 2px 12px rgba(10,15,30,.06),0 1px 3px rgba(10,15,30,.04);
  --shadow-md:0 8px 32px rgba(10,15,30,.1),0 2px 8px rgba(10,15,30,.06);
  --shadow-lg:0 24px 64px rgba(10,15,30,.14),0 4px 16px rgba(10,15,30,.08);
  --ease:cubic-bezier(.4,0,.2,1);--spring:cubic-bezier(.34,1.56,.64,1);
  --font-b: 'Inter', sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
body{background:var(--bg);color:var(--text);font-family:var(--font-b);line-height:1.65}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 28px;border-radius:100px;border:none;cursor:pointer;font-family:var(--font-b);font-size:.875rem;font-weight:600;letter-spacing:.01em;transition:box-shadow .3s var(--ease),translate .3s var(--ease),opacity .25s;position:relative;overflow:hidden}
.btn::after{content:'';position:absolute;inset:0;background:rgba(255,255,255,.15);opacity:0;transition:opacity .25s;border-radius:inherit}
.btn:hover::after{opacity:1}
.btn-primary{background:linear-gradient(135deg,var(--indigo-deep),var(--indigo));color:#fff;box-shadow:0 4px 20px rgba(234,88,12,.32)}
.btn-primary:hover{box-shadow:0 8px 32px rgba(234,88,12,.5);translate:0 -2px}
.phone-row{display:flex;gap:10px;}
.country-code{max-width:90px;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}

.popup-overlay{
  position:fixed;inset:0;
  background:rgba(10,15,30,.55);
  z-index:999999;
  display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;
  transition:opacity 0.3s ease;
  contain:layout style;
}
.popup-overlay.active{opacity:1;pointer-events:auto;will-change:opacity;}

.popup-card{
  background-color:var(--bg-card);
  border-radius:var(--radius-xl);
  box-shadow:var(--shadow-lg);
  border:1.5px solid var(--border);
  width:100%;max-width:420px;
  overflow:hidden;position:relative;
}

/* Size variants — apply alongside .popup-card, e.g. class="popup-card popup--md" */
.popup-card.popup--sm{max-width:420px;min-height:460px}   /* 1x */
.popup-card.popup--md{max-width:630px;min-height:690px}   /* 1.5x */
.popup-card.popup--lg{max-width:840px;min-height:920px}   /* 2x */
.popup-overlay.active .popup-card{
  animation:slideUp .45s var(--spring) forwards;
}
@keyframes slideUp{
  from{transform:translateY(30px) scale(.95);opacity:0}
  to{transform:translateY(0) scale(1);opacity:1}
}

.popup-card::before,.popup-card::after{
  content:'';position:absolute;
  width:18px;height:18px;
  border-color:rgba(249,115,22,.4);border-style:solid;z-index:2;pointer-events:none;
}
.popup-card::before{top:12px;left:12px;border-width:2px 0 0 2px;border-radius:3px 0 0 0}
.popup-card::after{bottom:12px;right:12px;border-width:0 2px 2px 0;border-radius:0 0 3px 0}

.popup-stripe{height:3px;background:linear-gradient(90deg,var(--teal-deep),var(--teal),var(--indigo))}

.popup-close{
  position:absolute;top:16px;right:16px;
  width:28px;height:28px;border-radius:50%;
  background:var(--bg-2);border:1.5px solid var(--border-2);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;font-size:.75rem;color:var(--text-3);
  transition:background .25s var(--ease),border-color .25s var(--ease),color .25s var(--ease),rotate .25s var(--ease);
}
.popup-close:hover{background:var(--indigo-pale);border-color:rgba(249,115,22,.35);color:var(--indigo-deep);rotate:90deg}

.popup-body{padding:26px 26px 30px}

.popup-eyebrow{
  display:inline-flex;align-items:center;gap:6px;
  font-size:.65rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:#fbbf24;background:var(--indigo-pale);
  border:1px solid rgba(249,115,22,.25);
  padding:3px 10px;border-radius:100px;margin-bottom:14px;
}
.popup-eyebrow-dot{width:5px;height:5px;border-radius:50%;background:var(--indigo);animation:blink 1.4s infinite}

.popup-title{font-family:var(--font-h);font-size:1.6rem;font-weight:300;line-height:1.15;letter-spacing:-.02em;color:var(--text);margin-bottom:6px}
.popup-title em{font-style:italic;background:linear-gradient(135deg,var(--teal-deep),var(--indigo));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.popup-title strong{font-weight:700}

.popup-sub{font-size:.82rem;color:var(--text-3);line-height:1.7;margin-bottom:20px}

.form-group{display:flex;flex-direction:column;gap:5px;margin-bottom:11px}
.form-label{font-size:.68rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--text-2)}

.input-wrap{position:relative}
.input-icon{position:absolute;left:11px;top:50%;translate:0 -50%;color:var(--text-4);font-size:.85rem;pointer-events:none;transition:color .2s var(--ease)}
.input-wrap:focus-within .input-icon{color:var(--teal-deep)}

.form-input{width:100%;padding:11px 13px 11px 34px;border-radius:var(--radius);border:1.5px solid var(--border-2);background:var(--bg);font-family:var(--font-b);font-size:.875rem;color:var(--text);outline:none;transition:border-color .25s var(--ease),box-shadow .25s,background .25s}
.form-input::placeholder{color:var(--text-4)}
.form-input:focus{border-color:var(--teal);background:#fff;box-shadow:0 0 0 3px var(--teal-dim)}
.form-input.err{border-color:#ef4444}
.form-input.err:focus{box-shadow:0 0 0 3px rgba(239,68,68,.12)}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.success-state{display:none;flex-direction:column;align-items:center;gap:8px;padding:40px 26px;text-align:center}
.success-icon{width:56px;height:56px;border-radius:50%;background:var(--teal-dim);border:2px solid var(--border-teal);display:flex;align-items:center;justify-content:center;font-size:1.4rem;animation:popIn .5s var(--spring)}
@keyframes popIn{from{transform:scale(0)}to{transform:scale(1)}}
.success-state h3{font-family:var(--font-h);font-size:1.3rem;font-weight:400;color:var(--text)}
.success-state p{font-size:.82rem;color:var(--text-3);max-width:250px;line-height:1.7}

@media(max-width:480px){
  .popup-card{border-radius:var(--radius-lg)}
  .popup-body{padding:20px 18px 24px}
  .popup-title{font-size:1.35rem}
}

.err-msg {
  display: none;
  font-size: .72rem;
  color: #ef4444;
  padding-left: 4px;
}
.err-msg.show {
  display: block;
}
select.form-input {
  padding-left: 13px;
}
textarea.form-input {
  padding-left: 13px;
}








.popup-card{
    display:flex;
    overflow:hidden;
    width:900px;
    max-width:92vw;
}
.popup-form-panel{
    flex:1 1 55%;
    min-width:0;
    position:relative;
    background:#ffffff;
    padding:clamp(20px, 5vw, 32px) clamp(16px, 4vw, 28px);
    background-image:radial-gradient(circle at 100% 0%, rgba(245,168,59,.06) 0%, transparent 45%);
}

/* --- Visual panel --- */
.popup-visual{
    position:relative;
    flex:1 1 45%;
    min-width:0;
    max-width:420px;
    overflow:hidden;
    padding:clamp(24px, 6vw, 44px) clamp(20px, 5vw, 40px);
    isolation:isolate;
    display:flex;
    flex-direction:column;
}
.popup-visual::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-2;
}
.popup-visual::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
}
.visual-bg-img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    z-index:-2;
}
.popup-trust-logo{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    margin-top:12px;
    padding:10px 12px 6px;
    border-top:1px solid #eee;
    background:transparent;
}
.trust-logo-img{
    width:76px;                  /* was 56px originally */
    max-width:76px;
    height:auto;
    display:block;
    margin:0;
    border-radius:50%;
    border:3px solid #f5a83b;
    box-shadow:0 0 0 4px rgba(245,168,59,.18), 0 6px 18px rgba(232,134,42,.35);
}
.trust-label{
    font-size:.72rem;
    font-weight:700;
    color:#ffffff;
    background:linear-gradient(135deg, #f5a83b 0%, #e8862a 100%);
    text-transform:uppercase;
    letter-spacing:.08em;
    padding:4px 14px;
    border-radius:100px;
    box-shadow:0 3px 8px rgba(232,134,42,.3);
}
.trust-name{
    font-size:1rem;
    font-weight:800;
    color:#173259;
    line-height:1.2;
}
.visual-top{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:clamp(20px, 5vw, 40px);
}
.logo-badge{
    width:44px; height:44px;
    background:#ffffff;
    border-radius:10px;
    display:flex;
    align-items:center;
    justify-content:center;
    flex:none;
}
.logo-badge svg{ width:26px; height:26px; }
.affiliation-text{ line-height:1.35; min-width:0; }
.affiliation-text .pre{
    display:block;
    font-size:.72rem;
    color:#c9d4e6;
}
.affiliation-text .name{
    display:block;
    font-size:.9rem;
    font-weight:700;
    color:#ffffff;
}
.visual-headline{
    font-size:clamp(1.3rem, 3.4vw, 1.5rem);
    line-height:1.22;
    font-weight:800;
    margin:0 0 10px;
    color:#ffffff;
    letter-spacing:-0.015em;
    text-shadow:0 2px 10px rgba(0,0,0,.55);
    overflow-wrap:break-word;
    word-break:normal;
}
.visual-headline .hl{
    color:#f5a83b;
}
.headline-rule{
    width:64px;
    height:4px;
    border-radius:2px;
    background:#f5a83b;
    border:none;
    margin:14px 0 18px;
}
.visual-sub{
    margin:0;
    text-align:center;
    font-size:.85rem;
    font-weight:700;
    color:#ffffff;
    padding:4px 0;
    white-space:nowrap;
    text-shadow:0 1px 3px rgba(0,0,0,.4);
}
.stats-row1{
    display:flex;
    gap:8px;
    margin-bottom:12px;
    flex-wrap:wrap;
    margin-top:auto;
    padding:16px 10px;
    background:rgba(13,27,52,.55);
    backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);
    border:1px solid rgba(255,255,255,.35);
    border-radius:14px;
}
.stat{ flex:1 1 60px; min-width:0; text-align:center; }
.stat .stat-icon{ font-size:1.05rem; margin-bottom:6px; }
.stat .stat-value{ display:block; font-size:.95rem; font-weight:800; white-space:nowrap; text-shadow:0 1px 3px rgba(0,0,0,.4);color: white; }
.stat .stat-label{ display:block; font-size:.72rem; font-weight:600; color:#f5a83b; margin-top:4px; text-shadow:0 1px 3px rgba(0,0,0,.4); }
.urgency-badge{
    border:1px solid rgba(255,255,255,.4);
    border-radius:12px;
    padding:10px 12px;
    display:inline-flex;
    align-items:center;
    gap:8px;
}
.urgency-badge .flame{ font-size:1rem; }
.urgency-badge .badge-text{ font-size:.75rem; line-height:1.3; }
.urgency-badge .badge-main{ display:block; font-weight:700; color:#ffffff; }
.urgency-badge .badge-sub{ display:block; color:#f5a83b; font-weight:600; }

/* --- Form panel styling --- */
.popup-form-panel .popup-title{
    font-size:1.7rem;
    margin:0 0 16px;
    color:#1a1a2e;
    position:relative;
    padding-bottom:12px;
    font-weight:600;
    letter-spacing:-0.01em;
}
.popup-form-panel .popup-title::after{
    content:"";
    position:absolute;
    left:0; bottom:0;
    width:42px;
    height:3px;
    background:#f5a83b;
    border-radius:2px;
}
.popup-form-panel .form-group{
    margin-bottom:14px;
}
.popup-form-panel .form-label{
    display:block;
    font-size:.72rem;
    font-weight:700;
    letter-spacing:.03em;
    color:#173259;
    margin-bottom:6px;
    text-transform:uppercase;
}
.popup-form-panel .input-wrap{
    position:relative;
    position:relative !important;
}
.popup-form-panel .form-input{
    width:100%;
    border:1.5px solid #e3e6ee;
    border-radius:10px;
    padding:12px 14px;
    font-size:.9rem;
    background:#f8f9fc;
    transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
    color:#2b2b3a;
}
.popup-form-panel .form-input::placeholder{
    color:#9aa1b5;
}
.popup-form-panel select.form-input{
    appearance:none;
    -webkit-appearance:none;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23173259' d='M1 1l5 5 5-5' stroke='%23173259' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
    background-repeat:no-repeat;
    background-position:right 14px center;
    padding-right:36px;
    cursor:pointer;
 }
.popup-form-panel .input-wrap .form-input{
    padding-left:38px;
}
.popup-form-panel .form-input:focus{
    outline:none;
    border-color:#173259;
    background:#ffffff;
    box-shadow:0 0 0 3px rgba(23,50,89,.12);
}
.popup-form-panel .form-input:hover{
    border-color:#c7ccdb;
}
.popup-form-panel .input-icon{
    position:absolute;
    position:absolute !important;
    left:12px;
    top:50%;
    font-size:.95rem;
    opacity:.55;
    pointer-events:none;
    line-height:1;
    display:flex;
    align-items:center;
    justify-content:center;
    height:1em;
    z-index:1;
    z-index:2 !important;
}
.popup-form-panel .phone-row{
    display:flex;
    gap:8px;
}
.popup-form-panel .phone-row .country-code{
    flex:0 0 78px;
    padding-left:12px;
    background-position:right 8px center;
    padding-right:22px;
}
.popup-form-panel .phone-row .form-input:not(.country-code){
    flex:1;
}
.popup-form-panel .input-wrap select.form-input,
.popup-form-panel .phone-row .form-input:not(.country-code){
    padding-left:14px;
}
.popup-form-panel .form-label::after{
    content:"";
}
.popup-form-panel .err-msg{
    display:none;
    font-size:.72rem;
    color:#e0453c;
    margin-top:5px;
}
.popup-form-panel .btn-primary{
    background:linear-gradient(135deg, #f5a83b 0%, #e8862a 100%);
    border:none;
    cursor:pointer;
    font-weight:700;
    letter-spacing:.02em;
    box-shadow:0 6px 16px rgba(232,134,42,.35);
    transition:transform .15s ease, box-shadow .15s ease;
}
.popup-form-panel .btn-primary:hover{
    transform:translateY(-1px);
    box-shadow:0 8px 20px rgba(232,134,42,.45);
}
.popup-form-panel .btn-primary:active{
    transform:translateY(0);
}
.popup-close{
    position:absolute;
    top:12px;
    right:12px;
    z-index:10;
    width:32px;
    height:32px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.9);
    border:none;
    border-radius:50%;
    font-size:16px;
    line-height:1;
    color:#173259;
    cursor:pointer;
    box-shadow:0 2px 8px rgba(0,0,0,.15);
    transition:background .15s ease, transform .15s ease;
}
.popup-close:hover{
    background:#ffffff;
    transform:scale(1.08);
}
.popup-card{
    position:relative;
    display:flex;
    overflow:hidden;
    width:900px;
    max-width:92vw;
}
@media (max-width:520px){
    .popup-card{ flex-direction:column; }
    .trust-logo-img{ width:68px; max-width:68px; }
    .popup-visual{ max-width:100%; flex:none; width:100%; min-height:300px; }
    .popup-card{ max-height:94vh; overflow-y:auto; }
    .popup-visual{ padding:20px 18px; }
    .visual-headline{
        font-size:1.35rem;
        line-height:1.25;
        margin-bottom:6px;
    }
    .headline-rule{
        margin:8px 0 10px;
    }
    .visual-sub{
        font-size:.75rem;
    }
    .stats-row1{
        padding:10px 6px;
        gap:4px;
        margin-bottom:10px;
    }
    .stat .stat-icon{
        font-size:.85rem;
        margin-bottom:3px;
    }
    .stat .stat-value{
        font-size:.78rem;
    }
    .stat .stat-label{
        font-size:.62rem;
    }
    .popup-form-panel .form-input{
        font-size:.85rem;
        padding:11px 12px;
    }
    .popup-form-panel .input-wrap .form-input{
        padding-left:34px;
    }
    .popup-form-panel .input-icon{
        left:10px;
        font-size:.85rem;
    }
    .popup-form-panel .phone-row{
        gap:6px;
    }
    .popup-form-panel .phone-row .country-code{
        flex:0 0 68px;
        padding-left:10px;
        padding-right:18px;
        font-size:.85rem;
    }
    .popup-form-panel select.form-input{
        padding-right:30px;
        background-position:right 10px center;
    }
    .popup-form-panel .popup-title{
        font-size:1.4rem;
    }
}
@media (min-width:521px) and (max-width:700px){
    .popup-card{ width:95vw; }
    .stats-row1{ gap:6px; }
    .stat .stat-value{ font-size:.8rem; }
    .stat .stat-label{ font-size:.58rem; }
    .popup-form-panel .phone-row .country-code{
        flex:0 0 72px;
    }
}
@media (max-width:360px){
    .popup-form-panel .phone-row{
        flex-direction:column;
    }
    .popup-form-panel .phone-row .country-code{
        flex:none;
        width:100%;
    }
}

/* ===== Gandhi Jayanti only ===== */

/* Headline: text only, no box */
.popup-visual.fest-gandhi .visual-headline{
    color:#0a2a5e;
    text-shadow:
        0 0 6px rgba(255,255,255,.95),
        0 0 12px rgba(255,255,255,.9),
        0 1px 2px rgba(255,255,255,1);
}
.popup-visual.fest-gandhi .visual-headline .hl{
    color:#d9700f;
}

/* Sub text: text only, moved up from the bottom edge */
.popup-visual.fest-gandhi .visual-sub{
    position:absolute;
    left:8%;
    right:8%;
    bottom:34px;
    color:#ffffff;
    font-size:.85rem;
    line-height:1.3;
    white-space:normal;
    text-shadow:
        0 1px 3px rgba(0,0,0,.9),
        0 0 8px rgba(0,0,0,.8);
}

/* ===== Navratri only ===== */

/* Headline: text only, no box, strong white glow for the busy top area */
/* ===== Navratri only ===== */

.popup-visual.fest-navratri .visual-headline{
    color:#0a2a5e;
    font-weight:900;
    text-shadow:
        -1.5px -1.5px 0 #fff,  1.5px -1.5px 0 #fff,
        -1.5px  1.5px 0 #fff,  1.5px  1.5px 0 #fff,
         0 0 8px #fff, 0 0 16px rgba(255,255,255,.95);
}
.popup-visual.fest-navratri .visual-headline .hl{
    color:#b83200;
}

 .popup-visual.fest-navratri .visual-sub{
     position:absolute;
     left:0;
     right:0;
     top:auto;
     bottom:52px;
     color:#ffd84d;
     font-size:clamp(.62rem, 2.9vw, .72rem);
     font-weight:900;
     line-height:1.3;
     white-space:nowrap;
     text-align:center;
    text-shadow:
        -2px -2px 0 #3a0a00,  2px -2px 0 #3a0a00,
        -2px  2px 0 #3a0a00,  2px  2px 0 #3a0a00,
         0   -2px 0 #3a0a00,  0    2px 0 #3a0a00,
        -2px  0   0 #3a0a00,  2px  0   0 #3a0a00,
         0 0 10px rgba(58,10,0,.95),
         0 0 18px rgba(58,10,0,.8);
 }

.popup-visual.fest-navratri::after{
    background:linear-gradient(to top, rgba(40,8,0,.65) 0%, rgba(40,8,0,.35) 30%, rgba(40,8,0,0) 55%);
}

/* Headline: text only, white with a dark shadow for the sky area */
.popup-visual.fest-dussehra .visual-headline{
    color:#ffffff;
    text-shadow:
        0 1px 3px rgba(0,0,0,.9),
        0 0 10px rgba(0,0,0,.75),
        0 0 18px rgba(0,0,0,.6);
}
.popup-visual.fest-dussehra .visual-headline .hl{
    color:#ffc247;
}

/* Sub text: moved to the bottom, on the rangoli floor */
.popup-visual.fest-dussehra .visual-sub{
    position:absolute;
    left:0;
    right:0;
    top:auto;
    bottom:34px;
    color:#ffffff;
    font-size:clamp(.62rem, 2.9vw, .85rem);
    line-height:1.3;
    white-space:nowrap;
    text-align:center;
    text-shadow:
        0 1px 3px rgba(0,0,0,.95),
        0 0 8px rgba(0,0,0,.85),
        0 0 14px rgba(0,0,0,.7);
}
