/* leo-layout.css (2026-10-23): "conversion rail" page layout, picked by Shawheen from a 4-way
   shootout (_redesign/layout-shootout, variant "rail"). Pages opt in through wrapper boxes added
   to their block content (lr-hero-grid, lr-hero-copy, lr-form-card, lr-body, lr-content, lr-rail).
   Pages without those wrappers are untouched, except the header fix at the top. */

:root{--lr-navy:var(--color-leo-navy,#092f5e);--lr-blue:#0f4e9b;--lr-yellow:var(--color-leo-yellow,#fff00f);--lr-ink:#0f1f33;--lr-muted:#4a5a70;--lr-line:#dbe3ee;--lr-tint:#f3f6fa;--lr-header:138px}

/* Header: the live bar overflowed about 30 to 40px between 1280 and 1500 wide, clipping the
   yellow "Free inspection" button. Applies sitewide. */
@media (min-width:1280px){
  header nav > div > a{padding-left:.55rem;padding-right:.55rem;letter-spacing:.08em}
  header .max-w-7xl{gap:1rem}
  header a[href^="tel:"].md\:inline-flex{padding-left:.9rem;padding-right:.9rem;letter-spacing:.08em;white-space:nowrap}
  header .max-w-7xl > .flex.items-center.gap-3{gap:.6rem}
}
@media (min-width:1280px) and (max-width:1380px){header a[href^="tel:"].sm\:block{display:none}}
body:has(.lr-body){overflow-x:clip}

/* Hero: copy left, quote form right, both in the fold */
.lr-hero-grid{display:grid;gap:1.25rem;padding-top:1.25rem;padding-bottom:1.5rem}
@media (min-width:1024px){.lr-hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,35rem);gap:3rem;align-items:center;padding-top:1.75rem;padding-bottom:1.75rem}}
.lr-hero-copy h1{margin-top:.6rem;font-size:1.75rem;line-height:1.12;letter-spacing:-.01em}
@media (min-width:640px){.lr-hero-copy h1{font-size:2.5rem}}
@media (min-width:1280px){.lr-hero-copy h1{font-size:3rem}}
.lr-hero-copy h1 + p{margin-top:.85rem;font-size:1rem;line-height:1.6;max-width:36rem}
@media (max-width:639px){.lr-hero-copy > nav{display:none}.lr-hero-copy h1{margin-top:0}.lr-hero-copy h1 + p{font-size:.9375rem;margin-top:.6rem}}
@media (max-width:1023px){.lr-hero-copy > div:last-child{display:none}}
.lr-hero-copy a[href="/contact/"]{display:none}

