/* === Contact form modal (injected) === */
.hz-modal-backdrop{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:1.5rem;
  background:rgba(0,0,0,.72);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);
  opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease;}
.hz-modal-backdrop.open{opacity:1;visibility:visible;}

.hz-modal{position:relative;width:100%;max-width:30rem;max-height:90vh;overflow-y:auto;
  background:#0f0e13;border:1px solid rgb(255 255 255/.1);border-radius:18px;padding:2.3rem;
  box-shadow:0 24px 64px rgba(0,0,0,.6);transform:translateY(18px) scale(.97);opacity:0;
  transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .3s ease;}
.hz-modal-backdrop.open .hz-modal{transform:none;opacity:1;}
.hz-modal-x{position:absolute;top:1.3rem;right:1.3rem;width:32px;height:32px;display:flex;align-items:center;justify-content:center;
  border:0;background:transparent;color:rgb(255 255 255/.45);cursor:pointer;border-radius:8px;font-size:20px;line-height:1;transition:color .2s,background .2s;}
.hz-modal-x:hover{color:#fff;background:rgb(255 255 255/.06);}

.hz-modal h3{font:600 22px/1.2 Inter,sans-serif;letter-spacing:-.02em;color:#fff;}
.hz-progress{height:3px;border-radius:999px;background:rgb(255 255 255/.08);overflow:hidden;margin-top:1rem;}
.hz-progress-bar{height:100%;width:50%;border-radius:999px;
  background:linear-gradient(90deg,#FBB320,#ffd066);box-shadow:0 0 12px rgba(251,179,32,.5);
  transition:width .5s cubic-bezier(.16,1,.3,1);}
.hz-stepcount{font:500 10px/1 "JetBrains Mono",monospace;letter-spacing:.12em;text-transform:uppercase;color:#FBB320;margin-top:.7rem;}
.hz-modal .hz-modal-sub{font:400 14px/1.55 Inter,sans-serif;color:rgb(255 255 255/.55);margin:.5rem 0 1.7rem;}

.hz-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.hz-f{margin-bottom:1.15rem;}
.hz-f label{display:block;font:500 11px/1 "JetBrains Mono",monospace;letter-spacing:.07em;text-transform:uppercase;color:rgb(255 255 255/.6);margin-bottom:.55rem;}
.hz-f label .req{color:#FBB320;}
.hz-f input,.hz-f textarea,.hz-f select{width:100%;box-sizing:border-box;background:rgb(255 255 255/.03);border:1px solid rgb(255 255 255/.12);
  border-radius:10px;padding:.8rem .9rem;color:#fff;font:400 14px/1.4 Inter,sans-serif;outline:none;transition:border-color .2s,background .2s;}
.hz-f input::placeholder,.hz-f textarea::placeholder{color:rgb(255 255 255/.3);}
.hz-f input:focus,.hz-f textarea:focus,.hz-f select:focus{border-color:#FBB320;background:rgb(255 255 255/.05);box-shadow:0 0 0 3px rgba(251,179,32,.14);}
.hz-f textarea{min-height:100px;resize:vertical;}
.hz-f select{appearance:none;-webkit-appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%23999' stroke-width='1.6'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right .9rem center;padding-right:2.4rem;}
.hz-f select option{background:#0f0e13;color:#fff;}
.hz-f.err input,.hz-f.err textarea,.hz-f.err select{border-color:#e0876b;}
.hz-f .errmsg{display:none;font:400 12px/1.4 Inter,sans-serif;color:#e0876b;margin-top:.45rem;}
.hz-f.err .errmsg{display:block;}

.hz-actions{display:flex;gap:.6rem;margin-top:.5rem;}
.hz-submit{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  background:#FBB320;color:#0a0a0a;border:0;border-radius:999px;
  padding:.9rem;font:600 14px/1 Inter,sans-serif;cursor:pointer;
  transition:background .2s,transform .15s ease,box-shadow .2s,opacity .2s;}
.hz-submit:hover{background:#ffc94d;transform:translateY(-1px);box-shadow:0 6px 18px rgba(251,179,32,.28);}
.hz-submit:active{transform:translateY(0);}
.hz-submit:disabled{opacity:.6;cursor:default;transform:none;box-shadow:none;}
.hz-submit.is-loading::before{content:"";width:14px;height:14px;border-radius:50%;
  border:2px solid rgba(10,10,10,.3);border-top-color:#0a0a0a;animation:hzSpin .6s linear infinite;}
@keyframes hzSpin{to{transform:rotate(360deg);}}
.hz-back{flex:0 0 auto;background:transparent;color:rgb(255 255 255/.6);border:1px solid rgb(255 255 255/.14);border-radius:999px;
  padding:.9rem 1.1rem;font:500 14px/1 Inter,sans-serif;cursor:pointer;transition:color .2s,border-color .2s;}
.hz-back:hover{color:#fff;border-color:rgb(255 255 255/.3);}
.hz-reassure{font:400 12px/1.5 Inter,sans-serif;color:rgb(255 255 255/.4);text-align:center;margin-top:.9rem;}

/* Step slide-in + staggered field reveal */
@keyframes hzStepIn{from{opacity:0;transform:translateX(18px);}to{opacity:1;transform:translateX(0);}}
@keyframes hzFieldIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
.hz-step.hz-in{animation:hzStepIn .38s cubic-bezier(.16,1,.3,1) both;}
.hz-step.hz-in .hz-f{opacity:0;animation:hzFieldIn .42s cubic-bezier(.16,1,.3,1) forwards;}
.hz-step.hz-in .hz-f:nth-child(1){animation-delay:.06s;}
.hz-step.hz-in .hz-f:nth-child(2){animation-delay:.13s;}
.hz-step.hz-in .hz-f:nth-child(3){animation-delay:.20s;}
.hz-step.hz-in .hz-f:nth-child(4){animation-delay:.27s;}
.hz-step.hz-in .hz-f:nth-child(5){animation-delay:.34s;}

.hz-modal-success{display:none;text-align:center;padding:1.5rem 0 .5rem;}
.hz-modal.done .hz-modal-form{display:none;}
.hz-modal.done .hz-modal-success{display:block;animation:hzStepIn .4s cubic-bezier(.16,1,.3,1) both;}
.hz-modal-success .chk{width:48px;height:48px;margin:0 auto 1.2rem;border-radius:50%;background:rgba(251,179,32,.12);
  border:1px solid rgba(251,179,32,.4);display:flex;align-items:center;justify-content:center;color:#FBB320;}
.hz-modal.done .hz-modal-success .chk{animation:hzPop .45s cubic-bezier(.16,1.4,.3,1) both;}
@keyframes hzPop{0%{transform:scale(0);}60%{transform:scale(1.08);}100%{transform:scale(1);}}
.hz-modal-success .chk svg path{stroke-dasharray:30;stroke-dashoffset:30;}
.hz-modal.done .hz-modal-success .chk svg path{animation:hzDraw .5s .25s cubic-bezier(.65,0,.35,1) forwards;}
@keyframes hzDraw{to{stroke-dashoffset:0;}}
.hz-modal-success h3{margin-bottom:.5rem;}

@media (prefers-reduced-motion:reduce){
  .hz-modal,.hz-progress-bar,.hz-step.hz-in,.hz-step.hz-in .hz-f,
  .hz-modal.done .hz-modal-success,.hz-modal.done .chk,.hz-modal.done .chk svg path,.hz-submit{
    animation:none!important;transition:none!important;}
  .hz-step.hz-in .hz-f{opacity:1;}
  .hz-modal-success .chk svg path{stroke-dashoffset:0;}
}

@media (max-width:480px){
  .hz-modal-backdrop{padding:1rem;}
  .hz-modal{padding:1.7rem 1.35rem;}
  .hz-modal h3{font-size:20px;}
}
