.aj-upload label{display:flex;flex-direction:column;gap:8px}
.aj-upload label span{font-weight:400;color:#626575}
.aj-upload input[type="file"]{padding:10px;background:#fff;border:1px solid #e4d8c9;border-radius:9px}
.aj-payment-status{font-size:13px;font-weight:600;color:#9a3412;display:inline-block;margin:12px}
.aj-paid{border-color:#86efac;background:#f0fdf4}
.aj-paid h3{color:#166534}
.aj-whatsapp-button{display:flex;margin-top:18px;background:linear-gradient(120deg,#25d366,#128c7e)}
.aj-modal-open{overflow:hidden}
.aj-report-modal{width:min(760px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:0;border:0;border-radius:26px;background:#fff;box-shadow:0 32px 100px rgba(35,20,8,.32);overflow:hidden}
.aj-report-modal[open]{animation:aj-modal-enter .52s cubic-bezier(.16,1,.3,1) both}
.aj-report-modal::backdrop{background:rgba(33,22,14,.68);backdrop-filter:blur(8px);animation:aj-backdrop-enter .38s ease-out both}
.aj-report-modal-shell{position:relative;max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain}
.aj-report-modal .aj-intake{margin:0;padding:clamp(24px,5vw,48px);border:0;border-radius:0;box-shadow:none}
.aj-report-modal-close{position:sticky;z-index:4;top:12px;float:right;margin:12px 12px -54px 0;width:42px;height:42px;border:1px solid rgba(61,43,28,.14);border-radius:50%;background:#fff;color:#3d2b1c;font:600 28px/1 Inter,sans-serif;cursor:pointer;box-shadow:0 8px 28px rgba(45,35,25,.12)}
.aj-report-modal-close:hover,.aj-report-modal-close:focus-visible{background:#fff6ed;outline:3px solid rgba(249,115,22,.25)}
.aj-intake-placeholder{display:none}
.aj-generation{text-align:center;padding:clamp(22px,5vw,52px) 0 8px}
.aj-intake-generating> :not(.aj-generation){display:none}
.aj-generation-mark{width:82px;height:82px;margin:0 auto 20px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#fff1df,#ffd09c);color:#b64b0d;font:700 42px/1 Georgia,serif;box-shadow:0 14px 36px rgba(181,75,13,.16)}
.aj-generation h3{font-size:clamp(1.55rem,4vw,2.15rem);margin:8px 0 10px}
.aj-generation-copy{max-width:560px;margin:0 auto 28px;color:#6f6258;line-height:1.65}
.aj-om-progress{position:relative;height:14px;margin:42px 18px 22px;border-radius:999px;background:#f1e7dc;box-shadow:inset 0 1px 3px rgba(45,35,25,.12)}
.aj-om-progress-fill{height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#f59e0b,#f97316,#c2410c);transition:width 1.2s cubic-bezier(.22,1,.36,1)}
.aj-om-runner{position:absolute;top:50%;left:0;transform:translate(-50%,-50%);width:43px;height:43px;display:grid;place-items:center;border:3px solid #fff;border-radius:50%;background:#f97316;color:#fff;font:700 23px/1 Georgia,serif;box-shadow:0 7px 18px rgba(194,65,12,.3);transition:left 1.2s cubic-bezier(.22,1,.36,1)}
.aj-generation-status{min-height:24px;margin:0 0 24px;color:#6f6258;font-size:.95rem}
.aj-report-download{display:inline-flex;justify-content:center;margin:4px auto 12px}
.aj-report-download[hidden],.aj-progress-close[hidden]{display:none}
.aj-progress-close{display:block;margin:8px auto}
@keyframes aj-modal-enter{from{opacity:0;transform:translateY(34px) scale(.965)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes aj-backdrop-enter{from{opacity:0}to{opacity:1}}
@media(max-width:600px){.aj-report-modal{width:100%;max-width:none;max-height:94dvh;margin:auto 0 0;border-radius:24px 24px 0 0}.aj-report-modal-shell{max-height:94dvh}.aj-report-modal .aj-intake{padding:28px 18px 32px}.aj-om-progress{margin-inline:12px}}
@media(prefers-reduced-motion:reduce){.aj-report-modal[open],.aj-report-modal::backdrop{animation:none}.aj-om-progress-fill,.aj-om-runner{transition:none}}

/* Mobile-first inline report checkout: no dialog obscuring Razorpay. */
@media(max-width:700px){
  #intake.aj-intake{scroll-margin-top:78px;margin:12px 10px 24px;padding:20px 16px 24px;border-radius:22px}
  #intake.aj-intake h2{font-size:clamp(1.45rem,6vw,1.9rem);line-height:1.2}
  #intake .aj-notice{font-size:.93rem;line-height:1.5}
  #report-intake .aj-fields{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}
  #report-intake fieldset{min-width:0;margin:0;padding:16px 12px;border-radius:16px}
  #report-intake fieldset .aj-fields{gap:14px}
  #report-intake label{display:flex;flex-direction:column;gap:7px;font-size:.94rem;font-weight:600}
  #report-intake input:not([type=checkbox]),#report-intake select,#report-intake textarea{
    width:100%;min-width:0;min-height:52px;box-sizing:border-box;border-radius:12px;
    font-size:16px;line-height:1.4;padding:13px 14px;background:#fff;
  }
  #report-intake textarea{min-height:110px;resize:vertical}
  #report-intake .aj-consent{display:flex;flex-direction:row;align-items:flex-start;gap:12px;line-height:1.5;margin:20px 0}
  #report-intake .aj-consent input{flex:none;width:20px;height:20px;margin-top:2px}
  #report-intake button[type=submit],#request-review .aj-button{width:100%;min-height:54px;font-size:1rem;border-radius:14px}
  #request-review{padding:20px 0;scroll-margin-top:85px}
  #request-review dl{display:grid;grid-template-columns:1fr;gap:8px}
  #request-review dt{font-weight:700;margin-top:12px}
  #request-review dd{margin:0;overflow-wrap:anywhere}
  #request-review .aj-text-link{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
  .aj-payment-status{display:block;line-height:1.5;margin:12px 0}
  .aj-generation{padding:24px 4px}
  .aj-report-download{width:100%;min-height:52px}
}

/* Career checkout: concise guided modal, with payment in Razorpay's own layer. */
.aj-report-modal:has(form[data-product="career-guidance"]){width:min(460px,calc(100% - 28px));max-height:min(700px,calc(100dvh - 32px));border-radius:22px}
.aj-report-modal:has(form[data-product="career-guidance"]) .aj-report-modal-shell{max-height:min(700px,calc(100dvh - 32px));overflow-y:auto}
.aj-report-modal:has(form[data-product="career-guidance"]) .aj-intake{padding:26px 24px 22px}
.aj-report-modal:has(form[data-product="career-guidance"]) .aj-intake>.aj-eyebrow{display:none}
.aj-report-modal:has(form[data-product="career-guidance"]) .aj-intake h2{font-size:1.42rem;line-height:1.2;letter-spacing:-.02em;margin:0 52px 6px 0}
.aj-report-modal:has(form[data-product="career-guidance"]) .aj-notice{font-size:.84rem;line-height:1.45;margin:0 0 16px;color:#746c62}
.aj-report-modal:has(form[data-product="career-guidance"]) .aj-report-modal-close{position:sticky;top:12px;margin:10px 10px -46px 0;width:36px;height:36px;font-size:23px}
.aj-report-modal:has(form[data-product="career-guidance"]) .aj-policy-links,.aj-report-modal:has(form[data-product="career-guidance"]) .aj-fine{font-size:.75rem;line-height:1.45}
.aj-step-progress{margin:0 0 16px}
.aj-step-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.aj-step-count{font-size:.68rem;font-weight:800;letter-spacing:.12em;color:#a45424}
.aj-step-heading strong{font-size:.85rem;color:#352b23}
.aj-step-track{height:4px;border-radius:100px;background:#f2e7d9;overflow:hidden}
.aj-step-track span{display:block;height:100%;border-radius:100px;background:#bd7a44;transition:width .2s}
.aj-step-panel[hidden],.aj-step-back[hidden],.aj-step-next[hidden]{display:none!important}
.aj-step-panel{display:grid;gap:12px}
.aj-step-panel>label{display:grid;gap:5px;font-size:.86rem;font-weight:650}
.aj-step-panel fieldset{padding:0;border:0;min-width:0;margin:0}
.aj-step-panel legend{display:none}
.aj-step-panel fieldset .aj-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.aj-step-panel fieldset label{display:grid;gap:5px;font-size:.86rem;font-weight:650}
.aj-step-panel fieldset label:has([name="birth_name"]),.aj-step-panel fieldset label:has([name="birth_place"]){grid-column:1/-1}
.aj-step-panel input:not([type=checkbox]),.aj-step-panel select,.aj-step-panel textarea{box-sizing:border-box;width:100%;min-width:0;min-height:46px;padding:10px 12px;font-size:16px;line-height:1.3;border-radius:11px;background:#fff}
.aj-step-panel textarea{min-height:90px;resize:vertical}
.aj-step-panel .aj-consent{font-size:.8rem;line-height:1.35;margin:2px 0}
.aj-step-panel .aj-consent input{width:18px;height:18px;flex:none}
.aj-step-nav{display:flex;gap:10px;align-items:center;margin-top:14px}
.aj-step-nav .aj-button{min-height:48px;flex:1;border-radius:12px;font-size:.95rem}
.aj-step-back{border:0;background:none;color:#96532e;font-size:.9rem;font-weight:700;min-height:44px;padding:0 12px;cursor:pointer}
.aj-report-modal:has(form[data-product="career-guidance"]) #request-review{padding:6px 0}
.aj-report-modal:has(form[data-product="career-guidance"]) #request-review h3{font-size:1.3rem;margin:0 0 12px}
.aj-report-modal:has(form[data-product="career-guidance"]) #request-review>p{font-size:.84rem;line-height:1.45}
.aj-report-modal:has(form[data-product="career-guidance"]) #request-review .aj-button{width:100%;min-height:50px;font-size:1rem}
.aj-review-disclosure{border:1px solid #e8d9c8;border-radius:12px;padding:12px;margin:10px 0}
.aj-review-disclosure summary{font-size:.85rem;font-weight:700;cursor:pointer}
.aj-review-disclosure dl{max-height:230px;overflow:auto;margin:12px 0 0;font-size:.84rem}
@media(max-width:600px){
 .aj-report-modal:has(form[data-product="career-guidance"]){width:calc(100% - 24px);max-height:min(690px,calc(100dvh - 24px));margin:auto;border-radius:22px}
 .aj-report-modal:has(form[data-product="career-guidance"]) .aj-report-modal-shell{max-height:min(690px,calc(100dvh - 24px))}
 .aj-report-modal:has(form[data-product="career-guidance"]) .aj-intake{margin:0;padding:22px 18px 20px;border:0}
 .aj-report-modal:has(form[data-product="career-guidance"]) .aj-intake h2{font-size:1.32rem}
 .aj-report-modal:has(form[data-product="career-guidance"]) #report-intake .aj-fields{display:grid;gap:12px}
 .aj-report-modal:has(form[data-product="career-guidance"]) .aj-step-panel fieldset .aj-fields{grid-template-columns:1fr 1fr;gap:10px}
 .aj-report-modal:has(form[data-product="career-guidance"]) #report-intake .aj-step-panel input:not([type=checkbox]),
 .aj-report-modal:has(form[data-product="career-guidance"]) #report-intake .aj-step-panel select,
 .aj-report-modal:has(form[data-product="career-guidance"]) #report-intake .aj-step-panel textarea{min-height:46px;padding:10px 11px;font-size:16px}
 .aj-report-modal:has(form[data-product="career-guidance"]) #report-intake .aj-step-panel fieldset{padding:0;border:0}
 .aj-report-modal:has(form[data-product="career-guidance"]) #report-intake .aj-step-panel label{gap:5px;font-size:.83rem}
}


/* Career Report checkout — cinematic banner in the actual modal (2026-10-25). */
.aj-report-modal:has(form[data-product="career-guidance"]){
  width:min(930px,calc(100vw - 36px)); max-height:calc(100dvh - 36px);
  border-radius:20px; overflow:hidden; background:#fffdfb; box-shadow:0 26px 76px rgba(18,12,8,.30);
}
.aj-report-modal:has(form[data-product="career-guidance"]) .aj-report-modal-shell{
  /* The former browser scrollbar reserved a 15-18px white gutter beside
     the hero, preventing the banner's right edge from meeting the modal. */
  width:100%; max-width:100%; box-sizing:border-box;
  max-height:calc(100dvh - 36px);
  overflow-x:hidden; overflow-y:auto;
  scrollbar-width:none; -ms-overflow-style:none;
  scrollbar-gutter:auto;
}
.aj-report-modal:has(form[data-product="career-guidance"]) .aj-report-modal-shell::-webkit-scrollbar{
  display:none; width:0; height:0;
}
.aj-report-modal:has(form[data-product="career-guidance"]) .aj-report-modal-close{
  /* Out of document flow: the previous floated button squeezed the banner,
     leaving a white strip along the popup's right edge. */
  position:absolute; top:16px; right:16px; float:none; z-index:12;
  margin:0; width:40px; height:40px; border-radius:50%;
  border:1px solid rgba(71,42,24,.16); color:#2d1d16; background:#fffaf5;
  font-size:24px; line-height:1; box-shadow:0 3px 12px rgba(25,15,10,.14);
}
.aj-career-modal-banner {
  width:100%; max-width:100%; margin:0; clear:both;
  position:relative; min-height:310px; display:flex; align-items:center;
  overflow:hidden; isolation:isolate; box-sizing:border-box;
  padding:32px 44px; border-radius:0;
  background:
    linear-gradient(90deg,#fcf0dd 0%,rgba(250,235,211,.98) 29%,rgba(249,230,197,.91) 44%,rgba(246,219,180,.42) 64%,rgba(59,27,13,.02) 86%),
    url('/assets/career-report-modal-scene.svg') center right/cover no-repeat;
  color:#2e1913;
}
.aj-career-modal-banner::after {
  content:""; pointer-events:none; position:absolute; inset:0;
  border:0; border-bottom:1px solid rgba(118,70,42,.12); border-radius:0;
}
.aj-career-banner-content{position:relative;z-index:1;max-width:490px}
.aj-career-banner-eyebrow{
  margin:0 0 10px; font:700 11px/1.4 Inter,Arial,sans-serif;
  letter-spacing:.25em; color:#9b431b;
}
.aj-career-modal-banner h3{
  font:400 clamp(3rem,5.3vw,4.6rem)/.93 Georgia,"Times New Roman",serif;
  letter-spacing:-.045em; margin:0 0 13px; color:#29150f;
}
.aj-career-modal-banner h3 em{font-style:italic;color:#9d3513}
.aj-career-banner-subtitle{
  font:400 clamp(.98rem,1.55vw,1.22rem)/1.42 Georgia,serif;
  margin:0;max-width:405px;color:#432b1e;
}
.aj-career-banner-features{display:flex;gap:20px;margin-top:23px}
.aj-career-banner-features span{
  display:flex;align-items:center;gap:9px;
  font:700 12px/1.3 Inter,Arial,sans-serif;color:#4a2b1e;
}
.aj-career-banner-features b{
  display:grid;place-items:center;flex:none;width:38px;height:38px;
  border-radius:50%;border:1px solid #e6c394;background:#f9e4c6;
  font:700 25px/1 Georgia,serif;color:#943817;
}
.aj-report-modal:has(form[data-product="career-guidance"]) .aj-intake{
  padding:18px clamp(24px,4vw,44px) 30px; margin:0; border:0;
  background:#fffdfb;
}
.aj-report-modal:has(form[data-product="career-guidance"]) .aj-intake>h2,
.aj-report-modal:has(form[data-product="career-guidance"]) .aj-intake>.aj-eyebrow{
  position:absolute!important;width:1px!important;height:1px!important;
  padding:0!important;margin:-1px!important;border:0!important;
  overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;
}
.aj-report-modal:has(form[data-product="career-guidance"]) .aj-notice{display:none}
.aj-career-delivery{
  display:flex;align-items:center;gap:18px;
  padding:15px 19px;margin:0 0 21px;border:1px solid #ecd9c0;
  background:#fbf2e6;border-radius:12px;color:#544336;
}
.aj-career-delivery-icon{
  display:grid;place-items:center;flex:none;width:48px;height:48px;
  background:#f5ddba;color:#8d371a;border-radius:50%;
  font:600 29px/1 Georgia,serif;
}
.aj-career-delivery p{font-size:14px;line-height:1.52;margin:0;max-width:740px}
.aj-career-delivery strong{color:#81321b}
.aj-report-modal:has(form[data-product="career-guidance"]) #report-intake>.aj-fields{
  display:block; width:100%;
}
.aj-report-modal:has(form[data-product="career-guidance"]) .aj-step-panel{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;row-gap:15px;
}
.aj-report-modal:has(form[data-product="career-guidance"]) .aj-step-panel[hidden]{display:none!important}
.aj-report-modal:has(form[data-product="career-guidance"]) .aj-step-panel fieldset,
.aj-report-modal:has(form[data-product="career-guidance"]) .aj-step-panel .aj-full,
.aj-report-modal:has(form[data-product="career-guidance"]) .aj-step-panel .aj-consent,
.aj-report-modal:has(form[data-product="career-guidance"]) .aj-step-panel button[type="submit"]{
  grid-column:1/-1;
}
.aj-report-modal:has(form[data-product="career-guidance"]) .aj-step-panel label{
  min-width:0; display:grid; gap:6px; font-size:14px; font-weight:700; color:#211c1a;
}
.aj-report-modal:has(form[data-product="career-guidance"]) .aj-step-panel input:not([type=checkbox]),
.aj-report-modal:has(form[data-product="career-guidance"]) .aj-step-panel select,
.aj-report-modal:has(form[data-product="career-guidance"]) .aj-step-panel textarea{
  width:100%;min-width:0;min-height:52px;box-sizing:border-box;
  background:#fff;border-radius:10px;padding:12px 14px;font-size:16px;
}
.aj-report-modal:has(form[data-product="career-guidance"]) .aj-step-nav .aj-button{
  background:#963818;border-radius:10px; min-height:50px;
}
.aj-report-modal:has(form[data-product="career-guidance"]) .aj-step-progress{margin-bottom:18px}
.aj-report-modal:has(form[data-product="career-guidance"]) .aj-step-count{font-size:12px}
.aj-report-modal:has(form[data-product="career-guidance"]) .aj-step-track{height:5px}
@media(max-width:680px){
  .aj-report-modal:has(form[data-product="career-guidance"]){
    width:calc(100vw - 16px);max-height:calc(100dvh - 16px);
    margin:auto;border-radius:18px;
  }
  .aj-report-modal:has(form[data-product="career-guidance"]) .aj-report-modal-shell{max-height:calc(100dvh - 16px)}
  .aj-report-modal:has(form[data-product="career-guidance"]) .aj-report-modal-close{
    width:38px;height:38px;font-size:21px;margin:0;top:10px;right:10px;float:none;
  }
  .aj-career-modal-banner{
    min-height:216px;padding:22px 20px 20px;align-items:center;border-radius:0;
    background-position:60% center;
  }
  .aj-career-banner-content{max-width:78%}
  .aj-career-banner-eyebrow{font-size:9px;letter-spacing:.14em;max-width:180px}
  .aj-career-modal-banner h3{font-size:clamp(2rem,8vw,2.9rem);margin-bottom:10px}
  .aj-career-banner-subtitle{font-size:12px;line-height:1.42;max-width:245px}
  .aj-career-banner-features{display:none}
  .aj-report-modal:has(form[data-product="career-guidance"]) .aj-intake{
    padding:15px 16px 24px;
  }
  .aj-career-delivery{gap:10px;padding:12px;margin-bottom:17px}
  .aj-career-delivery-icon{width:36px;height:36px;font-size:23px}
  .aj-career-delivery p{font-size:12px;line-height:1.45}
  .aj-report-modal:has(form[data-product="career-guidance"]) .aj-step-panel{
    grid-template-columns:minmax(0,1fr);row-gap:13px;
  }
  .aj-report-modal:has(form[data-product="career-guidance"]) .aj-step-panel fieldset .aj-fields{
    grid-template-columns:1fr 1fr;
  }
}
