/* partner.vijmitra.in: landing and login (dark). */
@font-face{font-family:"Instrument Sans";font-weight:400;font-display:swap;src:url("../fonts/instrument-sans-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Instrument Sans";font-weight:500;font-display:swap;src:url("../fonts/instrument-sans-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Instrument Sans";font-weight:600;font-display:swap;src:url("../fonts/instrument-sans-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Instrument Sans";font-weight:700;font-display:swap;src:url("../fonts/instrument-sans-latin-700-normal.woff2") format("woff2")}
@font-face{font-family:"Instrument Serif";font-weight:400;font-display:swap;src:url("../fonts/instrument-serif-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url("../fonts/instrument-serif-latin-400-italic.woff2") format("woff2")}
:root{--bg:#0E0C14;--bg-2:#14111C;--card:#17141F;--card-2:#1E1A28;--line:rgba(255,255,255,.08);--line-2:rgba(255,255,255,.14);
  --ink:#F4F2F8;--ink-2:#D9D4E3;--muted:#A9A3B6;--faint:#8F899D;--accent:#C9A7EF;--accent-2:#DCC3F7;--accent-ink:#1A0F28;
  --sage:#86CFA4;--bronze:#D9A87E;--plum:#5A2786;
  --sans:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;--serif:"Instrument Serif",Georgia,"Times New Roman",serif;
  color-scheme:dark}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body.ps{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;min-height:100vh}
.ps a{color:var(--accent);text-decoration:none}
.ps a:hover{color:var(--accent-2)}
.ps h1,.ps h2,.ps h3,.ps p{margin:0}
.ps img{max-width:100%}
.ps :focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.ps-wrap{max-width:1160px;margin:0 auto;padding:0 clamp(16px,4vw,32px)}
.ps-eyebrow{font-size:14px;font-weight:600;color:var(--accent);letter-spacing:.01em;margin-bottom:16px}
.ps-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 26px;border-radius:999px;border:0;font:600 16px/1 var(--sans);cursor:pointer;text-decoration:none;transition:background .15s,transform .15s}
.ps-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ps-btn.primary{background:var(--accent);color:var(--accent-ink)!important}
.ps-btn.primary:hover{background:var(--accent-2)}
.ps-btn.ghost{background:transparent;color:var(--ink)!important;box-shadow:inset 0 0 0 1px var(--line-2)}
.ps-btn.ghost:hover{background:rgba(255,255,255,.05)}
.ps-btn:active{transform:scale(.98)}

/* hero */
.ps-hero{position:relative;overflow:hidden}
.ps-hero::before{content:"";position:absolute;inset:-20% -10% auto auto;width:900px;height:900px;background:radial-gradient(closest-side,rgba(123,75,176,.32),transparent 70%);pointer-events:none}
.ps-hero::after{content:"";position:absolute;inset:auto auto -40% -20%;width:800px;height:800px;background:radial-gradient(closest-side,rgba(217,168,126,.10),transparent 70%);pointer-events:none}
.ps-hero .ps-wrap{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding-top:88px;padding-bottom:104px}
.ps-hero h1{font:400 clamp(44px,6.2vw,72px)/1.02 var(--serif);letter-spacing:-.025em}
.ps-hero h1 em{font-style:italic;color:var(--accent)}
.ps-lede{font-size:19px;line-height:1.6;color:var(--ink-2);margin-top:22px;max-width:540px}
.ps-ctas{display:flex;gap:12px;margin-top:34px;flex-wrap:wrap}
.ps-free{font-size:14px;color:var(--muted);margin-top:16px}

/* report mock (light paper on the dark page) */
.ps-mock{background:#fff;color:#1C1B20;border-radius:22px;padding:24px;box-shadow:0 2px 6px rgba(0,0,0,.3),0 40px 120px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.06);transform:rotate(-1.4deg);font-size:13px;line-height:1.5}
.ps-mock .mrow{display:flex;justify-content:space-between;align-items:center;gap:12px}
.ps-mock .mtag{color:#5A2786;font-weight:600;font-size:12px;margin-top:14px}
.ps-mock .mhead{font:400 24px/1.15 var(--serif);margin-top:4px}
.ps-mock .mband{background:#3E1A5E;color:#fff;border-radius:14px;padding:16px 18px;margin:14px 0}
.ps-mock .mfrom{font:400 22px var(--serif);opacity:.6;text-decoration:line-through;text-decoration-thickness:1px}
.ps-mock .mto{font:400 40px/1 var(--serif)}
.ps-mock table{width:100%;border-collapse:collapse;font-size:12.5px}
.ps-mock td{padding:7px 6px;border-top:1px solid #ECECF0}
.ps-mock td.r{text-align:right}
.ps-mock .rec{background:#F4F0F8;color:#5A2786}
.ps-mock .mnote{font-size:11px;color:#75737B;margin-top:10px}

/* sections */
.ps-sec{padding:112px 0}
.ps-sec.alt{background:var(--bg-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ps-h2{font:400 clamp(34px,4.4vw,52px)/1.06 var(--serif);letter-spacing:-.02em;max-width:760px}
.ps-sub{font-size:18px;color:var(--muted);margin-top:16px;max-width:660px;line-height:1.6}
.ps-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:56px}
.ps-step{position:relative;background:var(--card);border:1px solid var(--line);border-radius:24px;padding:30px 28px 32px;overflow:hidden}
.ps-step .k{font:400 56px/1 var(--serif);color:var(--accent)}
.ps-step h3{font-size:21px;font-weight:600;margin-top:22px;line-height:1.3}
.ps-step p{color:var(--muted);margin-top:10px;font-size:15.5px}
.ps-step>.ico{position:absolute;top:28px;right:26px;width:44px;height:44px;border-radius:14px;background:rgba(201,167,239,.12);color:var(--accent);display:flex;align-items:center;justify-content:center}
.ps-step>.ico svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ps-feat{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:56px}
.ps-f{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:24px}
.ps-f>.ico{width:40px;height:40px;border-radius:12px;background:rgba(201,167,239,.12);color:var(--accent);display:flex;align-items:center;justify-content:center}
.ps-f>.ico svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ps-f h3{font-size:17px;font-weight:600;margin-top:16px}
.ps-f p{color:var(--muted);margin-top:6px;font-size:15px;line-height:1.55}
.ps-sim{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.ps-simcard{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:26px}
.ps-simcard .lab{font-size:13px;color:var(--muted)}
.ps-simcard .big{font:400 54px/1 var(--serif);margin-top:4px}
.ps-simcard .grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}
.ps-simcard .fig{font:400 26px/1.1 var(--serif);margin-top:2px}
.ps-simcard .fieldrow{display:flex;justify-content:space-between;padding:12px 14px;border-radius:12px;background:var(--card-2);margin-top:8px;font-size:14px;color:var(--ink-2)}
.ps-trust{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:44px}
.ps-final{text-align:center}
.ps-final .ps-h2{margin:0 auto}
.ps-final .ps-sub{margin-left:auto;margin-right:auto}
.ps-final .ps-ctas{justify-content:center}
.ps-foot{border-top:1px solid var(--line);padding:36px 0 44px;color:var(--faint);font-size:14px}
.ps-foot .ps-wrap{display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.ps-foot img{height:24px;display:block}
.ps-foot nav{display:flex;gap:18px;flex-wrap:wrap}
.ps-foot a{color:var(--muted)}
.ps-foot a:hover{color:var(--ink)}
@media (max-width:900px){
  .ps-hero .ps-wrap{grid-template-columns:1fr;gap:48px;padding-top:48px;padding-bottom:72px}
  .ps-mock{transform:none}
  .ps-sec{padding:72px 0}
  .ps-steps,.ps-feat,.ps-trust{grid-template-columns:1fr}
  .ps-sim{grid-template-columns:1fr;gap:32px}
}

/* login */
.pl-main{min-height:calc(100vh - 65px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);}
.pl-aside{position:relative;overflow:hidden;background:linear-gradient(160deg,#21133A 0%,#120E1C 60%,#0E0C14 100%);border-right:1px solid var(--line);display:flex;align-items:flex-end;padding:56px}
.pl-aside::before{content:"";position:absolute;inset:-30% -30% auto auto;width:700px;height:700px;background:radial-gradient(closest-side,rgba(201,167,239,.22),transparent 70%)}
.pl-aside-inner{position:relative;max-width:440px}
.pl-aside .k{font-size:13px;font-weight:600;color:var(--accent);letter-spacing:.04em}
.pl-aside h2{font:400 44px/1.08 var(--serif);margin-top:14px;letter-spacing:-.02em}
.pl-aside ul{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:12px;color:var(--ink-2);font-size:15px}
.pl-aside li{display:flex;gap:10px;align-items:flex-start}
.pl-aside li::before{content:"";width:7px;height:7px;border-radius:99px;background:var(--accent);margin-top:9px;flex:none}
.pl-card{padding:64px clamp(20px,5vw,64px);display:flex;flex-direction:column;justify-content:center}
.pl-card .auth-title{font:400 40px/1.08 var(--serif);letter-spacing:-.02em}
.pl-card .login-description{color:var(--muted);margin-top:10px}
.pl-card .login-form{display:grid;gap:18px;margin-top:28px}
.pl-card .form-group{display:grid;gap:7px}
.pl-card .form-group[hidden]{display:none}
.pl-card label{font-size:13px;font-weight:600;color:var(--ink-2)}
.pl-card input[type=text],.pl-card input[type=tel],.pl-card input[type=password]{width:100%;min-height:50px;padding:0 16px;border-radius:12px;border:1px solid var(--line-2);background:var(--card);color:var(--ink);font:16px var(--sans);outline:none;transition:border-color .15s,box-shadow .15s}
.pl-card input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(201,167,239,.18)}
.pl-card input:disabled{opacity:.6}
.pl-card .password-input-row{position:relative}
.pl-card .password-input-row input{padding-right:72px}
.pl-card .password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:var(--accent);font:600 13px var(--sans);cursor:pointer;padding:8px}
.pl-card .form-hint{font-size:12.5px;color:var(--faint)}
.pl-card .field-error{font-size:13px;color:#F6A698}
.pl-card .field-error[hidden],.pl-card [hidden]{display:none!important}
.pl-card .primary-button{min-height:52px;border-radius:999px;border:0;background:var(--accent);color:var(--accent-ink);font:600 16px var(--sans);cursor:pointer;margin-top:6px}
.pl-card .primary-button:hover{background:var(--accent-2)}
.pl-card .primary-button:disabled{opacity:.6;cursor:default}
.pl-card .auth-link-button{border:0;background:transparent;color:var(--accent);font:600 14px var(--sans);cursor:pointer;padding:4px 0;justify-self:start}
.pl-card .auth-otp-controls{display:flex;gap:18px}
.pl-card .otp-phone-label{font-size:13px;color:var(--muted)}
.pl-card .otp-phone-display{font-weight:600}
.pl-card .auth-otp-code{letter-spacing:.4em;font-size:22px!important;text-align:center;font-weight:600}
.pl-card .legal-consent-field label{display:flex;gap:10px;align-items:flex-start;font-weight:400;color:var(--muted);font-size:14px}
.pl-card .legal-consent-field input{accent-color:var(--accent);width:18px;height:18px;margin-top:2px}
.pl-card .auth-message{padding:12px 14px;border-radius:12px;font-size:14px;line-height:1.45;background:rgba(255,255,255,.05);color:var(--ink-2)}
.pl-card .auth-message.is-error{background:rgba(240,144,127,.12);color:#F6A698}
.pl-card .auth-message.is-success{background:rgba(134,207,164,.12);color:#A8E3C0}
.pl-card .auth-message.is-info{background:rgba(201,167,239,.12);color:var(--accent-2)}
.pl-card .auth-mode-prompt{margin-top:22px;color:var(--muted);font-size:15px}
.pl-card .auth-mode-toggle{border:0;background:transparent;color:var(--accent);font:600 15px var(--sans);cursor:pointer;padding:0 0 0 6px}
.pl-card .auth-back-button{margin-top:14px}
.pl-card .auth-role-banner{background:rgba(201,167,239,.12);color:var(--ink-2);border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.5;margin:0 0 20px}
.pl-card .auth-role-banner b{color:var(--ink)}
.pl-card .forgot-password-button{margin-top:2px}
body.auth-check-pending .pl-card{visibility:hidden}
@media (max-width:900px){.pl-main{grid-template-columns:1fr}.pl-aside{display:none}.pl-card{padding-top:40px}}
