/* ============================================================================
   inner.css - inner pages, author pages, blog listings and the shared parts of
   the article template (SJRP "Clinical Modern" inner pages, EEAT batch).

   One component library, prefix .in-, ported 1:1 from the canvas artboards
   (Template, Team, About, Editorial Policy, Contact, the six author pages,
   Blog, Blog category, both blog posts). Values are the design's; colours are
   tokens only. Breakpoints are the design's: 1500 / 1200 / 1100 / 900 / 560.

   Section h2 sizes are left to the element rule in general.css (the design's
   clamp(30px,3vw,60px) plus its 1500 / 1200 overrides); a component that sets
   its own h2 size uses a single class, so the design's h2[class] overrides at
   1500 / 1200 still win exactly as they do in the export.

   This file holds what every inner template shares (atoms, section head,
   page hero, intro band, CTA banner, body + side column, post cards). Each
   template adds one more: pages.css (Flexible pages), author.css, blog.css,
   single.css, landing.css (Program / Condition / Location pages).
   ============================================================================ */

/* 1. Shared atoms -------------------------------------------------------- */

.in-wrap { max-width: 1200px; box-sizing: border-box; margin: 0 auto; padding-inline: clamp(20px,3vw,40px); }
.in-paper { background: var(--dd-bg-warm); }
.in-paper--bottom { border-bottom: 1px solid var(--dd-ink-a08); }
.in-paper--top { border-top: 1px solid var(--dd-ink-a08); }
.in-paper--both { border-top: 1px solid var(--dd-ink-a08); border-bottom: 1px solid var(--dd-ink-a08); }
.in-sec { padding-block: 56px; }
.in-sec--52 { padding-block: 52px; }
.in-sec--last { padding-block: 56px 0; }

.in-accent { font-family: var(--dd-font-serif); font-style: italic; font-weight: 400; letter-spacing: -.02em; color: var(--dd-green-accent); }
.in-accent--pale { color: var(--dd-green-pale); }

.in-crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 0.8125rem; font-weight: 500; color: var(--dd-text); }
.in-crumbs a { display: inline-block; padding-block: 8px; margin-block: -8px; text-decoration: none; color: var(--dd-text); } /* 35px tap target, same line box */
.in-crumbs__sep { color: var(--dd-ink-a55); } /* 3.6:1 on white */
.in-crumbs .in-crumbs__current { color: var(--dd-ink); font-weight: 600; }

.in-kicker { margin: 0; text-wrap: balance; display: inline-flex; align-items: flex-start; gap: 8px; font-size: 0.8125rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--dd-green-accent); }
/* the dot sits on the first line's centre when the kicker wraps */ .in-kicker::before { content: ''; flex: none; margin-top: calc(.8em - 3.5px); width: 7px; height: 7px; border-radius: 50%; background: var(--dd-green-accent); }
.in-eyebrow { margin: 0; font-size: 0.8125rem; font-weight: 600; color: var(--dd-green-accent); }

.in-title { text-wrap: balance; }
.in-title--narrow { max-width: 20ch; }

.in-btn { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border-radius: 8px; font-size: 0.90625rem; font-weight: 600; text-decoration: none; box-sizing: border-box; }
.in-btn--outline { border: 1px solid var(--dd-ink-a18); }
.in-btn--white { background: var(--dd-white); }
.in-btn--gold { gap: 10px; padding: 0 18px; background: var(--dd-gold); color: var(--dd-ink); }
.in-btn--card { gap: 10px; padding: 0 18px; background: var(--dd-white); color: var(--dd-ink); border: 1px solid var(--dd-ink-a14); }
.in-btn--48 { min-height: 48px; padding: 0 18px; font-size: 0.9375rem; }
.in-btn--46 { min-height: 46px; padding: 0 18px; }
.in-btn--40 { min-height: 40px; padding: 0 14px; font-size: 0.84375rem; }
.in-btn--dark { min-height: 48px; padding: 0 18px; font-size: 0.9375rem; background: var(--dd-green); color: var(--dd-white); }
.in-btn--dark:hover { color: var(--dd-white); }

