/* Shared lead-magnet styles: 3D e-book mockup + capture form.
   Used by the seller guide, the buyer guide (buy-a-home), and blog guides. */
.lm-wrap { max-width: 1100px; margin: 0 auto; padding: 10px 20px 30px; display: grid; grid-template-columns: 1.05fr 0.95fr; gap: 48px; align-items: center; }
@media (max-width: 860px){ .lm-wrap { grid-template-columns: 1fr; gap: 30px; text-align: center; } }
.lm-eyebrow { font: 600 12px/1 'Inter',sans-serif; letter-spacing: 0.22em; text-transform: uppercase; color: #8A6D14; margin: 0 0 14px; }
.lm-heading { font-family: var(--font-display, 'Playfair Display', serif); font-size: clamp(1.7rem, 3.4vw, 2.5rem); line-height: 1.12; margin: 0 0 14px; color: var(--ink, #1A1A1A); }
.lm-heading em { font-style: italic; color: #8A6D14; }
.lm-subcopy { font-size: 1.06rem; line-height: 1.6; color: #444; margin: 0 0 22px; }

.lm-form { background: #FFFFFF; border: 1px solid #ece7d8; border-radius: 14px; padding: 26px 24px; box-shadow: 0 18px 50px rgba(26,26,26,0.10); text-align: left; }
.lm-form h2 { font: 700 1.15rem/1.3 'Inter',sans-serif; margin: 0 0 6px; color: var(--ink,#1A1A1A); }
.lm-form p.small { font-size: 0.9rem; color: #666; margin: 0 0 16px; }
.lm-form label { display:block; font: 600 12px/1 'Inter',sans-serif; letter-spacing:0.04em; text-transform:uppercase; color:#555; margin: 14px 0 6px; }
.lm-form input { width: 100%; box-sizing: border-box; padding: 13px 14px; border: 1px solid #d8d2c2; border-radius: 8px; font-size: 1rem; font-family: 'Inter',sans-serif; background:#FAFAF8; }
.lm-form input:focus { outline: none; border-color: #B8962E; box-shadow: 0 0 0 3px rgba(184,150,46,0.15); background:#fff; }
.lm-hp { position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
.lm-btn { width: 100%; margin-top: 20px; padding: 15px 18px; background: #C0392B; color: #fff; border: none; border-radius: 8px; font: 700 1.02rem/1 'Inter',sans-serif; cursor: pointer; transition: background .18s, transform .06s; }
.lm-btn:hover { background: #a5301f; }
.lm-btn:active { transform: translateY(1px); }
.lm-btn:disabled { opacity:.6; cursor: default; }
.lm-trust { font-size: 0.8rem; color: #888; margin: 12px 0 0; text-align:center; }
.lm-success { display:none; background:#F4FBF4; border:1px solid #bfe3bf; border-radius:12px; padding: 26px 24px; text-align:center; }
.lm-success h2 { color:#1e7a34; margin:0 0 8px; font:700 1.25rem/1.3 'Inter',sans-serif; }
.lm-success .lm-dl { display:inline-block; margin-top:14px; padding:12px 22px; background:#1A1A1A; color:#fff; border-radius:8px; text-decoration:none; font-weight:600; }

.lm-bookwrap { display:flex; justify-content:center; align-items:center; perspective: 1800px; }
.lm-book { position: relative; width: 300px; height: 430px; transform-style: preserve-3d; transform: rotateY(-24deg) rotateX(4deg); transition: transform .6s cubic-bezier(.2,.7,.3,1); }
.lm-bookwrap:hover .lm-book { transform: rotateY(-14deg) rotateX(2deg); }
@media (max-width: 860px){ .lm-book { width: 240px; height: 344px; transform: rotateY(-20deg) rotateX(4deg); margin: 0 auto; } }
.lm-book__cover { position:absolute; inset:0; border-radius: 4px 8px 8px 4px; background: linear-gradient(135deg,#1f1f1f,#2c2c2c); box-shadow: 0 26px 60px rgba(0,0,0,.42); overflow:hidden; transform: translateZ(18px); }
.lm-book__cover img { position:absolute; inset:0; width:100%; height:100%; object-fit: cover; opacity:0.9; }
.lm-book__overlay { position:absolute; inset:0; background: linear-gradient(180deg, rgba(20,20,20,.62) 0%, rgba(20,20,20,.18) 42%, rgba(20,20,20,.72) 100%); }
.lm-book__text { position:absolute; inset:0; padding: 26px 22px; display:flex; flex-direction:column; color:#fff; z-index:2; }
.lm-book__kicker { font: 700 10px/1.3 'Inter',sans-serif; letter-spacing: .24em; text-transform: uppercase; color:#E8C766; margin: 4px 0 0; }
.lm-book__title { font-family: var(--font-display,'Playfair Display',serif); font-size: 1.62rem; line-height: 1.12; margin: 14px 0 0; text-shadow: 0 2px 12px rgba(0,0,0,.5); }
.lm-book__rule { width: 44px; height: 3px; background:#C99A2E; margin: 16px 0; }
.lm-book__sub { font: 500 0.82rem/1.4 'Inter',sans-serif; color:#f3ead2; opacity:.95; }
.lm-book__author { margin-top:auto; font: 600 0.8rem/1.3 'Inter',sans-serif; color:#fff; }
.lm-book__author span { display:block; font-weight:400; font-size:0.72rem; color:#d9d2bf; margin-top:3px; }
.lm-book__spine { position:absolute; left:0; top:0; width:20px; height:100%; background: linear-gradient(90deg,#0e0e0e,#242424); transform: rotateY(-90deg) translateZ(10px); transform-origin: left; border-radius: 4px 0 0 4px; }
.lm-book__pages { position:absolute; top:6px; right:-2px; width:18px; height: calc(100% - 12px); background: repeating-linear-gradient(90deg,#fff,#fff 1px,#e7e3d7 2px,#fff 3px); transform: rotateY(90deg) translateZ(291px); transform-origin: right; border-radius: 2px; }
@media (max-width:860px){ .lm-book__pages{ transform: rotateY(90deg) translateZ(231px);} }
.lm-book__shadow { position:absolute; left:8%; bottom:-26px; width:84%; height:34px; background: radial-gradient(ellipse at center, rgba(0,0,0,.34), rgba(0,0,0,0) 70%); filter: blur(3px); transform: rotateX(84deg); }
