/* OOMLO 2.0.8 · sister brand page (oomlo/ally-page, D14-8 block A). OOMLO's tokens and fonts only; the sister brand
   enters with its official logo (two files, the reversed one on dark). Loaded only on pages with the block. */

.oomlo-ally { --oomlo-ally-logo-w: 168px; }
@media (max-width: 767px) { .oomlo-ally { --oomlo-ally-logo-w: 128px; } }

/* Logo: never under 96 px wide; clear space of a quarter of its height on every side (747 × 176 viewBox). */
.oomlo-ally__logo { display: inline-block; padding: calc(var(--oomlo-ally-logo-w) * 176 / 747 / 4); margin: calc(var(--oomlo-ally-logo-w) * -176 / 747 / 4); line-height: 0; }
.oomlo-ally__logo-svg { display: block; width: var(--oomlo-ally-logo-w); min-width: 96px; height: auto; }
.oomlo-ally__logo-svg--on-light { display: none; }
[data-theme="light"] .oomlo-ally__logo-svg--on-light { display: block; }
[data-theme="light"] .oomlo-ally__logo-svg--on-dark { display: none; }

/* S1 · hero (on --oomlo-bg: the reversed signal bar keeps 4.71:1 there; never on surface-2). */
.oomlo-ally__hero { padding: var(--oomlo-space-9) 0 var(--oomlo-space-8); background: var(--oomlo-bg); }
.oomlo-ally__hero-text { max-width: 760px; }
.oomlo-ally__logo--hero { margin-bottom: var(--oomlo-space-6); }
.oomlo-ally__hero .oomlo-eyebrow { display: block; margin: var(--oomlo-space-5) 0 var(--oomlo-space-5); }
.oomlo-ally__h1 { margin: 0 0 var(--oomlo-space-5); }
.oomlo-ally__lead { font-size: var(--oomlo-body-l); color: var(--oomlo-text-2); max-width: 64ch; margin: 0 0 var(--oomlo-space-6); }
.oomlo-ally__actions { display: flex; flex-wrap: wrap; gap: var(--oomlo-space-3); }
.oomlo-ally__actions--center { justify-content: center; margin-top: var(--oomlo-space-6); }
.oomlo-ally__line { margin: var(--oomlo-space-5) 0 0; font-size: var(--oomlo-small); color: var(--oomlo-text-2); }

/* Sections. */
.oomlo-ally__section { padding: var(--oomlo-space-8) 0; background: var(--oomlo-bg); }
.oomlo-ally__section--surface { background: var(--oomlo-surface); }
.oomlo-ally__section--air { padding: var(--oomlo-space-9) 0; }
.oomlo-ally__head { max-width: 760px; margin-bottom: var(--oomlo-space-6); }
.oomlo-ally__head--wide { max-width: 820px; margin-bottom: 0; }
.oomlo-ally__h2 { font-size: var(--oomlo-h2); margin: 0 0 var(--oomlo-space-4); }
.oomlo-ally__h3 { font-size: var(--oomlo-h3); margin: 0 0 var(--oomlo-space-3); }
.oomlo-ally__intro { color: var(--oomlo-text-2); font-size: var(--oomlo-body-l); max-width: 64ch; margin: 0; }
.oomlo-ally__narrow { max-width: calc(820px + 2 * var(--oomlo-gutter)); }

/* S2 · three blocks. */
.oomlo-ally__grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--oomlo-space-5); }
.oomlo-ally__block { padding: var(--oomlo-space-5); border: 1px solid var(--oomlo-border); border-radius: var(--oomlo-radius-card); background: var(--oomlo-surface); }
.oomlo-ally__block p { margin: 0; color: var(--oomlo-text-2); }
.oomlo-ally__close-line { margin: var(--oomlo-space-6) 0 0; font-size: var(--oomlo-body-l); max-width: 64ch; }

/* S3 · two cards. */
.oomlo-ally__grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--oomlo-space-5); }
.oomlo-ally__card { padding: var(--oomlo-space-6); border: 1px solid var(--oomlo-border); border-radius: var(--oomlo-radius-card); background: var(--oomlo-bg); box-shadow: var(--oomlo-shadow-1); }
.oomlo-ally__card-name { font-size: var(--oomlo-h3); margin: 0 0 var(--oomlo-space-2); }
.oomlo-ally__card-line { font-weight: 600; margin: 0 0 var(--oomlo-space-3); }
.oomlo-ally__card p { color: var(--oomlo-text-2); }
.oomlo-ally__card .oomlo-ally__card-line { color: var(--oomlo-text); }
.oomlo-ally__points { margin: var(--oomlo-space-4) 0 0; padding-left: 1.2em; color: var(--oomlo-text-2); }
.oomlo-ally__points li + li { margin-top: var(--oomlo-space-2); }

