/* ---------- Design tokens ---------- */
  :root{
    --bg:#F4F6FB;
    --surface:#FFFFFF;
    --ink:#10193D;          /* deep navy ink (banner headline) */
    --muted:#586079;        /* navy-grey */
    --brand:#16265E;        /* Aavya navy */
    --brand-deep:#0B1439;   /* deepest navy — top of gradient */
    --brand-2:#21357A;      /* brighter navy — bottom of gradient */
    --gold:#C2A15E;         /* Aavya tan-gold */
    --gold-deep:#A07E38;
    --gold-soft:#EADFC4;
    --line:#E2E5EE;
    --danger:#BD4327;
    --shadow:0 1px 2px rgba(16,25,61,.05), 0 12px 32px -12px rgba(16,25,61,.20);
    --radius:18px;
  }
  *{box-sizing:border-box;}
  html{-webkit-text-size-adjust:100%;}
  body{margin:0;background:var(--bg);color:var(--ink);font-family:'Inter',system-ui,-apple-system,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased;}
  .wrap{max-width:560px;margin:0 auto;padding:22px 18px 48px;}

  /* ---------- Brand header (real logo) ---------- */
  .brand{display:flex;align-items:center;gap:13px;margin-bottom:22px;}
  .brand img{height:50px;width:auto;display:block;}
  .brand-fallback{display:none;align-items:center;gap:12px;}
  .brand-mark{width:42px;height:42px;flex:none;border-radius:12px;background:linear-gradient(150deg,var(--brand),var(--brand-deep));display:grid;place-items:center;color:#fff;font-family:'Fraunces',serif;font-weight:600;font-size:22px;}
  .brand-name{font-family:'Fraunces',serif;font-weight:600;font-size:18px;letter-spacing:-.01em;line-height:1.1;}
  .brand-tag{font-size:11.5px;color:var(--muted);letter-spacing:.02em;}

  /* ---------- Tool card ---------- */
  .card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px 22px;}
  .eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-deep);background:linear-gradient(90deg,var(--gold),#D8C18C);padding:7px 13px;border-radius:6px;margin-bottom:14px;box-shadow:0 4px 12px -6px rgba(160,126,56,.6);}
  .eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--brand-deep);}
  h1{font-family:'Fraunces',serif;font-weight:600;font-size:30px;line-height:1.08;letter-spacing:-.02em;margin:0 0 8px;}
  .lede{color:var(--muted);font-size:15px;margin:0 0 24px;}

  /* ---------- Score slider ---------- */
  label{display:block;font-size:13px;font-weight:600;margin:0 0 12px;}
  .score-readout{display:flex;align-items:baseline;gap:8px;margin-bottom:14px;}
  .score-readout .val{font-family:'Fraunces',serif;font-weight:600;font-size:46px;line-height:1;color:var(--brand-deep);font-variant-numeric:tabular-nums;}
  .score-readout .of{font-size:15px;color:var(--muted);font-weight:500;}

  input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:999px;background:var(--line);outline:none;cursor:pointer;margin:6px 0 4px;}
  input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:26px;height:26px;border-radius:50%;background:#fff;border:5px solid var(--brand);box-shadow:0 2px 8px rgba(11,20,57,.32);cursor:pointer;}
  input[type=range]::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:#fff;border:5px solid var(--brand);box-shadow:0 2px 8px rgba(11,20,57,.32);cursor:pointer;}
  input[type=range]:focus-visible{outline:3px solid var(--gold);outline-offset:4px;border-radius:999px;}
  .scale{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:2px;}

  .exact{margin-top:18px;}
  .exact .row{display:flex;align-items:center;gap:10px;}
  .exact input[type=number]{width:110px;font:inherit;font-size:16px;padding:11px 13px;border:1.5px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);transition:border-color .15s,box-shadow .15s;}
  .exact input[type=number]:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px rgba(22,38,94,.14);}
  .exact input.bad{border-color:var(--danger);box-shadow:0 0 0 4px rgba(189,67,39,.10);}
  .exact .lbl{font-size:13px;color:var(--muted);}
  .err{font-size:12.5px;color:var(--danger);margin-top:8px;display:none;font-weight:500;}
  .err.show{display:block;}

  /* ---------- Category select ---------- */
  .cat-field{margin-top:18px;}
  .cat-field label{margin-bottom:8px;}
  .cat-field select{width:100%;font:inherit;font-size:15px;padding:12px 14px;border:1.5px solid var(--line);border-radius:11px;background-color:#fff;color:var(--ink);cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2316265E' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px;}
  .cat-field select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px rgba(22,38,94,.14);}

  /* ---------- Secondary ranks inside the result card ---------- */
  .sub-ranks{margin-top:16px;display:flex;flex-direction:column;gap:8px;position:relative;z-index:1;}
  .sub-rank{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-top:10px;border-top:1px solid rgba(255,255,255,.13);}
  .sub-rank .k{font-size:12.5px;color:#C3CCE6;}
  .sub-rank .v{font-family:'Fraunces',serif;font-weight:600;font-size:16px;color:var(--gold-soft);font-variant-numeric:tabular-nums;white-space:nowrap;}

  /* ---------- Calculation preloader ---------- */
  #calcLoader{margin-top:24px;display:none;}
  #calcLoader.show{display:block;animation:rise .3s cubic-bezier(.2,.7,.2,1) both;}
  .calc-card{background:linear-gradient(165deg,var(--brand-deep) 0%,var(--brand) 60%,var(--brand-2) 100%);border-radius:16px;padding:22px;color:#fff;position:relative;overflow:hidden;}
  .calc-card::after{content:"";position:absolute;right:-40px;top:-40px;width:150px;height:150px;background:radial-gradient(circle,rgba(194,161,94,.30),transparent 70%);}
  .calc-head{display:flex;align-items:center;gap:11px;margin-bottom:18px;position:relative;z-index:1;}
  .calc-spin{width:20px;height:20px;flex:none;border-radius:50%;border:2.5px solid rgba(255,255,255,.22);border-top-color:var(--gold);animation:spin .7s linear infinite;}
  @keyframes spin{to{transform:rotate(360deg);}}
  .calc-title{font-family:'Fraunces',serif;font-weight:600;font-size:16px;letter-spacing:-.01em;}
  .calc-steps{display:flex;flex-direction:column;gap:12px;position:relative;z-index:1;}
  .calc-step{display:flex;align-items:center;gap:11px;font-size:13.5px;color:#A9B4D8;opacity:.35;transform:translateY(2px);transition:opacity .3s,color .3s,transform .3s;}
  .calc-step.active{opacity:1;color:#fff;transform:none;}
  .calc-step.done{opacity:1;color:#E2E8F8;transform:none;}
  .calc-tick{width:21px;height:21px;flex:none;border-radius:50%;border:2px solid rgba(255,255,255,.22);display:grid;place-items:center;font-size:11px;font-weight:700;color:transparent;transition:background .3s,border-color .3s,color .3s;}
  .calc-step.active .calc-tick{border-color:var(--gold);}
  .calc-step.done .calc-tick{background:var(--gold);border-color:var(--gold);color:var(--brand-deep);}
  .calc-progress{height:5px;border-radius:999px;background:rgba(255,255,255,.14);margin-top:20px;overflow:hidden;position:relative;z-index:1;}
  .calc-bar{height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,var(--gold),#E7D6AE);transition:width .42s ease;}

  .btn{width:100%;font:inherit;font-weight:600;font-size:16px;color:#fff;cursor:pointer;background:linear-gradient(150deg,var(--brand),var(--brand-deep));border:none;border-radius:12px;padding:15px;margin-top:20px;transition:transform .08s ease,filter .15s ease;}
  .btn:hover{filter:brightness(1.06);}
  .btn:active{transform:translateY(1px);}
  .btn:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}
  .btn[disabled]{opacity:.6;cursor:default;}

  /* ---------- Result (gated / blurred) ---------- */
  #result{margin-top:24px;display:none;position:relative;}
  #result.show{display:block;animation:rise .45s cubic-bezier(.2,.7,.2,1) both;}
  @keyframes rise{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}

  #resultInner{transition:filter .35s ease;}
  #result.locked #resultInner{filter:blur(9px);pointer-events:none;user-select:none;}

  .lock-overlay{display:none;}
  #result.locked .lock-overlay{
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center;
    position:absolute;inset:0;z-index:3;padding:18px;border-radius:16px;
    background:linear-gradient(180deg,rgba(8,15,42,.55),rgba(8,15,42,.82));
  }
  .lock-badge{width:52px;height:52px;border-radius:50%;background:#fff;box-shadow:0 10px 28px -8px rgba(0,0,0,.55);display:grid;place-items:center;font-size:22px;}
  .lock-title{font-family:'Fraunces',serif;font-weight:600;font-size:21px;color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.45);}
  .lock-sub{font-size:13.5px;color:var(--gold-soft);font-weight:700;letter-spacing:.01em;}

  .result-card{background:linear-gradient(165deg,var(--brand-deep) 0%,var(--brand) 55%,var(--brand-2) 100%);color:#fff;border-radius:16px;padding:24px 22px;position:relative;overflow:hidden;}
  .result-card::after{content:"";position:absolute;right:-40px;top:-40px;width:160px;height:160px;background:radial-gradient(circle,rgba(194,161,94,.36),transparent 70%);}
  .result-label{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-soft);font-weight:600;margin:0 0 6px;}
  .rank-range{font-family:'Fraunces',serif;font-weight:600;font-size:38px;line-height:1.05;letter-spacing:-.01em;font-variant-numeric:tabular-nums;position:relative;z-index:1;}
  .rank-range .sep{color:var(--gold);padding:0 6px;}

  .band{margin-top:20px;position:relative;z-index:1;}
  .band-track{height:8px;border-radius:999px;background:linear-gradient(90deg,#2c3c78,#152a5f);position:relative;}
  .band-fill{position:absolute;left:0;top:0;bottom:0;border-radius:999px;background:linear-gradient(90deg,var(--gold),#e3b659);width:0;transition:width .6s cubic-bezier(.2,.7,.2,1);}
  .band-marker{position:absolute;top:50%;width:16px;height:16px;border-radius:50%;background:#fff;border:3px solid var(--gold);transform:translate(-50%,-50%);left:0;transition:left .6s cubic-bezier(.2,.7,.2,1);box-shadow:0 2px 6px rgba(0,0,0,.3);}
  .band-scale{display:flex;justify-content:space-between;font-size:11px;color:#9BA7CE;margin-top:9px;}
  .band-you{font-size:12.5px;color:var(--gold-soft);margin-top:10px;font-weight:500;}

  .qualify{background:linear-gradient(155deg,#2b2118,#1c160f);color:#F3E6C8;border:1px solid rgba(194,161,94,.40);border-radius:16px;padding:22px;}
  .qualify h3{font-family:'Fraunces',serif;margin:0 0 8px;font-size:20px;font-weight:600;}
  .qualify p{margin:0;font-size:14px;color:#e6d8bf;}

  .note{font-size:12.5px;color:var(--muted);margin-top:13px;display:flex;gap:7px;}
  .note .ic{color:var(--gold);flex:none;font-weight:700;}
  .disclaimer{font-size:11.5px;color:var(--muted);margin-top:14px;line-height:1.45;}

  /* ---------- Lead form ---------- */
  #leadBlock{margin-top:18px;display:none;}
  #leadBlock.show{display:block;}
  .lead-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px 22px;}
  .lead-card.gate{border:2px solid var(--gold);box-shadow:0 0 0 4px rgba(194,161,94,.16), var(--shadow);}
  .lead-card h2{font-family:'Fraunces',serif;font-weight:600;font-size:21px;margin:0 0 4px;letter-spacing:-.01em;}
  .lead-card .sub{font-size:13.5px;color:var(--muted);margin:0 0 18px;}
  .lead-card .field{margin-bottom:14px;}
  .lead-card .field input{width:100%;font:inherit;font-size:16px;padding:13px 14px;border:1.5px solid var(--line);border-radius:11px;background:#fff;color:var(--ink);transition:border-color .15s,box-shadow .15s;}
  .lead-card .field input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 4px rgba(22,38,94,.14);}
  .lead-card .field input.bad{border-color:var(--danger);box-shadow:0 0 0 4px rgba(189,67,39,.10);}
  .lead-card label{margin-bottom:7px;}
  .honeypot{position:absolute;left:-9999px;opacity:0;height:0;width:0;overflow:hidden;}

  #confirm{display:none;text-align:center;padding:30px 18px;}
  #confirm.show{display:block;animation:rise .4s cubic-bezier(.2,.7,.2,1) both;}
  .check{width:54px;height:54px;border-radius:50%;background:rgba(22,38,94,.10);color:var(--brand);display:grid;place-items:center;margin:0 auto 14px;font-size:26px;font-weight:700;}
  #confirm h2{font-family:'Fraunces',serif;font-weight:600;font-size:22px;margin:0 0 6px;}
  #confirm p{color:var(--muted);font-size:14px;margin:0;}

  /* ---------- Trust strip ---------- */
  .trust{margin-top:22px;}
  .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
  .stat{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px 10px;text-align:center;}
  .stat .num{font-family:'Fraunces',serif;font-weight:600;font-size:24px;color:var(--brand-deep);line-height:1;}
  .stat .lab{font-size:11px;color:var(--muted);margin-top:6px;line-height:1.3;}
  .faculty{font-size:12.5px;color:var(--muted);text-align:center;margin-top:14px;line-height:1.5;}
  .faculty b{color:var(--ink);font-weight:600;}

  /* ---------- FAQ ---------- */
  .faq{margin-top:28px;}
  .faq h2{font-family:'Fraunces',serif;font-weight:600;font-size:22px;letter-spacing:-.01em;margin:0 0 14px;}
  .faq-item{background:var(--surface);border:1px solid var(--line);border-radius:14px;margin-bottom:10px;overflow:hidden;}
  .faq-item.open{border-color:rgba(22,38,94,.45);}
  .faq-q{width:100%;text-align:left;font:inherit;font-weight:600;font-size:14.5px;color:var(--ink);background:none;border:none;cursor:pointer;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px;}
  .faq-q:focus-visible{outline:3px solid var(--gold);outline-offset:-3px;}
  .faq-q .chev{flex:none;transition:transform .25s ease;color:var(--brand);}
  .faq-item.open .faq-q .chev{transform:rotate(180deg);}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;}
  .faq-item.open .faq-a{max-height:360px;}
  .faq-a p{margin:0;padding:0 18px 16px;font-size:13.5px;color:var(--muted);line-height:1.58;}

  footer{margin-top:26px;text-align:center;font-size:12px;color:var(--muted);line-height:1.6;}
  footer a{color:var(--brand);text-decoration:none;}
  footer .name{font-family:'Fraunces',serif;color:var(--ink);font-weight:600;font-size:13px;}
  .credit{margin-top:12px;font-size:11px;color:var(--muted);letter-spacing:.02em;}
  .credit b{color:var(--brand);font-weight:600;}

  @media (max-width:420px){
    h1{font-size:26px;}
    .rank-range{font-size:32px;}
    .score-readout .val{font-size:40px;}
    .wrap{padding:18px 14px 40px;}
  }
  @media (prefers-reduced-motion:reduce){*{animation-duration:.001s!important;transition-duration:.001s!important;}}