.in-arrowlink { display: inline-flex; align-items: center; gap: 6px; font-size: 0.9375rem; font-weight: 600; text-underline-offset: 4px; }
.in-textlink { display: inline-flex; align-items: center; gap: 6px; font-size: 0.9375rem; font-weight: 600; color: var(--dd-green-accent); text-decoration: none; }

.in-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.in-chip-tag { display: inline-flex; align-items: center; min-height: 28px; padding: 0 10px; background: var(--dd-bg-warm); border-radius: 6px; font-size: 0.78125rem; font-weight: 500; }
.in-tag { display: inline-flex; align-items: center; min-height: 28px; padding: 0 10px; background: var(--dd-green-light); border-radius: 6px; font-size: 0.75rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; text-decoration: none; }
.in-tag--30 { min-height: 30px; padding: 0 12px; font-size: 0.78125rem; }

.in-img { width: 100%; display: block; object-fit: cover; border-radius: 10px; }
.in-icon-box { width: 44px; height: 44px; border-radius: 8px; background: var(--dd-green-light); display: flex; align-items: center; justify-content: center; flex: none; }
.in-icon-box img { width: 22px; height: 22px; }

/* 2. Section head ------------------------------------------------------- */

.in-sechead { display: flex; flex-direction: column; gap: 12px; margin-bottom: clamp(28px,3vw,40px); }
.in-sechead__text { margin: 0; font-size: 1.0625rem; color: var(--dd-text); max-width: 62ch; }
.in-sechead-row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: clamp(24px,3vw,32px); }
.in-sechead-row .in-eyebrow { margin: 0 0 12px; }

@media (min-width:1200px) { .in-sechead { margin-bottom: 32px; } }

/* 3. Page hero (Template, Team, About; Program / Condition / Location) -- */