/* S4 · steps. */
.oomlo-ally__steps { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--oomlo-space-4); max-width: 820px; counter-reset: oomlo-step; }
.oomlo-ally__step { display: grid; grid-template-columns: 40px 1fr; gap: var(--oomlo-space-4); align-items: start; counter-increment: oomlo-step; }
.oomlo-ally__step-n::before { content: counter(oomlo-step); }
.oomlo-ally__step p { margin: 6px 0 0; color: var(--oomlo-text-2); }
.oomlo-ally__step strong { color: var(--oomlo-text); }
.oomlo-ally__step-n { width: 40px; height: 40px; border-radius: 50%; display: grid; place-content: center; border: 1px solid var(--oomlo-border-input); font: 600 var(--oomlo-body)/1 var(--oomlo-font-display); color: var(--oomlo-text); }

/* S5 · chips, text only. */
.oomlo-ally__chips { list-style: none; margin: 0 0 var(--oomlo-space-5); padding: 0; display: flex; flex-wrap: wrap; gap: var(--oomlo-space-2); }
.oomlo-ally__chip { padding: 6px 14px; border: 1px solid var(--oomlo-border-input); border-radius: var(--oomlo-radius-pill); font-size: var(--oomlo-small); color: var(--oomlo-text); }

/* S6 · the standard. */
.oomlo-ally__standard { font-size: var(--oomlo-body-l); color: var(--oomlo-text-2); margin: 0; }

/* S7 · two brands (on --oomlo-surface: the reversed signal bar keeps 3.55:1 there). */
.oomlo-ally__brands { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: var(--oomlo-space-7); align-items: center; }
.oomlo-ally__brand-marks { display: flex; align-items: center; gap: var(--oomlo-space-6); flex-wrap: wrap; }
.oomlo-ally__ring { color: var(--oomlo-text); line-height: 0; }
.oomlo-ally__ring-svg { width: 56px; height: auto; }
.oomlo-ally__brands-text p { color: var(--oomlo-text-2); }
.oomlo-ally__links { display: flex; flex-wrap: wrap; gap: var(--oomlo-space-5); margin: var(--oomlo-space-5) 0 0; }
.oomlo-ally__link { color: var(--oomlo-text); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; font-weight: 600; }
.oomlo-ally__link:hover, .oomlo-ally__link:focus-visible { color: var(--oomlo-text); text-decoration-thickness: 2px; }

/* S8 · close. */
.oomlo-ally__close { padding: var(--oomlo-space-9) 0; background: var(--oomlo-bg); text-align: center; }
.oomlo-ally__close .oomlo-ally__intro { margin: 0 auto; }
.oomlo-ally__small { margin: var(--oomlo-space-5) 0 0; font-size: var(--oomlo-small); }

/* Legal line, just above the site footer. */
.oomlo-ally__legal { margin: 0; padding: var(--oomlo-space-5) 0; font-size: var(--oomlo-caption); color: var(--oomlo-text-2); border-top: 1px solid var(--oomlo-border); }

.oomlo-ally__notice { padding: var(--oomlo-space-3); border: 1px dashed var(--oomlo-border-input); color: var(--oomlo-text-2); font-size: var(--oomlo-small); }

@media (max-width: 899px) {
	.oomlo-ally__grid3, .oomlo-ally__grid2, .oomlo-ally__brands { grid-template-columns: minmax(0, 1fr); }
	.oomlo-ally__brands { gap: var(--oomlo-space-5); }
}
@media (max-width: 767px) {
	.oomlo-ally__hero { padding: var(--oomlo-space-7) 0 var(--oomlo-space-7); }
	.oomlo-ally__section { padding: var(--oomlo-space-7) 0; }
	.oomlo-ally__section--air, .oomlo-ally__close { padding: var(--oomlo-space-8) 0; }
	.oomlo-ally__actions .oomlo-btn { flex: 1 1 100%; justify-content: center; }
}
