/* forms.css - RNF lead engine surfaces. Owned by the FORMS lane (09-Sep-2026).
   Every visual rule is scoped to its surface (.rnf-pop, .rnf-band, .rnf-sticky)
   so a form that borrows the page classes, like the contact form, keeps the
   look pages.css gives it. Layers: sticky 880 (under the fixed header at 900),
   cookie card 1000, modal 2000. */

/* ---- shared ---- */
.rnf-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.rnf-status{font-size:13px;line-height:1.5;margin-top:10px;color:var(--indigo)}
.rnf-status:empty{display:none;margin:0}
.rnf-k{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--indigo);margin:0;line-height:1}
.rnf-h{font-weight:700;letter-spacing:-.025em;line-height:1.12;color:var(--ink);margin:12px 0 0}
.rnf-sub{font-size:14.5px;line-height:1.55;color:var(--ink-dim);margin:10px 0 0;text-wrap:pretty}

/* form chrome inside our own surfaces */
.rnf-pop .rnf-form,.rnf-band .rnf-form,.rnf-sticky .rnf-form{display:grid;gap:14px;margin-top:18px}
.rnf-pop .rnf-field,.rnf-band .rnf-field,.rnf-sticky .rnf-field{display:grid;gap:6px}
.rnf-pop .rnf-field label,.rnf-band .rnf-field label,.rnf-sticky .rnf-field label{font-size:12.5px;font-weight:600;color:var(--ink-dim)}
.rnf-pop .rnf-field .opt,.rnf-band .rnf-field .opt,.rnf-sticky .rnf-field .opt{font-weight:400;color:var(--ink-faint)}
.rnf-pop .rnf-field input,.rnf-pop .rnf-field textarea,
.rnf-band .rnf-field input,.rnf-band .rnf-field textarea,
.rnf-sticky .rnf-field input,.rnf-sticky .rnf-field textarea{width:100%;font:inherit;font-size:16px;padding:12px 14px;border:1px solid rgba(25,27,33,.24);border-radius:12px;background:#FCFCFD;color:var(--ink);transition:border-color .2s var(--ease),box-shadow .2s var(--ease)}
.rnf-pop .rnf-field input:focus,.rnf-pop .rnf-field textarea:focus,
.rnf-band .rnf-field input:focus,.rnf-band .rnf-field textarea:focus,
.rnf-sticky .rnf-field input:focus,.rnf-sticky .rnf-field textarea:focus{outline:none;border-color:var(--indigo);box-shadow:0 0 0 3px rgba(33,28,106,.12)}
.rnf-pop .rnf-field textarea,.rnf-band .rnf-field textarea,.rnf-sticky .rnf-field textarea{min-height:96px;resize:vertical}
.rnf-field.err input,.rnf-field.err textarea{border-color:var(--indigo);box-shadow:0 0 0 3px rgba(33,28,106,.15)}
.rnf-fmsg{font-size:12.5px;line-height:1.4;color:var(--indigo);margin:0}
.rnf-fmsg:empty{display:none}
.rnf-btn{justify-self:start;min-height:44px;font:inherit;font-size:14.5px;font-weight:600;color:#fff;background:var(--indigo);border:1px solid var(--indigo);border-radius:999px;padding:12px 26px;cursor:pointer;transition:background .25s var(--ease),transform .25s var(--ease)}
.rnf-btn:hover{background:var(--indigo-deep);border-color:var(--indigo-deep);transform:translateY(-1px)}
.rnf-btn:disabled{opacity:.55;cursor:default;transform:none}
.rnf-btn:focus-visible{outline:2px solid var(--indigo);outline-offset:3px}
.rnf-form.done .rnf-field,.rnf-form.done .field,.rnf-form.done .rnf-btn,.rnf-form.done .btn,.rnf-form.done .form-note{display:none}
.rnf-form.done .rnf-status{font-size:15px;font-weight:600;color:var(--ink);margin-top:0}

/* one line variant: field and button side by side from 620px up */
@media(min-width:620px){
  .rnf-band .rnf-form-row{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px}
  .rnf-band .rnf-form-row .rnf-btn{align-self:end;height:47px}
  .rnf-band .rnf-form-row .rnf-status{grid-column:1 / -1}
}

/* ---- modal ---- */
.rnf-pop{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(23,20,73,.55);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);opacity:0;transition:opacity .35s var(--ease)}
.rnf-pop[hidden]{display:none}
.rnf-pop.on{opacity:1}
.rnf-pop-card{position:relative;width:min(860px,100%);max-height:92vh;overflow:auto;display:grid;grid-template-columns:minmax(0,42fr) minmax(0,58fr);background:var(--bg);border:1px solid var(--hair);border-radius:16px;box-shadow:0 40px 90px -30px rgba(23,20,73,.55);transform:translateY(18px) scale(.985);transition:transform .5s var(--ease)}
.rnf-pop.on .rnf-pop-card{transform:none}
.rnf-pop-m{position:relative;background:var(--bg-soft);align-self:stretch;min-height:0;overflow:hidden}
.rnf-pop-m img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rnf-pop-b{padding:clamp(26px,3vw,38px);min-width:0}
.rnf-pop .rnf-h{font-size:clamp(1.4rem,2.1vw,1.75rem);max-width:20ch}
.rnf-pop .rnf-sub{max-width:44ch}
.rnf-x{position:absolute;top:12px;right:12px;z-index:3;min-height:34px;font:inherit;font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--ink-dim);background:rgba(255,255,255,.9);border:1px solid var(--hair);border-radius:999px;padding:8px 16px;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:color .2s var(--ease),border-color .2s var(--ease)}
.rnf-x:hover{color:var(--ink);border-color:rgba(25,27,33,.3)}
.rnf-x:focus-visible{outline:2px solid var(--indigo);outline-offset:3px}
@media(max-width:760px){
  .rnf-pop{padding:10px}
  .rnf-pop-card{grid-template-columns:1fr;max-height:94vh}
  .rnf-pop-m{min-height:0;height:104px}
  .rnf-pop-b{padding:22px 20px 24px}
  .rnf-pop .rnf-h{font-size:1.3rem;max-width:none}
  .rnf-pop .rnf-field textarea{min-height:72px}
}

