/* SEO Captain additions on top of the Framo SEO Agency theme. */

/* Brand */
.brand { display: inline-flex; align-items: center; gap: .625rem; text-decoration: none; color: var(--color-text); }
.brand-mark { width: 2.125rem; height: 2.125rem; flex: none; }
.brand-name { font-family: var(--font-heading); font-size: 1.3125rem; font-weight: 500; letter-spacing: -.02em; white-space: nowrap; }
.brand-name b { font-weight: 700; }
.site-footer .brand { color: #fff; }

/* Page hero title: smaller than the home display */
.custom-ph-title { font-size: clamp(2.5rem, 1.6rem + 3.6vw, 4.75rem); line-height: 1.04; }

/* Small print */
.sc-disclaimer { padding: 0 clamp(.5rem, 2vw, 1.5rem) .25rem; font-size: .875rem; line-height: 1.5; color: var(--color-text-muted); }
.sc-optional { font-weight: 400; color: var(--color-text-muted); }
.sc-hint { margin-top: .375rem; font-size: .875rem; color: var(--color-text-muted); }

/* Forms */
.custom-contact-form { display: grid; gap: 1.25rem; align-content: start; }
@media (width >= 640px) { .custom-contact-form { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.custom-contact-form .form-select { width: 100%; appearance: auto; }
.sc-consent { align-items: flex-start; font-size: .9375rem; line-height: 1.5; color: var(--color-text-soft); }
.sc-consent .form-check-input { margin-top: .2rem; flex: none; }
.sc-consent a { color: var(--color-text); text-decoration: underline; text-underline-offset: .2em; }
.sc-form-foot { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; align-items: center; }
.sc-form-foot p { font-size: .9375rem; color: var(--color-text-muted); }

/* JS success state */
.sc-success { display: grid; gap: 1rem; justify-items: start; padding: clamp(1rem, 3vw, 2rem) 0; outline: none; }
.sc-success[hidden] { display: none; }
.sc-success p { font-size: 1.0625rem; line-height: 1.6; color: var(--color-text-soft); }
.sc-success-icon { display: grid; place-items: center; width: 3.25rem; aspect-ratio: 1; font-size: 1.5rem; color: var(--custom-ink); background: var(--custom-tone-3); border-radius: 50%; }
.sc-ref { font-size: .9375rem !important; }

/* Prose pages (blog posts, legal) */
.sc-prose { padding-bottom: var(--section-space); }
.sc-prose .article-body > table { width: 100%; border-collapse: collapse; font-size: 1rem; }
.sc-prose .article-body th, .sc-prose .article-body td { padding: .75rem .5rem; text-align: left; border-bottom: 1px solid var(--color-border); vertical-align: top; }
.sc-prose .article-body th { color: var(--color-text); font-weight: 600; }
.sc-post-cover { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--custom-radius); }
.sc-post-meta { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; font-size: .9375rem; color: var(--color-text-soft); }
.sc-callout { padding: clamp(1.5rem, 3vw, 2.25rem); color: var(--custom-ink); background: var(--custom-tone-3); border-radius: var(--custom-radius-card); }
.sc-callout p { color: inherit; }
.sc-callout .btn { margin-top: 1rem; }

/* Service pages: two-column list */
.sc-cols { display: grid; gap: var(--custom-gutter); }
@media (width >= 900px) { .sc-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.sc-list { display: grid; gap: .875rem; font-size: 1.0625rem; line-height: 1.55; color: var(--color-text-soft); }
.sc-list li { display: flex; gap: .75rem; }
.sc-list i { flex: none; margin-top: .2rem; color: var(--color-text); }
.sc-card-title { margin-bottom: 1.25rem; font-family: var(--font-heading); font-size: 1.5rem; font-weight: 600; letter-spacing: -.015em; }
.sc-price-from { display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: center; justify-content: space-between; }
.sc-price-from .custom-figure { --figure-size: clamp(2.5rem, 1.8rem + 2.6vw, 4rem); }

/* Landing page */
.lp-top { position: absolute; inset: 0 0 auto; z-index: 10; padding-block: 1rem; }
.lp-top .container { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.lp-top-actions { display: flex; align-items: center; gap: 1.25rem; }
.lp-phone { display: inline-flex; gap: .5rem; align-items: center; font-weight: 600; color: var(--color-text); text-decoration: none; }
@media (width < 640px) { .lp-phone span { display: none; } .lp-top .btn { display: none; } }
.lp-hero { padding-block: clamp(6.5rem, 12vw, 9rem) var(--section-space); }
.lp-hero-grid { display: grid; gap: clamp(2.5rem, 5vw, 4rem); align-items: start; }
@media (width >= 1024px) { .lp-hero-grid { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); } }
.lp-hero .custom-head { max-width: 40rem; margin-bottom: 0; }
.lp-form-card { --card-pad: clamp(1.5rem, 3vw, 2.25rem); box-shadow: 0 2rem 4rem -2rem color-mix(in srgb, var(--color-primary-base) 30%, transparent); scroll-margin-top: 1.5rem; }
.lp-form-card .custom-contact-form { grid-template-columns: minmax(0, 1fr); }
.lp-trust { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; font-size: .9375rem; font-weight: 500; color: var(--color-text-soft); }
.lp-trust li { display: inline-flex; gap: .5rem; align-items: center; }
.lp-trust i { color: var(--color-text); }
.lp-cta-band { display: grid; gap: 1.5rem; justify-items: center; text-align: center; }
.lp-foot { padding-block: 2.5rem; font-size: .9375rem; color: var(--color-text-soft); border-top: 1px solid var(--color-border); }
.lp-foot .container { display: flex; flex-wrap: wrap; gap: 1rem 2rem; justify-content: space-between; }
.lp-foot a { color: inherit; }
.lp-sticky { position: fixed; inset: auto 1rem 1rem; z-index: 20; display: none; }
@media (width < 1024px) { .lp-sticky { display: block; } .lp-sticky .btn { width: 100%; justify-content: center; } }

/* Blog index */
.sc-post-grid { display: grid; gap: var(--custom-gutter); grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); }
.sc-post-excerpt { font-size: 1rem; line-height: 1.55; color: var(--color-text-soft); }