.in-hero { padding: 45px clamp(20px,3vw,40px) 40px; display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,420px),1fr)); gap: 20px clamp(32px,5vw,72px); align-items: stretch; }
/* the crumbs sit above both columns, so the photo starts level with the kicker */
.in-hero__crumbs { grid-column: 1/-1; }
.in-hero__crumbs:empty { display: none; }
.in-hero__text { display: flex; flex-direction: column; justify-content: center; gap: 20px; }
.in-hero__lead { margin: -6px 0 0; font-size: 1rem; line-height: 1.4; color: var(--dd-text); max-width: 52ch; }
.in-hero__ctas { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.in-hero__cta { flex: 1 1 136px; max-width: 136px; justify-content: center; gap: 10px; min-height: 50px; padding: 0 16px; background: var(--dd-gold); color: var(--dd-ink); }
.in-hero__cta--2 { flex: 1 1 172px; max-width: 172px; background: var(--dd-green-light); }
.in-hero__note { margin: 0; font-size: 0.84375rem; color: var(--dd-text); }
/* Desktop: the photo is exactly as tall as the text column (kicker to note).
   height:0 + min-height:100% keeps the photo's own ratio out of the row
   height, so the text decides it; the row minimum guards a short text. */
@media (min-width:901px) { .in-hero { grid-template-columns: repeat(2,minmax(0,1fr)); grid-auto-rows: auto minmax(340px,auto); } }
.in-hero__media { position: relative; padding: 0 clamp(12px,2vw,24px) 0 0; height: 0; min-height: 100%; box-sizing: border-box; }
.in-hero__img, .in-hero__media > picture { height: 100%; aspect-ratio: auto; }
.in-hero__media > picture { display: block; }
.in-hero__media > picture > img { height: 100%; }
.in-badge { position: absolute; display: flex; align-items: center; background: var(--dd-white); border-radius: 8px; box-shadow: 0 10px 30px var(--dd-ink-a14); border: 1px solid var(--dd-ink-a08); }
.in-badge--left { left: clamp(-28px,-2vw,-12px); bottom: clamp(68px,22%,96px); gap: 12px; padding: 12px 18px 12px 12px; max-width: calc(100% - 20px); }
.in-badge--right { right: 0; bottom: -20px; gap: 14px; padding: 12px 18px; }
.in-badge__icon { width: 32px; height: 32px; border-radius: 6px; background: var(--dd-gold); color: var(--dd-ink); display: flex; align-items: center; justify-content: center; flex: none; }
.in-badge__body { display: flex; flex-direction: column; line-height: 1.3; }
.in-badge__small { font-size: 0.78125rem; color: var(--dd-text); }
.in-badge__strong { font-size: 0.9375rem; font-weight: 600; }
.in-stars { color: var(--dd-gold); font-size: 0.9375rem; letter-spacing: 1px; }

@media (max-width:900px) {
	.in-hero__media { display: flex; flex-direction: column; gap: 10px; padding: 0; margin-top: 8px; height: auto; min-height: 0; }
	.in-hero__img { order: 3; height: auto; aspect-ratio: 4/3; max-height: 52svh; width: 100%; margin-top: 6px; }
	.in-hero__media > picture { order: 3; height: auto; }
	.in-badge { position: static; max-width: none; width: 100%; box-sizing: border-box; }
	.in-badge--left { order: 2; }
	.in-badge--right { order: 1; }
	.in-hero { padding-top: 28px; gap: 10px; align-items: start; }
	.in-hero__crumbs { margin-bottom: 5px; }
	.in-hero__text { gap: 15px; }
	.in-hero__text > p { margin: 0; }
	.in-hero__ctas { margin-top: 0; flex-wrap: nowrap; }
	.in-hero__cta { flex: 1 1 100%; max-width: none; min-width: 0; }
	.in-hero__cta--2 { display: none; }
	.in-hero .in-kicker { font-size: 0.75rem; letter-spacing: .08em; display: flex; line-height: 1.4; }
	.in-hero .in-kicker::before { margin-top: calc(.7em - 3.5px); }
}

/* "Clinically reviewed by" under the hero buttons (Program / Condition /
   Location pages): photo, label, name with credentials, role and date. */
.in-reviewed { align-self: flex-start; display: inline-flex; align-items: center; gap: 10px; margin-top: 2px; padding: 8px 14px 8px 8px; background: var(--dd-white); border: 1px solid var(--dd-hairline); border-radius: 8px; text-decoration: none; color: inherit; max-width: 100%; box-sizing: border-box; }
.in-reviewed:hover { border-color: var(--dd-ink-a18); color: inherit; }
.in-reviewed__img { width: 36px; height: 36px; border-radius: 6px; object-fit: cover; object-position: center top; flex: none; }
.in-reviewed__text { display: flex; flex-direction: column; line-height: 1.35; min-width: 0; }
.in-reviewed__label { display: inline-flex; align-items: center; gap: 5px; font-size: 0.71875rem; font-weight: 600; color: var(--dd-green-accent); }
.in-reviewed__who { font-size: 0.8125rem; color: var(--dd-text); }
.in-reviewed__who strong { font-weight: 600; color: var(--dd-ink); }
@media (max-width:900px) { .in-reviewed { align-self: stretch; } }

/* 4. Intro band (Editorial Policy, Blog, category) ----------------------- */

.in-intro { padding-block: 40px 48px; display: flex; flex-direction: column; gap: 18px; }
.in-intro--36 { padding-bottom: 36px; }
.in-intro__lead { margin: -4px 0 0; font-size: 1.03125rem; line-height: 1.5; color: var(--dd-text); max-width: 58ch; }
.in-intro__lead--60 { max-width: 60ch; }
.in-intro__actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 4px; }
.in-intro__updated { font-size: 0.84375rem; color: var(--dd-text); }

/* 8. CTA banner, crisis band, call card ----------------------------------- */

.in-banner { padding: 56px clamp(20px,3vw,40px) 64px; }
.in-banner--flush { padding-top: 0; }
.in-banner__box { position: relative; isolation: isolate; min-height: clamp(360px,26vw,420px); display: flex; align-items: center; color: var(--dd-white); border-radius: 12px; overflow: hidden; }
.in-banner__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -1; }
/* keeps the white title readable whatever photo is chosen; paints over the photo (later in tree order, same z-index), under the text */
.in-banner__box::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(31,61,52,.55), transparent 60%); pointer-events: none; }
.in-banner__body { width: 100%; box-sizing: border-box; padding: clamp(32px,4vw,48px); display: flex; flex-direction: column; gap: 18px; }
.in-banner__title { margin: 0; font-size: clamp(2.25rem,4.6vw,4rem); line-height: 1; letter-spacing: -.045em; color: var(--dd-white); }
.in-banner__text { margin: 0; font-size: 1.03125rem; color: var(--dd-on-dark-light); max-width: 41ch; }
.in-banner__text--wide { max-width: 48ch; }
.in-banner__ctas { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }

@media (max-width:900px) { .in-banner__ctas > a { flex: 1 1 100%; width: 100%; } }

/* phones: standalone text links get a 41-44px tap target without moving anything */
@media (max-width:900px) { .in-textlink { padding-block: 10px; margin-block: -10px; } }

.in-crisis { background: var(--dd-green); color: var(--dd-white); }
.in-crisis__inner { padding-block: 44px; display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,300px),1fr)); gap: 20px 40px; align-items: start; }
.in-crisis__head { display: flex; flex-direction: column; gap: 10px; }
.in-crisis__kicker { margin: 0; font-size: 0.8125rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--dd-green-pale); }
.in-crisis__title { margin: 0; font-size: clamp(1.625rem,2.6vw,2.125rem); line-height: 1.1; letter-spacing: -.03em; color: var(--dd-white); }
.in-crisis__text { margin: 0; font-size: 0.9375rem; color: var(--dd-on-dark); max-width: 40ch; }
.in-crisis__lines { display: flex; flex-direction: column; gap: 1px; background: var(--dd-white-a10); border: 1px solid var(--dd-white-a10); border-radius: 10px; overflow: hidden; }
.in-crisis__line { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 16px 20px; background: var(--dd-green); text-decoration: none; color: var(--dd-white); }
.in-crisis__line:hover { color: var(--dd-white); }
.in-crisis__label { font-size: 0.9375rem; }
.in-crisis__value { font-size: 1.0625rem; font-weight: 600; white-space: nowrap; }

/* Body + side column (posts; Program / Condition / Location pages) */
.in-postgrid { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: clamp(32px,5vw,72px); align-items: start; }
.in-toc { background: var(--dd-white); border: 1px solid var(--dd-hairline); border-radius: 10px; overflow: hidden; }
.in-toc__list { display: flex; flex-direction: column; padding: 8px 0; font-size: 0.90625rem; }
.in-toc__list a { padding: 8px 18px; text-decoration: none; color: var(--dd-text); }

@media (max-width:900px) {
	.in-postgrid { grid-template-columns: minmax(0,1fr); }
	.in-toc { display: none; }
}

.in-side { position: sticky; top: 96px; display: flex; flex-direction: column; gap: 12px; }
.in-callcard { background: var(--dd-green-light); border-radius: 10px; padding: 24px; display: flex; flex-direction: column; gap: 12px; }
.in-callcard__title { margin: 0; font-size: 1.3125rem; letter-spacing: -.02em; line-height: 1.25; }
.in-callcard__text { margin: 0; font-size: 0.9375rem; color: var(--dd-ink); }
.in-callcard__btn { align-self: stretch; display: inline-flex; align-items: center; justify-content: space-between; min-height: 48px; padding: 0 18px; border-radius: 8px; font-size: 0.9375rem; font-weight: 600; text-decoration: none; background: var(--dd-gold); color: var(--dd-ink); box-sizing: border-box; }
.in-callcard__btn--white { background: var(--dd-white); border: 1px solid var(--dd-ink-a14); }
.in-callcard__small { margin: 0; font-size: 0.78125rem; color: var(--dd-text); }

