/* Meekia additions on top of the Framo consulting-2 theme */

.brand-wordmark { font-family: var(--font-heading); font-size: 1.75rem; font-weight: 700; letter-spacing: -.045em; line-height: 1; }
.brand-wordmark b { color: var(--color-primary); }

/* Channel marquee (text instead of client logos) */
.custom-channel { font-family: var(--font-heading); font-size: 1.375rem; font-weight: 600; letter-spacing: -.02em; white-space: nowrap; }

/* Seven service panels in the hero: keep closed labels readable */
.custom-levers { --sb-active-grow: 4.2; }
@media (min-width: 768px) { .custom-levers .sliding-box-label { font-size: 1.0625rem; } }

/* Tags that are links */
.custom-tags--links a { color: inherit; text-decoration: none; }
.custom-tags--links li:has(a:hover) { color: var(--color-primary-ink); border-color: var(--color-primary); }

/* Initials avatar (no stock faces on testimonials) */
.custom-initials { display: grid; place-items: center; width: 3rem; aspect-ratio: 1; border-radius: 9999px; font-family: var(--font-heading); font-weight: 600; color: var(--color-on-primary); background: var(--color-primary); }
.size-14.custom-initials { width: 3.5rem; font-size: 1.375rem; }

/* FAQ: native details/summary */
.custom-faq { border-top: 1px solid var(--color-border); }
.custom-faq-item { border-bottom: 1px solid var(--color-border); }
.custom-faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding: 1.5rem 0; cursor: pointer; list-style: none; font-family: var(--font-heading); font-size: clamp(1.125rem, 1rem + .4vw, 1.375rem); font-weight: 600; line-height: 1.3; color: var(--color-text); }
.custom-faq-item summary::-webkit-details-marker { display: none; }
.custom-faq-item summary i { flex: none; display: grid; place-items: center; width: 2.25rem; aspect-ratio: 1; border: 1px solid var(--color-border); border-radius: 9999px; font-size: 1rem; transition: transform .25s, background-color .25s, color .25s; }
.custom-faq-item[open] summary i { transform: rotate(45deg); color: var(--color-on-primary); background: var(--color-primary); border-color: var(--color-primary); }
.custom-faq-item summary:hover { color: var(--color-primary-ink); }
.custom-faq-a { padding: 0 3.5rem 1.5rem 0; font-size: 1.0625rem; line-height: 1.7; color: var(--color-text-soft); }
.custom-faq-a p { margin: 0; }

/* Form success state */
.form-success { display: grid; justify-items: start; gap: .5rem; padding: 1rem 0; outline: none; }
.form-success[hidden] { display: none; }
.form-success-icon { font-size: 3rem; line-height: 1; color: var(--color-primary-ink); }
.form-success-title { margin: 0; font-family: var(--font-heading); font-size: 1.75rem; font-weight: 600; color: var(--color-text); }
.form-success-text { margin: 0; max-width: 36rem; font-size: 1.0625rem; line-height: 1.6; color: var(--color-text-soft); }
.form-check-label a { position: relative; z-index: 1; }
.custom-form-card--bordered { border: 1px solid var(--color-border); box-shadow: none; }

/* Article body extras */
.custom-prose h3 { margin-top: 1.75em; font-size: 1.375rem; color: var(--color-text); }
.custom-prose ol { padding-left: 1.25em; list-style: decimal; }
.custom-prose a { color: var(--color-primary-ink); text-decoration: underline; }

.custom-map { display: block; width: 100%; height: clamp(18rem, 14rem + 12vw, 26rem); border: 0; border-radius: var(--radius-xl); }

/* Floating WhatsApp button */
.wa-float { position: fixed; left: 1.5rem; bottom: 1.5rem; z-index: 60; display: grid; place-items: center; width: 3.5rem; aspect-ratio: 1; font-size: 1.875rem; color: #fff; background: #25d366; border-radius: 9999px; box-shadow: 0 12px 30px -10px rgb(0 0 0 / .45); transition: transform .2s; }
.wa-float:hover { transform: scale(1.06); }

/* Landing page */
.lp-header { position: absolute; inset: 0 0 auto; z-index: 20; padding-block: 1.25rem; color: #fff; }
.lp-header .brand-wordmark { font-size: 2rem; }
.lp-hero .custom-ph-panel { padding-top: clamp(6.5rem, 5rem + 4vw, 8.5rem); }
.lp-quotes .custom-quote { border: 1px solid var(--color-border); }
.lp-btn-light { color: var(--color-primary-ink); background: #fff; }
.lp-btn-light:hover { color: var(--custom-deep); background: #fff; }
.lp-btn-ghost { color: #fff; border-color: rgb(255 255 255 / .6); }
.lp-btn-ghost:hover { color: var(--custom-deep); background: #fff; }
.lp-footer { padding-block: 2.5rem 6rem; border-top: 1px solid var(--color-border); }
.lp-footer a { text-decoration: underline; }
.lp-sticky { position: fixed; left: 1rem; right: 1rem; bottom: 1rem; z-index: 60; justify-content: center; box-shadow: 0 14px 30px -12px rgb(0 0 0 / .5); }
@media (min-width: 768px) { .lp-sticky { display: none; } .lp-footer { padding-bottom: 2.5rem; } }

.skip-link { position: absolute; left: 1rem; top: -4rem; z-index: 100; padding: .75rem 1rem; color: #fff; background: var(--custom-deep); border-radius: .5rem; }
.skip-link:focus { top: 1rem; }
