/* page-intro */
/* Page intro — heading block with an optional wide banner under it. */
.m-page-intro{padding-block:clamp(2.5rem, 6vw, 5rem) 0}
.m-page-intro__heading{max-width:16ch}
.m-page-intro__lede{margin-top:1.25rem}
.m-page-intro .btn-row{margin-top:1.75rem}
.m-page-intro__banner{aspect-ratio:21 / 9;margin-top:clamp(2rem, 4vw, 3rem)}
@media (max-width: 640px){ .m-page-intro__banner{aspect-ratio:3 / 2} }

/* team */
/* Team — photo beside copy and a people list. */
.m-team__grid{display:grid;gap:2.5rem 4rem;grid-template-columns:minmax(0, 1fr) minmax(0, 1.1fr);align-items:center}
.m-team--flip .m-team__grid{direction:rtl}
.m-team--flip .m-team__grid>*{direction:ltr}
.m-team__photo img{width:100%;height:auto}
.m-team__lede{margin-top:1rem}
.m-team__people{list-style:none;margin:1.5rem 0 0;padding:0;display:grid;gap:1.25rem}
.m-team__people strong{display:block;font-size:var(--step-h3)}
.m-team__people p{margin:0;color:var(--ink-muted)}
.m-team .btn-row{margin-top:1.5rem}
@media (max-width: 820px){ .m-team__grid,.m-team--flip .m-team__grid{grid-template-columns:1fr;direction:ltr} }
.m-team__panels{display:grid;gap:1rem;grid-template-columns:repeat(2, minmax(0, 1fr));margin-top:1rem}
.m-team__panel{padding:1.25rem 1.35rem;border-radius:var(--radius-photo)}
.m-team__panel strong{display:block;font-size:var(--step-h3);margin-bottom:.35rem}
.m-team__panel p{margin:0;font-size:var(--step-small)}
.m-team__panel.surface-brand p{color:#C2CBCF}
@media (max-width: 520px){ .m-team__panels{grid-template-columns:1fr} }

/* cta-bar */
/* CTA bar — slim yellow strip. Not a .module: it has its own tight padding. */
.m-cta-bar__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 2rem;padding-block:.9rem}
.m-cta-bar p{margin:0;max-width:none;font-weight:650;font-size:var(--step-lead)}
.m-cta-bar__buttons{display:flex;flex-wrap:wrap;gap:.75rem}

/* text-columns */
/* Text columns — equal columns of heading + prose, lists with square bullets. */
.m-text-columns__grid{display:grid;gap:2.5rem 4rem;align-items:start}
.m-text-columns__grid--2{grid-template-columns:repeat(2, minmax(0, 1fr))}
.m-text-columns__grid--3{grid-template-columns:repeat(3, minmax(0, 1fr))}
.m-text-columns__heading{margin-bottom:1rem}
.m-text-columns__body{max-width:36rem}
.m-text-columns__body ul{list-style:none;margin:.75rem 0 1.25rem;padding:0;display:grid;gap:.45rem}
.m-text-columns__body ul li{padding-left:1.25rem;position:relative}
.m-text-columns__body ul li::before{content:"";position:absolute;left:0;top:.6em;width:8px;height:8px;border-radius:2px;background:var(--accent)}
@media (max-width: 820px){ .m-text-columns__grid--2,.m-text-columns__grid--3{grid-template-columns:1fr} }

/* quote-form */
/* Quote form — details beside a Contact Form 7 form styled like the design. */
.m-quote-form__grid{display:grid;gap:2.5rem 4rem;grid-template-columns:minmax(0, 1.1fr) minmax(0, 1fr);align-items:start}
.m-quote-form__grid--single{grid-template-columns:minmax(0, 1fr);max-width:40rem}
.m-quote-form__lede{margin-top:.75rem}
.m-quote-form__details{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:1.25rem}
.m-quote-form__details li{display:grid;gap:.2rem}
.m-quote-form__details strong{font-size:var(--step-small);color:var(--ink-muted);font-weight:550}
.m-quote-form__details a{font-weight:650;font-size:var(--step-lead);text-decoration:none}
.m-quote-form__details span a{font-size:inherit;text-decoration:underline}
.m-quote-form__details a:hover{text-decoration:underline}
.m-quote-form__details address{font-style:normal}