.in-box { background: var(--dd-white); border: 1px solid var(--dd-hairline); border-radius: 10px; overflow: hidden; }
.in-box__head { padding: 14px 18px; background: var(--dd-bg-warm); font-size: 0.8125rem; font-weight: 600; color: var(--dd-ink); border-bottom: 1px solid var(--dd-hairline-card); }
.in-box__head--white { background: var(--dd-white); }
.in-box__head--mid { border-top: 1px solid var(--dd-hairline-card); }
.in-box__sub { padding: 12px 18px; font-size: 0.8125rem; font-weight: 600; color: var(--dd-ink); border-top: 1px solid var(--dd-hairline-card); border-bottom: 1px solid var(--dd-hairline-card); }
.in-credrow { display: flex; gap: 12px; padding: 12px 18px; font-size: 0.90625rem; border-bottom: 1px solid var(--dd-hairline-card); }
.in-credrow:last-child { border-bottom: 0; }
.in-credrow__abbr { color: var(--dd-green-accent); font-weight: 600; flex: none; width: 52px; }
.in-credrow__text { color: var(--dd-text); }
.in-who-row { display: flex; align-items: center; gap: 12px; padding: 14px 18px; text-decoration: none; color: inherit; }
.in-who-row__img { width: 52px; height: 52px; border-radius: 8px; object-fit: cover; object-position: center top; flex: none; }
.in-who-row__text { display: flex; flex-direction: column; line-height: 1.3; }
.in-who-row__name { font-size: 0.90625rem; font-weight: 600; }
.in-who-row__note { font-size: 0.8125rem; color: var(--dd-text); }
.in-who-row--sm { padding: 10px 18px; border-bottom: 1px solid var(--dd-hairline-card); }
.in-who-row--sm:last-child { border-bottom: 0; }
.in-who-row--sm .in-who-row__img { width: 40px; height: 40px; }
.in-who-row--sm .in-who-row__name { font-size: 0.875rem; }
.in-who-row--sm .in-who-row__note { font-size: 0.78125rem; }
.in-box__foot { display: flex; align-items: center; justify-content: space-between; padding: 12px 18px; border-top: 1px solid var(--dd-hairline-card); font-size: 0.875rem; font-weight: 600; text-decoration: none; color: var(--dd-green-accent); }
.in-box__chips { display: flex; flex-wrap: wrap; gap: 8px; padding: 14px 18px; }
.in-box__chip { display: inline-flex; align-items: center; min-height: 32px; padding: 0 12px; background: var(--dd-bg-warm); border-radius: 8px; font-size: 0.8125rem; font-weight: 500; text-decoration: none; }

/* Program cards (About; Program pages' related section) */
.in-programs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; background: var(--dd-hairline); border: 1px solid var(--dd-hairline); border-radius: 10px; overflow: hidden; }
.in-program { background: var(--dd-white); padding: 12px 12px 24px; display: flex; flex-direction: column; gap: 14px; text-decoration: none; color: inherit; }
.in-program__img { width: 100%; height: 210px; object-fit: cover; border-radius: 6px; display: block; }
.in-program__body { padding: 6px 12px 0; display: flex; flex-direction: column; gap: 12px; flex: 1; }
.in-program__title { margin: 0; font-size: 1.5rem; letter-spacing: -.025em; }
.in-program__when { display: flex; align-items: center; gap: 8px; font-size: 0.875rem; font-weight: 500; color: var(--dd-green); padding: 8px 0; border-top: 1px solid var(--dd-hairline-card); border-bottom: 1px solid var(--dd-hairline-card); }
.in-program__more { margin-top: auto; display: inline-flex; align-items: center; gap: 6px; font-size: 0.9375rem; font-weight: 600; color: var(--dd-green-accent); }

