/* HOFI registration form: flat colour, no gradients */
.hfr{
  --o:var(--hofi-orange,#FD6E01);
  --r:var(--hofi-rust,#DE5716);
  --y:var(--hofi-yellow,#FDE828);
  --ink:var(--hofi-ink,#141414);
  --ink2:var(--hofi-ink2,#5E5E5E);
  --cream:var(--hofi-cream,#FFF6EC);
  --line:var(--hofi-line,#EAE3DA);
  --err:#C5221F;
  max-width:760px;
  margin:0 auto;
  font-family:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--ink);
  text-align:left;
}
.hfr *,.hfr *::before,.hfr *::after{box-sizing:border-box}
.hfr [hidden]{display:none!important}

/* honeypot */
.hfr-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* title card */
.hfr-head{
  background:#fff;border:1px solid var(--line);border-top:8px solid var(--o);
  padding:1.75rem 1.6rem 1.5rem;margin:0 0 .85rem;
}
.hfr-head h2{
  font-size:clamp(1.6rem,4vw,2.2rem);font-weight:800;letter-spacing:-.03em;line-height:1.08;
  color:var(--ink);margin:0 0 .9rem;
}
.hfr-head p{font-size:1rem;line-height:1.65;color:var(--ink2);margin:0 0 .75rem}
.hfr-head .hfr-note{font-size:.9rem;color:var(--err);margin:.4rem 0 0}

/* section band */
.hfr-band{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  background:var(--y);border-left:6px solid var(--o);
  padding:1rem 1.3rem;margin:0 0 .85rem;
}
.hfr-band h3{font-size:1.12rem;font-weight:800;letter-spacing:-.01em;color:var(--ink);margin:0;line-height:1.25}
.hfr-band span{font-size:.78rem;font-weight:700;color:rgba(20,20,20,.7);white-space:nowrap}

/* question card */
.hfr-q{
  display:block;width:100%;min-width:0;
  background:#fff;border:1px solid var(--line);
  padding:1.45rem 1.5rem 1.35rem;margin:0 0 .85rem;
}
.hfr-q.has-error{border-color:var(--err);box-shadow:inset 3px 0 0 var(--err)}
.hfr-label{
  display:block;padding:0;margin:0 0 .95rem;
  font-size:1.05rem;font-weight:600;line-height:1.45;color:var(--ink);
  float:none;width:100%;
}
.hfr-label small{display:block;margin-top:.35rem;font-size:.86rem;font-weight:400;color:var(--ink2)}
.hfr-req{color:var(--err);font-weight:700;margin-left:.15rem}
.hfr-opt{font-weight:400;font-size:.86rem;color:var(--ink2)}

.hfr-input{
  display:block;width:100%;max-width:100%;
  font:inherit;font-size:16px;line-height:1.4;color:var(--ink);
  background:#fff;border:1px solid #CFC7BC;border-radius:3px;
  padding:.85rem .95rem;margin:0;
  -webkit-appearance:none;appearance:none;
  transition:border-color .15s ease;
}
.hfr-input::placeholder{color:#8A8378}
.hfr-input:focus{outline:none;border-color:var(--o);box-shadow:0 0 0 1px var(--o)}
textarea.hfr-input{resize:vertical;min-height:112px}
.hfr-q.has-error .hfr-input{border-color:var(--err)}

/* radios + checkbox */
.hfr-choice{
  display:flex;align-items:center;gap:.85rem;
  min-height:48px;padding:.35rem 0;margin:0;cursor:pointer;
  font-size:1rem;line-height:1.4;color:var(--ink);
}
.hfr-choice input{
  flex:0 0 22px;width:22px;height:22px;margin:0;
  accent-color:var(--o);cursor:pointer;
}
.hfr-choice span{flex:1}

.hfr-err{
  display:flex;align-items:center;gap:.55rem;
  margin:.85rem 0 0;font-size:.9rem;font-weight:500;color:var(--err);
}
.hfr-err::before{
  content:"!";display:inline-flex;align-items:center;justify-content:center;
  flex:0 0 20px;width:20px;height:20px;border:2px solid var(--err);border-radius:50%;
  font-size:.72rem;font-weight:800;line-height:1;
}

.hfr-thanks{font-size:1rem;color:var(--ink2);margin:.35rem 0 .85rem}

.hfr-banner{
  background:#FCE8E6;border-left:4px solid var(--err);color:#8C1D18;
  padding:.9rem 1.1rem;margin:0 0 .85rem;font-size:.95rem;font-weight:500;
}

/* navigation */
.hfr-nav{margin-top:1.1rem}
.hfr-progress{display:flex;align-items:center;gap:.9rem;margin:0 0 1rem}
.hfr-bar{flex:1;height:8px;background:var(--line);overflow:hidden}
.hfr-fill{display:block;height:100%;width:20%;background:var(--o);transition:width .3s ease}
.hfr-page{font-size:.9rem;font-weight:600;color:var(--ink2);white-space:nowrap}
.hfr-btns{display:flex;gap:.7rem}
.hfr-btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:52px;padding:.9rem 2rem;
  font:inherit;font-size:1rem;font-weight:700;letter-spacing:.01em;text-decoration:none;
  border:2px solid transparent;border-radius:4px;cursor:pointer;
  transition:background-color .15s ease,color .15s ease,border-color .15s ease;
}
.hfr-back{background:#fff;color:var(--ink);border-color:var(--ink)}
.hfr-back:hover{background:var(--ink);color:#fff}
.hfr-next,.hfr-submit,.hfr-home{background:var(--o);color:#fff;margin-left:auto}
.hfr-next:hover,.hfr-submit:hover,.hfr-home:hover{background:var(--r);color:#fff}
.hfr-submit[disabled]{opacity:.65;cursor:wait}
.hfr-btn:focus-visible{outline:3px solid var(--y);outline-offset:2px}

/* success */
.hfr-done{
  background:#fff;border:1px solid var(--line);border-top:8px solid var(--o);
  padding:2.25rem 1.6rem;text-align:left;
}
.hfr-done:focus{outline:none}
.hfr-tick{
  width:56px;height:56px;border-radius:50%;background:var(--y);position:relative;margin:0 0 1.2rem;
}
.hfr-tick::after{
  content:"";position:absolute;left:19px;top:11px;width:13px;height:24px;
  border:solid var(--ink);border-width:0 4px 4px 0;transform:rotate(45deg);
}
.hfr-done h2{font-size:clamp(1.6rem,4vw,2.1rem);font-weight:800;letter-spacing:-.03em;margin:0 0 .8rem;color:var(--ink)}
.hfr-done p{font-size:1rem;line-height:1.65;color:var(--ink2);margin:0 0 .9rem}
.hfr-done .hfr-ref{color:var(--ink)}
.hfr-done .hfr-ref-no{color:var(--r);font-size:1.15rem;letter-spacing:.04em}
.hfr-home{margin:.6rem 0 0}

/* brief highlight when a visitor lands on the form */
@keyframes hfr-arrive{
  0%{box-shadow:0 0 0 0 rgba(253,110,1,.6)}
  100%{box-shadow:0 0 0 16px rgba(253,110,1,0)}
}
.hfr-arrive .hfr-step.is-active .hfr-head,
.hfr-arrive .hfr-step.is-active .hfr-band{animation:hfr-arrive 1.3s ease-out 2}
@media (prefers-reduced-motion:reduce){
  .hfr-arrive .hfr-step.is-active .hfr-head,
  .hfr-arrive .hfr-step.is-active .hfr-band{animation:none}
}

/* phones */
@media (max-width:600px){
  .hfr-head{padding:1.4rem 1.15rem 1.2rem}
  .hfr-band{padding:.9rem 1rem;flex-direction:column;align-items:flex-start;gap:.3rem}
  .hfr-q{padding:1.2rem 1.1rem 1.1rem}
  .hfr-label{font-size:1rem}
  .hfr-progress{flex-direction:column;align-items:stretch;gap:.5rem}
  .hfr-page{order:-1}
  .hfr-btns{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
  .hfr-btns .hfr-btn{width:100%;margin-left:0}
  .hfr-btns .hfr-next,.hfr-btns .hfr-submit{grid-column:2}
  .hfr-btns .hfr-back:not([hidden]) ~ .hfr-next{grid-column:2}
  .hfr-btns .hfr-back[hidden] ~ .hfr-next,
  .hfr-btns .hfr-back[hidden] ~ .hfr-submit{grid-column:1 / -1}
  .hfr-btns .hfr-submit{font-size:.95rem;padding:.9rem .5rem}
  .hfr-done{padding:1.75rem 1.15rem}
  .hfr-done .hfr-home{width:100%}
}
