/* Consulting service landings (custom-service-landing.hbs, Kevin 2026-11-03): copy on the left, form on the right in the
   first screen; one column on phones (copy, then form). Uses the shared glass panel (cv-v1-form-panel). */
.cv-landing-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--cv-content-gap); align-items: start; }
@media (min-width: 981px) { .cv-landing-hero-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.cv-landing-hero-copy { display: flex; flex-direction: column; justify-content: flex-start; gap: 16px; align-self: stretch; }
.cv-landing-hero-copy h1 { margin: 0; }
.cv-landing-hero-copy > p { margin: 0; }
.cv-landing-hero-copy .cv-detail-list { margin: 8px 0 0; }
/* Same spacing as the editorial icon lists inside company sections (company.css). */
.cv-landing-hero-copy .cv-detail-list li { align-items: flex-start; gap: 12px; padding-block: 6px; }
.cv-landing-form { display: flex; flex-direction: column; gap: 8px; }
.cv-landing-form-title { margin: 0; font-size: var(--cv-content-h3, 18px); }
/* The shared inquiry rule (home.css) sizes the form with flex and height 0; here the OpnForm frame needs its full height
   so the reCAPTCHA and the submit button are inside it (live check 2026-11-03: 640px cut off the button). */
.cv-landing-form iframe.cv-inquiry-form { display: block; width: 100%; flex: none; height: 820px; min-height: 0; margin-top: 0; border: 0; }
@media (max-width: 700px) { .cv-landing-form iframe.cv-inquiry-form { height: 860px; } }
/* Wide screens: copy 40%, form 60% so OpnForm puts the four short fields on one row (they are set to 1/4 width) and the
   frame needs about 500px instead of 820px (Kevin 2026-11-03: 30/70 squeezed the copy; 40/60 checked live at 1440px, frame 674px wide). */
@media (min-width: 1200px) {
    .cv-landing-hero-grid { grid-template-columns: minmax(0, 4fr) minmax(0, 6fr); }
    .cv-landing-form iframe.cv-inquiry-form { height: 520px; }
}