@media (max-width:1100px) {
	.in-programs { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.in-programs > :last-child:nth-child(odd) { grid-column: 1/-1; }
}
@media (max-width:560px) { .in-programs { grid-template-columns: minmax(0,1fr); } }

/* Post cards (blog grids, related articles) */
.in-grid3 { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; align-items: stretch; }
.in-grid3 + .in-grid3, .in-startcta + .in-grid3 { margin-top: 28px; }
.in-postcard { background: var(--dd-white); border: 1px solid var(--dd-hairline-card); border-radius: 10px; padding: 8px 8px 20px; display: flex; flex-direction: column; gap: 12px; text-decoration: none; color: inherit; }
.in-postcard__img { width: 100%; aspect-ratio: 16/9; object-fit: cover; border-radius: 6px; display: block; }
.in-postcard__body { padding: 4px 12px 0; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.in-postcard__cat { font-size: 0.75rem; font-weight: 600; color: var(--dd-green-accent); }
.in-postcard__title { margin: 0; font-size: 1.1875rem; letter-spacing: -.02em; line-height: 1.25; }
.in-postcard__text { font-size: 0.875rem; color: var(--dd-text); line-height: 1.5; }
.in-postcard__credit { margin-top: auto; display: flex; align-items: center; gap: 8px; padding-top: 10px; border-top: 1px solid var(--dd-hairline-card); font-size: 0.78125rem; color: var(--dd-text); }
.in-postcard__avatar { width: 24px; height: 24px; border-radius: 6px; object-fit: cover; object-position: center top; flex: none; }

@media (max-width:1100px) { .in-grid3 { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width:560px) { .in-grid3 { grid-template-columns: minmax(0,1fr); } }

/* 9. Insurance & cost (#verify) - Program / Condition / Location pages and About ------------------------------------------ */

.lp-verify { scroll-margin-top: 90px; }
.lp-verify__inner { padding-block: 44px; display: flex; flex-direction: column; gap: 18px; }
.lp-verify__head { display: flex; flex-direction: column; gap: 8px; max-width: 62ch; }
.lp-verify__title { font-size: clamp(1.625rem,2.6vw,2.25rem); line-height: 1.05; letter-spacing: -.035em; }
.lp-verify__text { margin: 0; font-size: 0.96875rem; color: var(--dd-text); }
.lp-verify__foot { display: flex; flex-direction: column; gap: 18px; }
/* the notes as separate items with a dot between them, a clear step under the logos */
.lp-verify__notes { list-style: none; margin: 0; padding: 14px 0 0; border-top: 1px solid var(--dd-hairline); display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 0; }
.lp-verify__note { margin: 0; font-size: 0.8125rem; line-height: 1.5; color: var(--dd-text); }
.lp-verify__note + .lp-verify__note::before { content: ''; display: inline-block; vertical-align: middle; width: 4px; height: 4px; margin: 0 14px; border-radius: 50%; background: var(--dd-green-accent); opacity: .6; }
.lp-verify__note strong { font-weight: 600; color: var(--dd-ink); }
@media (max-width:900px) {
	.lp-verify__notes { flex-direction: column; gap: 6px; }
	.lp-verify__note + .lp-verify__note::before { display: none; }
}

/* The verification form as one row: name | phone | insurance | button. */
.lp-formbar { background: var(--dd-white); border: 1px solid var(--dd-hairline); border-radius: 10px; padding: 14px; }
.lp-formbar .gform_wrapper.gravity-theme form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: end; }
.lp-formbar .gform_wrapper.gravity-theme form > :not(.gform-body):not(.gform_body):not(.gform_footer) { grid-column: 1 / -1; }
.lp-formbar .gform_wrapper.gravity-theme .gform_fields { grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,1.3fr); }
.lp-formbar .gform_wrapper.gravity-theme .gfield.gfield--width-half, .lp-formbar .gform_wrapper.gravity-theme .gfield.gfield--width-full, .lp-formbar .gform_wrapper.gravity-theme .gfield.dd-span { grid-column: auto; }
.lp-formbar .gform_wrapper.gravity-theme .gfield, .lp-formbar .gform_wrapper.gravity-theme .gfield_label { font-size: 0.8125rem; }
.lp-formbar .gform_wrapper.gravity-theme .gform_footer { margin: 0; }
.lp-formbar .gform_wrapper.gravity-theme .gform_footer .gform_button { padding: 0 20px; white-space: nowrap; }

.lp-logos { display: grid; grid-template-columns: repeat(9,minmax(0,1fr)); gap: 8px; align-items: center; }
.lp-logos__img { width: 100%; height: 30px; object-fit: contain; mix-blend-mode: multiply; filter: grayscale(1) brightness(.35) sepia(1) hue-rotate(110deg) saturate(1.6) brightness(.75); }

@media (max-width:1100px) { .lp-logos { grid-template-columns: repeat(5,minmax(0,1fr)); } }
@media (max-width:900px) {
	.lp-formbar .gform_wrapper.gravity-theme form, .lp-formbar .gform_wrapper.gravity-theme .gform_fields { grid-template-columns: minmax(0,1fr); }
}
@media (max-width:560px) { .lp-logos { grid-template-columns: repeat(3,minmax(0,1fr)); } }
