/* Free Loop guide signup block (email-first funnel). Self-contained: works on the dark homepage and the light guide pages. */
.vlb{container:vlb/inline-size;--g:#d9bd8a;--g2:#b8955f;--t0:#f6efe2;--t1:#d9d3c8;--t2:#a59d90;font-family:'Plus Jakarta Sans',system-ui,sans-serif;color:var(--t1);margin:28px auto;max-width:1160px;padding:0 20px;scroll-margin-top:84px}
.vlb *{box-sizing:border-box}
.vlb-in{position:relative;display:grid;grid-template-columns:1fr;gap:22px;padding:24px 20px;border-radius:24px;background:radial-gradient(120% 90% at 0% 0%,rgba(217,189,138,.16),transparent 55%),radial-gradient(90% 80% at 100% 100%,rgba(255,47,168,.10),transparent 60%),#0e0c09;border:1px solid rgba(226,201,154,.38);box-shadow:0 30px 80px -40px rgba(0,0,0,.8)}
.vlb-copy{display:flex;gap:18px;align-items:flex-start}
.vlb-cover{flex:0 0 auto;width:96px;height:auto;border-radius:12px;border:1px solid rgba(226,201,154,.35);box-shadow:0 18px 40px -18px rgba(0,0,0,.9);transform:rotate(-3deg);margin-top:4px}
.vlb-k{font:600 11px/1.3 'JetBrains Mono',monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--g);margin:0 0 8px}
.vlb h2{font:600 clamp(28px,4.2vw,40px)/1.05 'Cormorant Garamond',Georgia,serif;color:var(--t0);margin:0 0 10px;letter-spacing:0}
.vlb h2 i{color:var(--g);font-style:italic}
.vlb-p{margin:0 0 10px;font-size:15px;line-height:1.55;color:var(--t1)}
.vlb-t{list-style:none;margin:0;padding:0;font-size:14px;line-height:1.45}
.vlb-t li{position:relative;padding-left:22px;margin:6px 0;color:var(--t1)}
.vlb-t li:before{content:'';position:absolute;left:2px;top:6px;width:9px;height:9px;border-radius:50%;background:#3DFF9A;box-shadow:0 0 10px rgba(61,255,154,.7)}
.vlb-form{min-width:0}
.vlb-bh{min-height:190px;border-radius:16px;overflow:hidden;background:rgba(255,255,255,.03);border:1px solid rgba(226,201,154,.18);position:relative}
.vlb-bh:empty:after,.vlb-bh.vlb-wait:after{content:'Loading the sign-up form…';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:500 12px/1 'JetBrains Mono',monospace;letter-spacing:.08em;color:var(--t2)}
.vlb-bh.vlb-on{background:none;border-color:transparent;min-height:0}
.vlb-bh.vlb-on:after{display:none}
.vlb-bh iframe{display:block;max-width:100%}
.vlb.vlb-fbmode .vlb-bh{display:none}
.vlb-fb{margin:0}
.vlb-fb[hidden]{display:none}
.vlb-l{display:block;font:600 11px/1 'JetBrains Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--g);margin:0 0 8px}
.vlb-row{display:flex;gap:10px;flex-wrap:wrap}
.vlb-row input{flex:1 1 220px;min-width:0;min-height:50px;border-radius:999px;border:1px solid rgba(226,201,154,.45);background:rgba(255,255,255,.06);color:var(--t0);font:500 16px/1 'Plus Jakarta Sans',sans-serif;padding:0 18px}
.vlb-row input::placeholder{color:#8f877b}
.vlb-row input:focus,.vlb-c input:focus{outline:2px solid var(--g);outline-offset:2px}
.vlb-btn,.vlb-pbtn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:999px;font:700 15px/1 'Plus Jakarta Sans',sans-serif;text-decoration:none;cursor:pointer;border:0;white-space:nowrap}
.vlb-btn{flex:0 0 auto;background:linear-gradient(180deg,#d9bd8a,#b8955f);color:#15120c;box-shadow:0 0 0 1px rgba(243,226,189,.4) inset,0 12px 32px -14px rgba(197,164,114,.9)}
.vlb-btn[disabled]{opacity:.6;cursor:wait}
.vlb-c{display:flex;gap:10px;align-items:flex-start;margin:12px 0 0;font-size:13px;line-height:1.45;color:var(--t1);cursor:pointer}
.vlb-c input{flex:0 0 auto;width:18px;height:18px;margin:1px 0 0;accent-color:#d9bd8a}
.vlb-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.vlb-msg{min-height:1.2em;margin:10px 0 0;font-size:14px;color:#ffd6a8}
.vlb-msg.ok{color:#9dffcb}
.vlb-fine{font-size:12px;line-height:1.5;color:var(--t2);margin:12px 0 0}
.vlb-fine a{color:var(--g)}
.vlb-pass{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 14px;margin-top:16px;padding:14px 16px;border-radius:16px;border:1px solid rgba(226,201,154,.3);background:rgba(217,189,138,.06);font-size:14px;line-height:1.45;color:var(--t1)}
.vlb-pass span{flex:1 1 220px}
.vlb-pass b{color:var(--t0)}
.vlb-pbtn{min-height:44px;padding:0 18px;font-size:14px;background:rgba(255,255,255,.04);color:var(--t0);border:1px solid rgba(226,201,154,.55)}
.vlb-pbtn:hover,.vlb-btn:hover{transform:translateY(-1px)}
@container vlb (min-width:860px){.vlb-in{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:34px;padding:34px 36px;align-items:center}.vlb-cover{width:132px}}
@container vlb (min-width:560px) and (max-width:859px){.vlb-cover{width:120px}}
@media (max-width:420px){.vlb{padding:0 14px}.vlb-in{padding:20px 16px;gap:16px}.vlb-cover{width:74px}.vlb-btn{flex:1 1 100%}.vlb-t{display:none}.vlb-p{font-size:14.5px;margin:0}}
/* compact pointer that replaces old newsletter boxes lower on the page */
.vlb-mini{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center}
.vlb-mini a.vlb-btn{min-height:46px}
/* /loop-map/ full-screen layout (body.lmfs is a flex column ordered map 1, header 2, about 3): keep this box below the map, just above About */
body.lmfs #free-guide{order:3;width:100%;box-sizing:border-box}