/* Form card */
.lr-form-card{background:#fff;color:var(--lr-ink);border-radius:.875rem;padding:1.1rem 1.1rem 1rem;box-shadow:0 20px 45px -20px rgba(0,0,0,.55);scroll-margin-top:calc(var(--lr-header) + 1rem)}
@media (min-width:640px){.lr-form-card{padding:1.25rem 1.5rem 1.1rem}}
.lr-form-card > p:first-child{margin:0;font-size:.6875rem;font-weight:800;letter-spacing:.16em;color:var(--lr-blue)}
.lr-form-card h2{margin:.2rem 0 0;font-size:1.375rem;line-height:1.15;color:var(--lr-navy)}
.lr-form-card h2 + p{margin:.35rem 0 0;font-size:.8125rem;line-height:1.45;color:var(--lr-muted)}
.lr-form-card .lr-form-wrap{margin:.8rem 0 0;padding:0;border:0;background:none}
.lr-form-card form{display:grid;grid-template-columns:1fr;gap:.6rem .75rem}
@media (min-width:480px){.lr-form-card form{grid-template-columns:1fr 1fr}}
.lr-form-card form > *{margin:0 !important}
.lr-form-card form > div.grid{display:contents}
.lr-form-card form > :is(.leo-sms-consent,button,p,div:has(textarea)){grid-column:1/-1}
.lr-form-card form .space-y-1\.5 > * + *{margin-top:.3rem}
.lr-form-card form label{font-size:.8125rem;line-height:1.2;color:var(--lr-ink)}
.lr-form-card form :is(input[type=text],input[type=tel],input[type=email],input:not([type]),select){height:2.5rem;font-size:1rem;background:#fff;color:var(--lr-ink);border-color:#c5d0de}
.lr-form-card form textarea{height:3.9rem;min-height:3.9rem;font-size:1rem;background:#fff;field-sizing:fixed;resize:vertical}
.lr-form-card .leo-sms-consent label{font-size:.6875rem !important;line-height:1.4 !important;color:var(--lr-muted)}
.lr-form-card form button[type=submit]{width:100%;min-height:3rem;font-size:1rem}
.lr-form-card form > p{font-size:.75rem;text-align:center}

/* Body: main column plus sticky rail */
.lr-body{display:flex;flex-direction:column;padding-top:.5rem;padding-bottom:2.5rem}
@media (min-width:1024px){.lr-body{display:grid;grid-template-columns:minmax(0,1fr) 19rem;gap:3rem;padding-bottom:3.5rem}}
.lr-content{min-width:0;color:var(--lr-ink)}
@media (min-width:1024px){.lr-content{display:grid;grid-template-columns:1fr 1fr;column-gap:2.5rem;align-content:start}.lr-content > *{grid-column:1/-1}.lr-content > .lr-half{grid-column:auto}}
.lr-content > section{background:transparent !important;border:0;border-bottom:1px solid var(--lr-line)}
.lr-content > section:last-child{border-bottom:0}
.lr-content > section > div{max-width:none;margin:0;padding:1.5rem 0}
@media (min-width:1024px){.lr-content > section > div{padding:1.4rem 0}}
.lr-content h2{font-size:1.5rem;line-height:1.2;margin-top:0;color:var(--lr-navy)}
@media (min-width:1024px){.lr-content h2{font-size:1.6rem}}
.lr-content p{font-size:.9688rem;line-height:1.65}
/* lede: two text columns */
@media (min-width:1024px){.lr-content > section:first-child p{columns:2;column-gap:2.5rem}}
.lr-content > section:first-child p{font-size:1rem}
/* a section with paragraphs and a checklist: text left, checklist right */
@media (min-width:768px){
  .lr-content > section > div:has(> ul.space-y-2\.5){display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);column-gap:2.25rem;align-items:start}
  .lr-content > section > div:has(> ul.space-y-2\.5) > :not(ul.space-y-2\.5){grid-column:1}
  .lr-content > section > div:has(> ul.space-y-2\.5) > h2{grid-column:1/-1}
  .lr-content > section > div:has(> ul.space-y-2\.5) > ul.space-y-2\.5{grid-column:2;grid-row:2 / span 3;margin-top:0}
}
/* card grids inside sections */
@media (min-width:1180px){.lr-content .grid.sm\:grid-cols-2:has(> div.rounded-2xl:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr))}}
.lr-content .rounded-2xl.p-6{padding:1rem 1.1rem}
/* reviews, related, faq: tighter */
.lr-content figure{padding:1rem !important}
.lr-content .wp-block-list.mt-6{margin-top:.85rem}

/* Rail */
.lr-rail{display:none;min-width:0}
@media (min-width:1024px){
  .lr-rail{display:block;padding-top:1.6rem}
  .lr-rail-inner{position:sticky;top:calc(var(--lr-header) + 1.25rem);display:grid;gap:1rem}
  .lr-rail-card{display:grid;gap:.6rem;padding:1.25rem;border-radius:.875rem;background:var(--lr-navy);color:#fff}
  .lr-rail-title{margin:0 0 .15rem;font-size:1.15rem;line-height:1.2;color:#fff}
  .lr-rail-text{margin:0 0 .35rem;font-size:.8438rem;line-height:1.5;color:rgba(255,255,255,.82)}
}
.lr-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:2.75rem;padding:0 1.1rem;border-radius:.5rem;font-weight:700;font-size:.9375rem;text-decoration:none;border:1px solid transparent;transition:background-color .2s ease,border-color .2s ease}
.lr-btn-yellow{background:var(--lr-yellow);color:var(--lr-navy)}
.lr-btn-yellow:hover{background:#fff76b}
.lr-btn-navy{background:var(--lr-navy);color:#fff}
.lr-btn-ghost{background:#fff;color:var(--lr-blue);border-color:var(--lr-line)}
.lr-btn-ghost:hover{border-color:var(--lr-blue)}
.lr-btn:focus-visible{outline:3px solid #fff;outline-offset:2px}

/* Phone: rail becomes a sticky bottom call / quote bar */
.lr-mbar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:1.2fr 1fr;gap:.5rem;padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--lr-line);box-shadow:0 -8px 20px -12px rgba(9,47,94,.35)}
.lr-mbar{transition:transform .25s ease}
.lr-mbar.is-hidden{transform:translateY(110%)}
.lr-mbar .lr-btn{padding:0 .6rem;font-size:.875rem;white-space:nowrap}
.lr-mbar .lr-btn:focus-visible{outline-color:var(--lr-blue)}
@media (max-width:1023px){body:has(.lr-mbar) footer{padding-bottom:4.5rem}}
@media (min-width:1024px){.lr-mbar{display:none}}

@media (prefers-reduced-motion:reduce){.lr-btn,.lr-mbar{transition:none}}
