/* Ironpalm lead form (assets/form.js): address first, one card, full-screen sheet on phones */
body.lf-open{overflow:hidden}
.lf{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:24px;opacity:0;transition:opacity .3s var(--ease,ease)}
.lf[hidden]{display:none}
.lf.open{opacity:1}
.lf-scrim{position:absolute;inset:0;background:rgba(6,26,29,.62);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.lf-card{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);width:min(1040px,100%);height:min(680px,calc(100vh - 48px));background:var(--bg,#fff);color:var(--ink,#0b2a2e);border-radius:calc(var(--r,4px) * 2);overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.35);transform:translateY(14px) scale(.985);transition:transform .45s var(--ease,ease)}
.lf.open .lf-card{transform:none}
.lf-media{position:relative;background:var(--dark,#0e3b40)}
.lf-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lf-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,26,29,0) 45%,rgba(6,26,29,.82))}
.lf-quote{position:absolute;z-index:1;left:28px;right:28px;bottom:28px;color:#fff}
.lf-quote p{font-size:19px;line-height:1.4;font-weight:500;margin:0 0 8px}
.lf-quote span{font-size:14px;opacity:.82}
.lf-main{display:flex;flex-direction:column;min-height:0;overflow-y:auto}
.lf-top{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:16px;padding:18px 24px;background:var(--bg,#fff);border-bottom:1px solid var(--rule,rgba(11,42,46,.12))}
.lf-ic{flex:none;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;color:var(--ink,#0b2a2e);cursor:pointer;transition:background .25s var(--ease,ease)}
.lf-ic:hover{background:var(--bg-2,#eef6f5)}
.lf-ic svg{width:18px;height:18px}
.lf-ic.off{visibility:hidden}
.lf-prog{flex:1;display:grid;gap:6px}
.lf-prog span{font-size:13px;font-weight:600;color:var(--mute,#4f5d6e)}
.lf-bar{height:4px;border-radius:4px;background:var(--rule,rgba(11,42,46,.12));overflow:hidden}
.lf-bar i{display:block;height:100%;width:0;background:var(--accent,#FF6A3D);transition:width .45s var(--ease,ease)}
.lf-body{padding:32px clamp(20px,4vw,44px) 40px}
.lf-body.enter{animation:lfIn .4s var(--ease,ease)}
@keyframes lfIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.lf-q{font-family:var(--fd);text-transform:var(--fd-tt,none);letter-spacing:var(--fd-ls,0);font-weight:var(--fd-w,600);font-size:clamp(26px,3vw,34px);line-height:1.1;margin:0 0 10px;outline:none}
.lf-hint{color:var(--mute,#4f5d6e);font-size:16px;margin:0 0 24px;max-width:46ch}
.lf-q+.lf-opts,.lf-q+.lf-grid{margin-top:22px}
.lf-pin{display:flex;align-items:center;gap:8px;margin:0 0 20px;font-size:14px;color:var(--mute,#4f5d6e)}
.lf-pin svg{flex:none;width:16px;height:16px}
.lf-pin span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lf-link{color:var(--ink,#0b2a2e);font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:14px}
.lf-grid{display:grid;gap:16px 16px;grid-template-columns:minmax(0,1fr) minmax(0,10rem)}
.lf-grid .lf-f:first-child{grid-column:1/-1}
.lf-grid.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr);margin-bottom:16px}
.lf-grid.two .lf-f:first-child{grid-column:auto}
.lf-f{display:grid;gap:6px;min-width:0}
.lf-f>span{font-size:14px;font-weight:600}
.lf-f em{font-style:normal;font-weight:400;color:var(--mute,#4f5d6e)}
.lf-f input{width:100%;height:52px;padding:0 14px;border:1.5px solid var(--rule-2,rgba(11,42,46,.24));border-radius:var(--r,4px);background:var(--card,#fff);color:inherit;font:inherit;font-size:17px;transition:border-color .25s var(--ease,ease)}
.lf-f input:hover{border-color:var(--ink,#0b2a2e)}
.lf-f input:focus{outline:none;border-color:var(--ink,#0b2a2e);box-shadow:0 0 0 2px var(--ink,#0b2a2e)}
.lf-f input[aria-invalid="true"]{border-color:#b42318}
.lf-err{min-height:0;color:#b42318;font-size:13px}
.lf-err:empty{display:none}
.lf-ok{margin:14px 0 0;font-size:15px;font-weight:600;color:#0f766e;min-height:22px}
.lf-ok.out{color:var(--mute,#4f5d6e);font-weight:500}
.lf-act{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.lf-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:54px;padding:0 26px;border-radius:var(--r,4px);background:var(--ink,#0b2a2e);color:var(--on-ink,#fff);font-family:var(--fd);text-transform:var(--fd-tt,none);letter-spacing:.06em;font-weight:500;font-size:16px;cursor:pointer;transition:background .25s var(--ease,ease)}
.lf-btn svg{width:16px;height:16px}
.lf-btn:hover{background:var(--ink-h,#0e3b40)}
.lf-btn[disabled]{opacity:.4;cursor:not-allowed}
.lf-btn.ghost{background:transparent;color:var(--ink,#0b2a2e);border:1.5px solid var(--ink,#0b2a2e)}
.lf-btn.ghost:hover{background:var(--bg-2,#eef6f5)}
.lf-opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.lf-o{display:grid;gap:2px;text-align:left;padding:16px 18px;border:1.5px solid var(--rule-2,rgba(11,42,46,.24));border-radius:var(--r,4px);background:var(--card,#fff);color:var(--ink,#0b2a2e);cursor:pointer;transition:border-color .25s var(--ease,ease),background .25s var(--ease,ease)}
.lf-o:hover{border-color:var(--ink,#0b2a2e)}
.lf-o b{font-weight:600;font-size:16px}
.lf-o small{font-size:14px;color:var(--mute,#4f5d6e)}
.lf-o.on{border-color:var(--ink,#0b2a2e);background:var(--bg-2,#eef6f5);box-shadow:inset 0 0 0 1px var(--ink,#0b2a2e)}
.lf-days{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:18px}
.lf-day,.lf-time{display:grid;justify-items:center;gap:1px;padding:10px 6px;border:1.5px solid var(--rule-2,rgba(11,42,46,.24));border-radius:var(--r,4px);background:var(--card,#fff);color:var(--ink,#0b2a2e);cursor:pointer;transition:border-color .25s var(--ease,ease),background .25s var(--ease,ease),color .25s}
.lf-day span,.lf-day small{font-size:12px;color:var(--mute,#4f5d6e)}
.lf-day b{font-size:22px;font-weight:600;line-height:1.2}
.lf-day:hover,.lf-time:hover:not([disabled]){border-color:var(--ink,#0b2a2e)}
.lf-day.on,.lf-time.on{background:var(--ink,#0b2a2e);border-color:var(--ink,#0b2a2e);color:var(--on-ink,#fff)}
.lf-day.on span,.lf-day.on small{color:rgba(255,255,255,.78)}
.lf-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.lf-time{font-weight:600;font-size:15px;padding:13px 6px}
.lf-time[disabled]{cursor:not-allowed;color:var(--mute,#4f5d6e);opacity:.55;text-decoration:line-through}
.lf-time small{font-size:11px;font-weight:400;text-decoration:none}
.lf-tz{margin:14px 0 0;font-size:14px;color:var(--mute,#4f5d6e)}
.lf-tz a{color:var(--ink,#0b2a2e);font-weight:600}
.lf-legal{margin:16px 0 0;font-size:12.5px;line-height:1.5;color:var(--mute,#4f5d6e);max-width:56ch}
.lf-done .lf-tick{width:44px;height:44px;color:#0f766e;margin-bottom:16px}
.lf-sum{display:grid;gap:0;margin:18px 0 20px;border-top:1px solid var(--rule,rgba(11,42,46,.12))}
.lf-sum div{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--rule,rgba(11,42,46,.12))}
.lf-sum dt{font-size:14px;color:var(--mute,#4f5d6e)}
.lf-sum dd{margin:0;font-weight:600;overflow-wrap:anywhere}
@media (max-width:860px){
  .lf-card{grid-template-columns:minmax(0,1fr)}
  .lf-media{display:none}
}
@media (max-width:640px){
  .lf{padding:0;place-items:stretch}
  .lf-card{height:100%;width:100%;border-radius:0;box-shadow:none}
  .lf-top{padding:12px 16px}
  .lf-body{padding:24px 16px 32px}
  .lf-grid,.lf-grid.two,.lf-opts{grid-template-columns:minmax(0,1fr)}
  .lf-days{grid-template-columns:repeat(4,minmax(0,1fr))}
  .lf-act .lf-btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .lf,.lf-card,.lf-bar i{transition:none}
  .lf-body.enter{animation:none}
}