.m-quote-form__form{background:var(--grey-50);padding:clamp(1.25rem, 3vw, 2rem);border-radius:var(--radius-photo)}
.surface-grey .m-quote-form__form{background:var(--white);border:1px solid var(--hairline)}
.m-quote-form__hint{margin:0;color:var(--ink-muted)}
.m-quote-form__form .wpcf7-form{display:grid;gap:1.1rem}
.m-quote-form__form .wpcf7-form p{margin:0}
.m-quote-form__row{display:grid;gap:1.1rem;grid-template-columns:repeat(2, minmax(0, 1fr))}
.m-quote-form__field{display:grid;gap:.35rem}
.m-quote-form__field label{font-weight:600;font-size:var(--step-small)}
.m-quote-form__form input:not([type="submit"]),.m-quote-form__form select,.m-quote-form__form textarea{
  font:inherit;padding:.7rem .85rem;border:1.5px solid var(--hairline);border-radius:var(--radius);background:var(--white);color:var(--ink);width:100%;
}
.m-quote-form__form textarea{min-height:7rem;resize:vertical}
.m-quote-form__form input:focus-visible,.m-quote-form__form select:focus-visible,.m-quote-form__form textarea:focus-visible{box-shadow:none;outline:2px solid var(--ink);outline-offset:1px}
.m-quote-form__form .wpcf7-form-control-wrap{display:block}
.m-quote-form__form input[type="submit"]{
  display:inline-flex;align-items:center;min-height:48px;padding:0 1.5rem;border:2px solid var(--accent);border-radius:var(--radius-pill);
  background:var(--accent);color:var(--ink);font:inherit;font-weight:650;cursor:pointer;
}
.m-quote-form__form input[type="submit"]:hover{background:var(--accent-2);border-color:var(--accent-2)}
.m-quote-form__form .wpcf7-spinner{margin-left:.75rem}
.m-quote-form__note{font-size:var(--step-small);color:var(--ink-muted)}
.m-quote-form__form .wpcf7-not-valid-tip{font-size:var(--step-micro);color:#B3261E;margin-top:.25rem}
.m-quote-form__form .wpcf7-response-output{margin:0;padding:.75rem 1rem;border:2px solid var(--ink);border-radius:var(--radius);font-weight:600}
@media (max-width: 820px){ .m-quote-form__grid{grid-template-columns:1fr} }
@media (max-width: 520px){ .m-quote-form__row{grid-template-columns:1fr} }

/* Slate variant: dark band, yellow labels, the form as a white card with a yellow edge. */
.surface-brand.m-quote-form{position:relative;overflow:hidden}
.surface-brand.m-quote-form::before{content:"";position:absolute;inset:auto -10% -45% auto;width:55%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle, rgba(249,179,5,.22), rgba(249,179,5,0) 70%);pointer-events:none}
.surface-brand .m-quote-form__lede{color:#C2CBCF}
.surface-brand .m-quote-form__details strong{color:var(--accent)}
.surface-brand .m-quote-form__details a,.surface-brand .m-quote-form__details span,.surface-brand .m-quote-form__details address{color:var(--white)}
.surface-brand .m-quote-form__form{position:relative;background:var(--white);color:var(--ink);border-top:6px solid var(--accent);border-radius:var(--radius-photo);box-shadow:0 24px 48px -24px rgba(0,0,0,.5)}
.surface-brand .m-quote-form__form input:not([type="submit"]),.surface-brand .m-quote-form__form select,.surface-brand .m-quote-form__form textarea{border-color:var(--hairline);background:var(--grey-50)}
.surface-brand .m-quote-form__form input:not([type="submit"]):focus-visible,.surface-brand .m-quote-form__form select:focus-visible,.surface-brand .m-quote-form__form textarea:focus-visible{background:var(--white);outline-color:var(--accent-text)}
.surface-brand .m-quote-form__form input[type="submit"]{width:100%;justify-content:center;min-height:52px;font-size:var(--step-lead)}
.surface-brand .m-quote-form__form .wpcf7-response-output{border-color:var(--accent)}

