/* Tormami premium login modal */
html.tml-lock,body.tml-lock{overflow:hidden!important}
.tml-modal[hidden]{display:none!important}
.tml-modal{position:fixed;inset:0;z-index:2147483000;display:grid;place-items:center;padding:28px;font-family:Manrope,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease}
.tml-modal.is-open{opacity:1;visibility:visible}
.tml-backdrop{position:absolute;inset:0;background:rgba(7,19,34,.62);backdrop-filter:blur(11px) saturate(115%)}
.tml-dialog{position:relative;z-index:2;width:min(1320px,calc(100vw - 56px));max-height:min(860px,calc(100vh - 56px));display:grid;grid-template-columns:minmax(0,1.14fr) minmax(430px,.86fr);overflow:hidden;border:1px solid rgba(255,255,255,.72);border-radius:30px;background:#fff;box-shadow:0 38px 110px rgba(5,18,34,.27);transform:translateY(16px) scale(.985);transition:transform .22s cubic-bezier(.2,.8,.2,1)}
.tml-modal.is-open .tml-dialog{transform:translateY(0) scale(1)}
.tml-close{position:absolute;right:18px;top:18px;z-index:8;width:42px;height:42px;display:grid;place-items:center;border:1px solid #e7edf4;border-radius:50%;background:rgba(255,255,255,.95);color:#173052;box-shadow:0 8px 24px rgba(16,35,65,.09);transition:.2s ease}
.tml-close:hover{transform:rotate(5deg) scale(1.04);color:#ff5a0a;border-color:#ffd1bc}
.tml-close svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}

.tml-visual{position:relative;min-height:690px;padding:56px 48px 38px;overflow:hidden;background:linear-gradient(125deg,#fff8f2 0%,#f5faff 52%,#edf6ff 100%)}
.tml-visual:before{content:"";position:absolute;right:-90px;top:-100px;width:390px;height:390px;border-radius:50%;background:rgba(255,98,17,.09)}
.tml-visual:after{content:"";position:absolute;left:43%;top:24%;width:330px;height:330px;border-radius:50%;background:rgba(39,126,246,.06)}
.tml-visual__glow{position:absolute;inset:auto -10% -30% 20%;height:420px;background:radial-gradient(circle,rgba(255,116,45,.18),transparent 62%);filter:blur(30px)}
.tml-kicker{position:relative;z-index:2;display:inline-flex;align-items:center;min-height:31px;padding:0 13px;border:1px solid #ffd5c2;border-radius:999px;background:#fff3ec;color:#ed5310;font-size:10px;font-weight:900;letter-spacing:.1em}
.tml-visual>h2{position:relative;z-index:2;max-width:570px;margin:17px 0 10px;color:#0f274b;font-size:clamp(42px,4vw,64px);line-height:.98;letter-spacing:-.052em;font-weight:900}
.tml-visual>p:not(.tml-handwritten){position:relative;z-index:2;max-width:590px;margin:0;color:#617087;font-size:16px;line-height:1.68}
.tml-benefits{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:25px;max-width:610px}
.tml-benefits>div{min-width:0;padding:14px;border:1px solid rgba(16,39,75,.08);border-radius:16px;background:rgba(255,255,255,.78);box-shadow:0 10px 28px rgba(16,35,65,.045)}
.tml-benefit-icon{width:40px;height:40px;display:grid;place-items:center;margin-bottom:9px;border-radius:12px}
.tml-benefit-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.tml-benefit-icon--orange{background:#fff0e8;color:#ff5a0a}.tml-benefit-icon--green{background:#eaf8f0;color:#16a65a}.tml-benefit-icon--blue{background:#ebf3ff;color:#2f7ef6}
.tml-benefits b{display:block;color:#142644;font-size:12px;line-height:1.25}.tml-benefits small{display:block;margin-top:4px;color:#8490a2;font-size:9.5px;line-height:1.35}
.tml-visual__image-wrap{position:absolute;right:20px;bottom:0;z-index:2;width:56%;height:56%;display:flex;align-items:flex-end;justify-content:center}
.tml-visual__image{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 24px 35px rgba(16,35,65,.12))}
.tml-floating-card{position:absolute;z-index:3;display:flex;align-items:center;gap:9px;padding:12px 15px;border:1px solid rgba(16,39,75,.08);border-radius:15px;background:rgba(255,255,255,.96);box-shadow:0 16px 40px rgba(16,35,65,.13);color:#173052}
.tml-floating-card--top{top:14%;left:-12%;display:grid;gap:1px;transform:rotate(-3deg)}
.tml-floating-card--top span{font-size:10px}.tml-floating-card--top strong{font-size:13px;color:#ff5a0a}
.tml-floating-card--bottom{right:2%;bottom:12%;transform:rotate(2deg)}
.tml-floating-card--bottom>span{font-size:23px}.tml-floating-card--bottom div{display:grid}.tml-floating-card--bottom strong{font-size:12px}.tml-floating-card--bottom small{color:#7a8799;font-size:9px}
.tml-handwritten{position:absolute!important;left:48px;bottom:38px;z-index:3!important;max-width:270px!important;margin:0!important;color:#173052!important;font-family:"Comic Sans MS","Bradley Hand",cursive;font-size:25px!important;line-height:1.1!important;transform:rotate(-4deg)}

.tml-panel{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:690px;padding:62px 58px 46px;background:#fff}
.tml-panel__head{display:flex;align-items:flex-start;gap:13px;margin-bottom:26px}
.tml-panel__icon{width:45px;height:45px;flex:0 0 auto;display:grid;place-items:center;border-radius:14px;background:#eaf8f0;color:#16a65a}
.tml-panel__icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.tml-panel__head h2{margin:0;color:#102341;font-size:36px;line-height:1.05;letter-spacing:-.04em;font-weight:900}.tml-panel__head p{margin:8px 0 0;color:#748197;font-size:14px;line-height:1.55}
.tml-alert{margin:-8px 0 18px;padding:12px 14px;border-radius:11px;font-size:12px;line-height:1.45}.tml-alert--error{border:1px solid #ffd0d7;background:#fff1f3;color:#b42336}.tml-alert--success{border:1px solid #bfe9cf;background:#effbf4;color:#147a42}
.tml-form{display:grid;gap:17px}.tml-field{display:grid;gap:8px}.tml-field>span{color:#1a2943;font-size:12px;font-weight:800}.tml-control{position:relative;display:flex;align-items:center;height:58px;border:1px solid #dfe7f1;border-radius:13px;background:#fbfcfe;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.tml-control:focus-within{border-color:#ff9b6e;background:#fff;box-shadow:0 0 0 4px rgba(255,90,10,.08)}
.tml-control>svg{width:20px;height:20px;margin-left:16px;flex:0 0 auto;fill:none;stroke:#758399;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tml-control input{width:100%;height:100%;min-width:0;padding:0 48px 0 13px;border:0;outline:0;background:transparent;color:#14233d;font:inherit;font-size:13px}.tml-control input::placeholder{color:#9aa6b6}.tml-password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:9px;background:transparent;color:#6e7b8e}.tml-password-toggle:hover{background:#f0f4f8;color:#ff5a0a}.tml-password-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tml-form-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.tml-remember{display:flex;align-items:center;gap:8px;color:#34445e;font-size:11.5px;font-weight:700;cursor:pointer}.tml-remember input{position:absolute;opacity:0;pointer-events:none}.tml-remember>span{width:18px;height:18px;border:1px solid #d8e1eb;border-radius:5px;background:#fff;box-shadow:inset 0 0 0 3px #fff}.tml-remember input:checked+span{border-color:#ff5a0a;background:#ff5a0a;box-shadow:inset 0 0 0 3px #ff5a0a}.tml-remember input:checked+span:after{content:"✓";display:grid;place-items:center;height:100%;color:#fff;font-size:12px;font-weight:900}.tml-link{padding:0;border:0;background:transparent;color:#ef5310;font-size:11.5px;font-weight:800;text-decoration:underline;text-underline-offset:3px}.tml-link:hover{color:#d94100}
.tml-submit{height:57px;display:flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:13px;background:linear-gradient(135deg,#ff5a0a,#ff7327);color:#fff;font-size:13px;font-weight:900;box-shadow:0 13px 30px rgba(255,90,10,.24);transition:.2s ease}.tml-submit:hover{transform:translateY(-2px);box-shadow:0 17px 34px rgba(255,90,10,.3)}.tml-submit:disabled{opacity:.7;cursor:wait;transform:none}.tml-submit svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.tml-submit.is-loading svg{animation:tml-pulse .8s ease-in-out infinite alternate}@keyframes tml-pulse{to{transform:translateX(3px)}}
.tml-divider{display:flex;align-items:center;gap:12px;margin:20px 0}.tml-divider:before,.tml-divider:after{content:"";height:1px;flex:1;background:#e7edf3}.tml-divider span{color:#8793a3;font-size:11px;font-weight:700}
.tml-create-account{height:52px;display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid #dce5ef;border-radius:12px;background:#fff;color:#132642;font-size:12px;font-weight:850;text-decoration:none;transition:.2s ease}.tml-create-account:hover{border-color:#ffc7ac;background:#fff7f2;color:#e84d06;transform:translateY(-1px)}.tml-create-account svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tml-security{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:20px;color:#8794a5;font-size:10.5px}.tml-security svg{width:17px;height:17px;fill:none;stroke:#16a65a;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.tml-forgot__copy h3{margin:0;color:#102341;font-size:20px}.tml-forgot__copy p{margin:5px 0 0;color:#79869a;font-size:12px}.tml-link--back{justify-self:center;margin-top:-3px;text-decoration:none}

@media(max-width:1050px){.tml-dialog{grid-template-columns:1fr minmax(400px,.9fr)}.tml-visual{padding:48px 34px}.tml-visual>h2{font-size:48px}.tml-benefits{grid-template-columns:1fr}.tml-benefits>div:nth-child(3){display:none}.tml-visual__image-wrap{width:64%;height:48%}.tml-handwritten{left:34px;font-size:21px!important}.tml-panel{padding:54px 42px 40px}}
@media(max-width:820px){.tml-modal{padding:16px}.tml-dialog{width:min(560px,calc(100vw - 24px));max-height:calc(100vh - 24px);grid-template-columns:1fr;overflow:auto;border-radius:24px}.tml-visual{display:none}.tml-panel{min-height:0;padding:54px 28px 30px}.tml-close{right:12px;top:12px}.tml-panel__head{padding-right:38px}.tml-panel__head h2{font-size:32px}}
@media(max-width:520px){.tml-modal{padding:8px}.tml-dialog{width:calc(100vw - 16px);max-height:calc(100vh - 16px);border-radius:20px}.tml-panel{padding:48px 18px 24px}.tml-panel__head{gap:10px;margin-bottom:21px}.tml-panel__icon{width:40px;height:40px}.tml-panel__head h2{font-size:28px}.tml-panel__head p{font-size:12px}.tml-control{height:54px}.tml-form-row{align-items:flex-start;gap:10px}.tml-submit{height:54px}.tml-security{font-size:9.5px;text-align:center}}

/* ==========================================================
   Compact desktop refinement
   Keeps the modal clear of the sticky header and gives the
   marketplace image its own clean frame instead of letting it
   overlap the benefits/content above it.
   ========================================================== */
@media(min-width:821px){
  .tml-modal{
    z-index:2147483646!important;
    padding:22px!important;
  }
  .tml-dialog{
    width:min(1120px,calc(100vw - 44px))!important;
    max-height:min(720px,calc(100vh - 44px))!important;
    grid-template-columns:minmax(0,1.06fr) minmax(390px,.94fr)!important;
    border-radius:26px!important;
  }
  .tml-close{
    width:38px!important;
    height:38px!important;
    right:15px!important;
    top:15px!important;
  }
  .tml-visual{
    min-height:600px!important;
    padding:38px 36px 28px!important;
  }
  .tml-kicker{
    min-height:27px!important;
    padding:0 11px!important;
    font-size:9px!important;
  }
  .tml-visual>h2{
    max-width:500px!important;
    margin:13px 0 8px!important;
    font-size:clamp(38px,3.2vw,50px)!important;
    line-height:1!important;
  }
  .tml-visual>p:not(.tml-handwritten){
    max-width:520px!important;
    font-size:13px!important;
    line-height:1.55!important;
  }
  .tml-benefits{
    gap:9px!important;
    margin-top:17px!important;
    max-width:520px!important;
  }
  .tml-benefits>div{
    padding:10px 11px!important;
    border-radius:13px!important;
  }
  .tml-benefit-icon{
    width:34px!important;
    height:34px!important;
    margin-bottom:6px!important;
    border-radius:10px!important;
  }
  .tml-benefit-icon svg{width:16px!important;height:16px!important}
  .tml-benefits b{font-size:10.5px!important}
  .tml-benefits small{font-size:8.5px!important;margin-top:3px!important}

  .tml-visual__image-wrap{
    right:24px!important;
    bottom:22px!important;
    width:58%!important;
    height:43%!important;
    overflow:hidden!important;
    align-items:stretch!important;
    justify-content:stretch!important;
    border:1px solid rgba(16,39,75,.08)!important;
    border-radius:22px!important;
    background:#fff!important;
    box-shadow:0 18px 45px rgba(16,35,65,.12)!important;
  }
  .tml-visual__image{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center 32%!important;
    filter:none!important;
  }
  .tml-floating-card{
    padding:9px 11px!important;
    border-radius:12px!important;
    box-shadow:0 10px 26px rgba(16,35,65,.12)!important;
  }
  .tml-floating-card--top{
    top:8%!important;
    left:3%!important;
  }
  .tml-floating-card--bottom{
    right:4%!important;
    bottom:7%!important;
  }
  .tml-floating-card--top span{font-size:8.5px!important}
  .tml-floating-card--top strong{font-size:11px!important}
  .tml-floating-card--bottom>span{font-size:19px!important}
  .tml-floating-card--bottom strong{font-size:10px!important}
  .tml-floating-card--bottom small{font-size:8px!important}
  .tml-handwritten{
    left:36px!important;
    bottom:31px!important;
    max-width:190px!important;
    font-size:19px!important;
  }

  .tml-panel{
    min-height:600px!important;
    padding:44px 42px 32px!important;
  }
  .tml-panel__head{
    gap:11px!important;
    margin-bottom:20px!important;
  }
  .tml-panel__icon{
    width:40px!important;
    height:40px!important;
    border-radius:12px!important;
  }
  .tml-panel__icon svg{width:19px!important;height:19px!important}
  .tml-panel__head h2{font-size:31px!important}
  .tml-panel__head p{margin-top:6px!important;font-size:12.5px!important;line-height:1.45!important}
  .tml-form{gap:13px!important}
  .tml-field{gap:6px!important}
  .tml-field>span{font-size:11px!important}
  .tml-control{height:50px!important;border-radius:12px!important}
  .tml-control>svg{width:18px!important;height:18px!important;margin-left:14px!important}
  .tml-control input{font-size:12px!important}
  .tml-form-row{gap:12px!important}
  .tml-remember,.tml-link{font-size:10.5px!important}
  .tml-submit{height:50px!important;border-radius:12px!important;font-size:12px!important}
  .tml-divider{margin:15px 0!important}
  .tml-create-account{height:46px!important;border-radius:11px!important;font-size:11px!important}
  .tml-security{margin-top:14px!important;font-size:9.5px!important}
}

@media(min-width:821px) and (max-width:1100px){
  .tml-dialog{
    width:min(960px,calc(100vw - 36px))!important;
    grid-template-columns:minmax(0,1fr) minmax(370px,.9fr)!important;
  }
  .tml-visual{
    padding:34px 28px 24px!important;
  }
  .tml-visual>h2{font-size:42px!important}
  .tml-benefits{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .tml-benefits>div:nth-child(3){display:block!important}
  .tml-visual__image-wrap{
    right:18px!important;
    bottom:18px!important;
    width:60%!important;
    height:41%!important;
  }
  .tml-handwritten{
    left:28px!important;
    bottom:26px!important;
    font-size:17px!important;
  }
  .tml-panel{padding:40px 32px 28px!important}
}