/* ---- inline band ---- */
.rnf-band-slot{max-width:var(--max);margin:0 auto;padding:0 var(--pad) clamp(56px,8vh,90px)}
.rnf-band{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);background:var(--bone);border:1px solid var(--hair);border-radius:16px;overflow:hidden}
.rnf-band-plain{grid-template-columns:1fr}
.rnf-band-m{position:relative;background:var(--bg-soft);min-height:220px}
.rnf-band-m img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rnf-band-b{padding:clamp(24px,3vw,34px);min-width:0}
.rnf-band .rnf-h{font-size:clamp(1.3rem,2vw,1.6rem);max-width:22ch}
.rnf-band .rnf-sub{max-width:56ch}
.rnf-band .rnf-form{max-width:520px}
@media(max-width:760px){
  .rnf-band{grid-template-columns:1fr}
  .rnf-band-m{min-height:0;height:132px}
  .rnf-band-b{padding:22px 20px 24px}
}

/* ---- sticky blog card ---- */
.rnf-sticky{position:fixed;right:20px;bottom:20px;z-index:880;width:334px;max-width:calc(100vw - 28px);background:var(--bg);border:1px solid var(--hair);border-radius:16px;box-shadow:0 20px 50px -20px rgba(23,20,73,.34),0 2px 8px rgba(23,20,73,.06);padding:20px 20px 18px}
.rnf-sticky[hidden]{display:none}
.rnf-sticky .rnf-h{font-size:17.5px;margin-top:10px;max-width:20ch}
.rnf-sticky .rnf-sub{font-size:13px;margin-top:6px}
.rnf-sticky .rnf-form{margin-top:14px;gap:10px}
.rnf-sticky .rnf-btn{justify-self:stretch;text-align:center}
.rnf-sticky-x{position:absolute;top:10px;right:10px;font:inherit;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);background:none;border:0;padding:6px 8px;cursor:pointer;transition:color .2s var(--ease)}
.rnf-sticky-x:hover{color:var(--ink)}
.rnf-sticky-x:focus-visible{outline:2px solid var(--indigo);outline-offset:2px}
.rnf-pill{position:fixed;right:14px;bottom:14px;z-index:880;min-height:44px;font:inherit;font-size:13.5px;font-weight:600;color:#fff;background:var(--indigo);border:1px solid var(--indigo);border-radius:999px;padding:12px 22px;cursor:pointer;box-shadow:0 14px 34px -14px rgba(23,20,73,.5)}
.rnf-pill[hidden]{display:none}
.rnf-pill:hover{background:var(--indigo-deep)}
.rnf-pill:focus-visible{outline:2px solid var(--indigo);outline-offset:3px}
@media(min-width:1024px){.rnf-pill{display:none}}
@media(max-width:1023px){.rnf-sticky{right:12px;bottom:12px;left:12px;width:auto}}

@media(prefers-reduced-motion:reduce){
  .rnf-pop,.rnf-pop-card,.rnf-btn,.rnf-x,.rnf-pill{transition:none}
  .rnf-pop-card{transform:none}
  .rnf-btn:hover{transform:none}
}
