/* schools and groups: the same Wonderland look, a hero then two cards and a short form */
.lv-hero { display: flex; flex-direction: column; gap: 18px; margin: 10px 0 20px; }
.lv-text { display: flex; flex-direction: column; gap: 12px; }
.lv-kicker { align-self: flex-start; padding: 4px 12px; border-radius: 999px; border: 2px solid var(--mint); color: var(--mint); font-size: var(--t-sm); font-weight: 700; }
.lv-hero h1 { margin: 0; font-family: var(--display); font-size: var(--t-3xl); line-height: 1.05; color: #fff; text-wrap: balance; }
.lv-hero h1 span { color: var(--orange); }
.lv-hero p { margin: 0; color: var(--on-navy-muted); line-height: 1.5; }
.lv-facts { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.lv-facts li { padding-left: 26px; position: relative; color: var(--on-navy-muted); }
.lv-facts li::before { content: '✔'; position: absolute; left: 0; color: var(--mint); font-weight: 700; }
.lv-facts b { color: #fff; }
.lv-acts { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.lv-wa { background: transparent; color: #fff; border-color: var(--on-navy-muted); }
.lv-wa:hover { color: #fff; border-color: var(--orange); }
.lv-pic { margin: 0; }
.lv-pic img { display: block; width: 100%; height: auto; border-radius: 22px; border: 3px solid var(--ink); box-shadow: var(--lift-orange); }
.lv-grid { display: grid; gap: 14px; margin-bottom: 18px; }
.lv-card h2 { margin: 0 0 8px; }
.lv-card ul, .lv-card ol { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; font-size: var(--t-md); line-height: 1.45; }
.lv-also { margin: 10px 0 0; font-size: var(--t-sm, .9rem); line-height: 1.45; opacity: .85; } /* the DJW bar sits apart from what the hire includes */
.lv-form-card h2 { margin: 0 0 4px; }
.lv-form-card > p { margin: 0 0 12px; font-size: var(--t-sm); }
.lv-form { display: flex; flex-direction: column; gap: 12px; }
.lv-form .opt { font-weight: 400; font-size: var(--t-sm); color: var(--ink-muted); }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.msg { margin: 0; color: var(--bad); font-weight: 600; } .msg:empty { display: none; }
.lv-done { display: flex; flex-direction: column; gap: 10px; }
.lv-done p { margin: 0; }
.lv-done .b { align-self: flex-start; }
@media (min-width: 960px) {
  .lv-hero { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 40px; align-items: center; margin: 24px 0 32px; }
  .lv-hero h1 { font-size: 46px; }
  .lv-grid { grid-template-columns: 1fr 1fr; gap: 20px; }
}

.lv-calc { display: block; margin-top: 6px; padding: 8px 10px; border-radius: 12px; background: rgba(255, 255, 255, .06); color: #fff; font-size: var(--t-sm); }
.lv-calc input, .lv-calc select { width: auto; min-height: 32px; margin: 0 4px; padding: 0 8px; border-radius: 8px; border: 2px solid var(--mint); background: var(--navy); color: #fff; font: inherit; font-size: var(--t-sm); }
.lv-calc input { width: 64px; }
