/* Searchline component layer — adapted from Base Layer and kept intentionally lightweight. */
:root {
  --bl-blue: var(--global-palette1, #2563FF);
  --bl-indigo: var(--global-palette2, #7C3AED);
  --bl-violet: var(--global-palette2, #7C3AED);
  --bl-ink: var(--global-palette3, #0D1117);
  --bl-copy: var(--global-palette5, #667085);
  --bl-line: var(--global-palette7, #E4E7EC);
  --bl-canvas: var(--global-palette8, #F2F4F7);
  --bl-white: var(--global-palette9, #fff);
  --bl-radius: 1rem;
  --bl-shadow: 0 18px 50px rgb(15 23 42 / 8%);
  --bl-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --sl-heading-font: "Space Grotesk", Inter, ui-sans-serif, system-ui, sans-serif;
  --sl-mint: var(--global-palette10, #22D3A6);
}

.searchline-theme,
.editor-styles-wrapper { font-family: var(--bl-font); color: var(--bl-ink); }
.searchline-theme :where(h1,h2,h3,h4,h5,h6) { font-family: var(--sl-heading-font); letter-spacing: -.025em; }
.searchline-theme :where(p,li) { color: var(--bl-copy); }
.searchline-theme a { text-underline-offset: .18em; }
.searchline-theme :focus-visible { outline: 3px solid color-mix(in srgb, var(--bl-blue), white 25%); outline-offset: 3px; }

/* Kadence remains fully responsible for the header/footer builders. */
.site-header-item .button,
.header-button { border-radius: .65rem; font-weight: 700; }
.site-footer { border-top: 1px solid var(--bl-line); }

.bl-section { padding-block: clamp(4rem, 8vw, 7rem); }
.bl-section + .bl-section { margin-block-start: 0; }
.bl-muted { background: var(--bl-canvas); }
.bl-dark { background: var(--bl-ink); color: var(--bl-white); }
.bl-dark :where(h1,h2,h3,h4,p) { color: var(--bl-white); }
.bl-gradient {
  background:
    radial-gradient(circle at 90% 15%, rgb(124 58 237 / 16%), transparent 35%),
    radial-gradient(circle at 10% 90%, rgb(37 99 235 / 14%), transparent 35%),
    linear-gradient(135deg, #f8fafc 0%, #eef2ff 55%, #faf5ff 100%);
}
.bl-heading { margin-bottom: clamp(2rem, 4vw, 3.5rem); text-align: center; }
.bl-eyebrow,.bl-kicker,.bl-number {
  color: var(--bl-blue) !important; font-size: .78rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase;
}
.bl-hero h1 { max-width: 12ch; }
.bl-hero p:not(.bl-eyebrow) { max-width: 56ch; }
.bl-visual-placeholder {
  min-height: clamp(19rem, 42vw, 34rem); display: grid; place-items: center; padding: 2rem; text-align: center;
  background: linear-gradient(145deg, var(--bl-blue), var(--bl-violet)); border: 1px solid rgb(255 255 255 / 50%);
  border-radius: clamp(1rem, 3vw, 2rem); box-shadow: 0 30px 80px rgb(79 70 229 / 25%); transform: rotate(1deg);
}
.bl-visual-placeholder p { color: rgb(255 255 255 / 85%); font-weight: 700; }

.wp-block-button__link,.button,button,input[type="submit"],input[type="button"] {
  border-radius: .65rem; font-weight: 750; transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.wp-block-button__link:hover,.button:hover,button:hover,input[type="submit"]:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgb(37 99 235 / 18%); }

.bl-card-grid,.bl-service-grid,.bl-pricing { gap: 1.25rem; }
.bl-card,.bl-proof-card,.bl-quote-card,.bl-price-card {
  background: var(--bl-white); border: 1px solid var(--bl-line); border-radius: var(--bl-radius); padding: clamp(1.4rem, 3vw, 2rem);
  box-shadow: 0 1px 2px rgb(15 23 42 / 3%); transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.bl-card:hover,.bl-proof-card:hover,.bl-case-card:hover { transform: translateY(-4px); border-color: color-mix(in srgb, var(--bl-blue), white 65%); box-shadow: var(--bl-shadow); }
.bl-icon,.bl-step {
  display: inline-grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: .75rem;
  background: color-mix(in srgb, var(--bl-blue), white 90%); color: var(--bl-blue) !important; font-weight: 850;
}
.bl-number { font-size: 1.05rem; }
.bl-icon svg { width: 1.35rem; height: 1.35rem; stroke-linecap: round; stroke-linejoin: round; }

.bl-snap-strip { gap: 1rem; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: inline mandatory; padding: .35rem .15rem 1rem; scrollbar-width: thin; }
.bl-snap-card { flex: 1 0 min(82vw, 23rem); scroll-snap-align: start; padding: 1.75rem; background: var(--bl-white); border: 1px solid var(--bl-line); border-radius: var(--bl-radius); }
.bl-proof-grid { gap: 1.25rem; }
.bl-stars { color: #f59e0b !important; letter-spacing: .14em; }
.bl-proof-card blockquote,.bl-quote-card blockquote { border: 0; margin: 0; padding: 0; }
.bl-proof-card blockquote p,.bl-quote-card blockquote p { color: var(--bl-ink); font-size: clamp(1.15rem, 2vw, 1.4rem); font-weight: 650; }
.bl-proof-card cite,.bl-quote-card cite { color: var(--bl-copy); font-size: .9rem; }

.bl-stats { text-align: center; }
.bl-stats h2 { color: var(--bl-white); font-size: clamp(2rem, 5vw, 3.5rem); margin-bottom: .25rem; }
.bl-stats p { color: rgb(255 255 255 / 70%); }
.bl-process { padding-block: clamp(3rem, 7vw, 6rem); }
.bl-process .wp-block-columns { position: relative; gap: 2rem; }
.bl-process .wp-block-columns::before { content: ""; position: absolute; top: 1.35rem; left: 8%; right: 8%; border-top: 1px dashed var(--bl-line); z-index: -1; }

.bl-price-card { position: relative; }
.bl-price-card.bl-featured { border: 2px solid var(--bl-indigo); box-shadow: 0 20px 50px rgb(79 70 229 / 15%); }
.bl-price { font-size: clamp(2rem, 4vw, 3rem); }
.bl-price-card ul { padding-left: 1.2rem; margin-block: 1.5rem; }
.bl-price-card li { margin-block: .65rem; }
.bl-badge { display: inline-block; margin: 0; padding: .35rem .7rem; border-radius: 99rem; background: #eef2ff; color: var(--bl-indigo) !important; font-size: .75rem; font-weight: 800; text-transform: uppercase; }

.bl-faq { padding-block: clamp(3rem, 7vw, 6rem); }
.bl-faq details { border-bottom: 1px solid var(--bl-line); }
.bl-faq summary { cursor: pointer; list-style: none; padding: 1.4rem 2.5rem 1.4rem 0; position: relative; color: var(--bl-ink); font-size: 1.08rem; font-weight: 750; }
.bl-faq summary::-webkit-details-marker { display: none; }
.bl-faq summary::after { content: "+"; position: absolute; right: .25rem; top: 1.1rem; color: var(--bl-blue); font-size: 1.6rem; font-weight: 400; }
.bl-faq details[open] summary::after { content: "−"; }
.bl-faq details > div { padding: 0 2.5rem 1.4rem 0; }

.bl-cta { padding: clamp(3rem, 7vw, 5.5rem) clamp(1.25rem, 6vw, 5rem); border: 1px solid var(--bl-line); border-radius: clamp(1rem, 3vw, 2rem); overflow: hidden; }
.bl-cta h2 { font-size: clamp(2rem, 5vw, 3.6rem); }
.bl-logo-wall { padding-block: 3rem; }
.bl-logos { gap: clamp(1.5rem, 5vw, 4rem); }
.bl-logos span { color: #64748b; font-size: .9rem; font-weight: 850; letter-spacing: .06em; }
.bl-case-card { padding: .75rem; border-radius: var(--bl-radius); transition: transform .25s ease, box-shadow .25s ease; }
.bl-case-image { min-height: clamp(15rem, 28vw, 24rem); margin-bottom: 1.5rem; border-radius: var(--bl-radius); background: linear-gradient(135deg, #dbeafe, #a5b4fc); }
.bl-case-image-alt { background: linear-gradient(135deg, #ede9fe, #f5d0fe); }

/* Forms: native, popular plugins, and WooCommerce inputs share one visual layer. */
.searchline-theme :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea) {
  width: 100%; min-height: 3rem; padding: .75rem .9rem; color: var(--bl-ink); background: var(--bl-white);
  border: 1px solid #cbd5e1; border-radius: .55rem; box-shadow: 0 1px 2px rgb(15 23 42 / 3%);
}
.searchline-theme textarea { min-height: 9rem; }
.searchline-theme :where(input,select,textarea):focus { border-color: var(--bl-blue); box-shadow: 0 0 0 3px rgb(37 99 235 / 14%); outline: 0; }
.searchline-theme :where(label,.wpforms-field-label,.gfield_label) { color: var(--bl-ink); font-weight: 700; }

/* Blog/archive presentation on top of Kadence's semantic templates. */
.blog .content-wrap,.archive .content-wrap,.search .content-wrap { gap: 1.5rem; }
.blog .loop-entry,.archive .loop-entry,.search .loop-entry { overflow: hidden; border: 1px solid var(--bl-line); border-radius: var(--bl-radius); box-shadow: 0 4px 18px rgb(15 23 42 / 5%); }
.entry.loop-entry .entry-content-wrap { padding: clamp(1.25rem, 3vw, 2rem); }
.single-post .entry-content { font-size: clamp(1rem, 1vw + .7rem, 1.15rem); }
.single-post .entry-content > :where(p,ul,ol,blockquote) { max-width: 46rem; }
.single-post .entry-content blockquote { border-left: 4px solid var(--bl-blue); background: var(--bl-canvas); padding: 1.25rem 1.5rem; border-radius: 0 .75rem .75rem 0; }
.single-post .entry-content :where(img,.wp-block-image) { border-radius: .75rem; }

/* AI Writer's native article components. */
.aiwriter-article,.aiwriter-content { color: var(--bl-copy); line-height: 1.75; }
.aiwriter-article :where(h2,h3,h4),.aiwriter-content :where(h2,h3,h4) { color: var(--bl-ink); scroll-margin-top: 6rem; }
.aiwriter-summary,.aiwriter-key-takeaways,.aiwriter-callout,.aiwriter-note,.aiwriter-faq {
  margin-block: 2rem; padding: clamp(1.2rem, 3vw, 2rem); border: 1px solid var(--bl-line); border-radius: var(--bl-radius); background: var(--bl-canvas);
}
.aiwriter-callout { border-left: 4px solid var(--bl-blue); }
.aiwriter-toc { margin-block: 2rem; padding: 1.5rem; border: 1px solid var(--bl-line); border-radius: var(--bl-radius); }
.aiwriter-toc a { text-decoration: none; }
.aiwriter-source,.aiwriter-citation { font-size: .875rem; color: #64748b; }

/* WooCommerce-ready: harmless until the plugin adds its classes. */
.woocommerce ul.products { gap: 1.5rem; }
.woocommerce ul.products li.product { padding: 1rem; border: 1px solid var(--bl-line); border-radius: var(--bl-radius); transition: transform .25s ease, box-shadow .25s ease; }
.woocommerce ul.products li.product:hover { transform: translateY(-4px); box-shadow: var(--bl-shadow); }
.woocommerce ul.products li.product img { border-radius: .7rem; }
.woocommerce span.onsale { min-width: auto; min-height: auto; padding: .4rem .65rem; background: var(--bl-violet); border-radius: 99rem; line-height: 1; }
.woocommerce div.product .price,.woocommerce ul.products li.product .price { color: var(--bl-indigo); font-weight: 800; }
.woocommerce .quantity .qty { width: 5rem; }
.woocommerce-message,.woocommerce-info { border-top-color: var(--bl-blue); background: var(--bl-canvas); }

@media (max-width: 781px) {
  .bl-section { padding-inline: 1.1rem; }
  .bl-process .wp-block-columns::before { display: none; }
  .bl-stats { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.5rem; }
  .bl-pricing .bl-featured { order: -1; }
  .bl-hero h1 { max-width: none; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}


/* Searchline identity + restrained Kadence polish. */
:root {
  --sl-charcoal: var(--global-palette3, #0D1117);
  --sl-blue: var(--global-palette1, #2563FF);
  --sl-violet: var(--global-palette2, #7C3AED);
  --sl-mint: var(--global-palette10, #22D3A6);
  --sl-gray: var(--global-palette8, #F2F4F7);
  --sl-border: var(--global-palette7, #E4E7EC);
}
.searchline-theme { text-rendering: optimizeLegibility; }
.searchline-theme :where(h1,h2,h3,h4,h5,h6) { letter-spacing: -.03em; text-wrap: balance; }
.searchline-theme :where(p,li) { text-wrap: pretty; }
.searchline-theme .wp-block-button__link,
.searchline-theme .button,
.searchline-theme .header-button { border-radius: .6rem; }
.searchline-theme .wp-block-button__link:hover,
.searchline-theme .button:hover { transform: translateY(-1px); }

/* Native Kadence sticky header is enabled by default; this only polishes the fixed state. */
#masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start) > .site-header-row-container-inner {
  background: rgb(255 255 255 / 94%);
  border-bottom: 1px solid var(--sl-border);
  box-shadow: 0 10px 30px rgb(13 17 23 / 7%);
}
@supports (backdrop-filter: blur(14px)) {
  #masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start) > .site-header-row-container-inner {
    background: rgb(255 255 255 / 86%);
    backdrop-filter: saturate(150%) blur(14px);
  }
}

/* Optional Searchline utilities for custom HTML/SVG blocks. */
.sl-gradient-text {
  background: linear-gradient(100deg, var(--sl-blue), var(--sl-violet) 65%, var(--sl-mint));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.sl-icon {
  display: inline-grid; place-items: center; width: 2.75rem; height: 2.75rem;
  color: var(--sl-blue); background: color-mix(in srgb, var(--sl-blue), white 91%);
  border: 1px solid color-mix(in srgb, var(--sl-blue), white 78%); border-radius: .75rem;
}
.sl-icon svg { width: 1.35rem; height: 1.35rem; stroke-linecap: round; stroke-linejoin: round; }
.sl-dark-panel {
  color: white; background: var(--sl-charcoal); border: 1px solid rgb(255 255 255 / 8%);
  border-radius: clamp(1rem, 2vw, 1.5rem); box-shadow: 0 28px 70px rgb(13 17 23 / 18%);
}
.sl-dark-panel :where(h1,h2,h3,h4,p) { color: inherit; }
.sl-data-line { color: var(--sl-blue); }
.sl-data-positive { color: var(--sl-mint); }

@media (max-width: 767px) {
  #masthead .kadence-sticky-header.item-is-fixed:not(.item-at-start) > .site-header-row-container-inner {
    box-shadow: 0 8px 24px rgb(13 17 23 / 8%);
  }
}

/* =========================================================
   Searchline Editorial — single post reading experience
   ========================================================= */
.sl-reading-progress {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 99999;
  height: 3px;
  pointer-events: none;
}
.sl-reading-progress span {
  display: block;
  width: 100%;
  height: 100%;
  transform: scaleX(0);
  transform-origin: left center;
  background: linear-gradient(90deg, var(--sl-blue), var(--sl-violet) 68%, var(--sl-mint));
  will-change: transform;
}

.searchline-editorial-post #primary { background: #fff; }
.searchline-editorial-post .content-container.site-container {
  max-width: 1180px;
  padding-inline: clamp(1.1rem, 3vw, 2rem);
}
.searchline-editorial-post .content-wrap { display: block; }
.searchline-editorial-post .single-entry {
  max-width: 900px;
  margin-inline: auto;
  background: transparent;
  box-shadow: none;
}
.searchline-editorial-post .single-entry .entry-content-wrap {
  padding: clamp(2rem, 5vw, 4.5rem) 0 clamp(3rem, 7vw, 6rem);
}
.searchline-editorial-post .entry-header {
  max-width: 850px;
  margin: 0 auto clamp(1.5rem, 4vw, 2.8rem);
  text-align: left;
}
.searchline-editorial-post .entry-header .entry-title {
  max-width: 18ch;
  margin-bottom: 1rem;
  font-size: clamp(2.4rem, 6vw, 5.25rem);
  line-height: .98;
  letter-spacing: -.055em;
}
.searchline-editorial-post .entry-header .entry-meta {
  color: #667085;
  font-size: .92rem;
}
.searchline-editorial-post .entry-header .entry-meta a { color: var(--sl-charcoal); }
.sl-article-kicker {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem;
  max-width: 850px;
  margin: 0 auto 1.2rem;
  color: #667085;
  font-size: .78rem;
  font-weight: 750;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.sl-article-kicker a { color: inherit; text-decoration: none; }
.sl-article-kicker a:hover { color: var(--sl-blue); }
.sl-article-kicker-dot {
  width: 3px;
  height: 3px;
  border-radius: 999px;
  background: #98A2B3;
}
.searchline-editorial-post .article-post-thumbnail {
  max-width: 1080px;
  margin: 0 auto clamp(2.5rem, 6vw, 5rem);
}
.searchline-editorial-post .article-post-thumbnail img,
.searchline-editorial-post .post-top-featured {
  width: 100%;
  border-radius: clamp(.8rem, 2vw, 1.4rem);
  box-shadow: 0 20px 55px rgb(13 17 23 / 9%);
}
.searchline-editorial-post .entry-content {
  max-width: 72ch;
  margin-inline: auto;
  color: #344054;
  font-size: clamp(1.05rem, .35vw + 1rem, 1.18rem);
  line-height: 1.78;
}
.searchline-editorial-post .entry-content > :where(p, ul, ol, blockquote, pre, table, details) {
  max-width: 66ch;
  margin-inline: 0;
}
.searchline-editorial-post .entry-content > p { margin-bottom: 1.35em; }
.searchline-editorial-post .entry-content :where(h2,h3,h4) {
  color: var(--sl-charcoal);
  scroll-margin-top: 7rem;
  text-wrap: balance;
}
.searchline-editorial-post .entry-content h2 {
  margin-top: clamp(3.2rem, 7vw, 5.2rem);
  margin-bottom: 1rem;
  font-size: clamp(1.8rem, 3.6vw, 2.65rem);
  line-height: 1.08;
  letter-spacing: -.04em;
}
.searchline-editorial-post .entry-content h3 {
  margin-top: 2.5rem;
  margin-bottom: .8rem;
  font-size: clamp(1.35rem, 2.4vw, 1.8rem);
  line-height: 1.18;
}
.searchline-editorial-post .entry-content :where(ul,ol) { padding-left: 1.35em; }
.searchline-editorial-post .entry-content li { margin-block: .5rem; }
.searchline-editorial-post .entry-content a:not(.wp-block-button__link) {
  color: #174CCF;
  text-decoration-thickness: .08em;
  text-decoration-color: rgb(37 99 255 / 35%);
}
.searchline-editorial-post .entry-content a:not(.wp-block-button__link):hover { text-decoration-color: currentColor; }
.searchline-editorial-post .entry-content blockquote {
  max-width: 62ch;
  margin-block: 2.4rem;
  padding: 1.35rem 1.5rem 1.35rem 1.7rem;
  border: 0;
  border-left: 4px solid var(--sl-blue);
  border-radius: 0 .85rem .85rem 0;
  background: var(--sl-gray);
  color: var(--sl-charcoal);
  font-size: 1.08em;
}
.searchline-editorial-post .entry-content :where(.wp-block-image, .wp-block-gallery, .wp-block-video, figure.alignwide) {
  margin-block: clamp(2rem, 5vw, 3.5rem);
}
.searchline-editorial-post .entry-content figure img { border-radius: .85rem; }
.searchline-editorial-post .entry-content figcaption {
  margin-top: .7rem;
  color: #667085;
  font-size: .82rem;
  text-align: left;
}
.searchline-editorial-post .entry-content table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border: 1px solid var(--sl-border);
  border-radius: .8rem;
  font-size: .94em;
}
.searchline-editorial-post .entry-content th {
  background: var(--sl-gray);
  color: var(--sl-charcoal);
  font-weight: 750;
}
.searchline-editorial-post .entry-content :where(th,td) { padding: .8rem 1rem; border-bottom: 1px solid var(--sl-border); }
.searchline-editorial-post .entry-content tr:last-child td { border-bottom: 0; }
.searchline-editorial-post .entry-content code:not(pre code) {
  padding: .12em .35em;
  border: 1px solid var(--sl-border);
  border-radius: .3rem;
  background: var(--sl-gray);
  color: var(--sl-charcoal);
  font-size: .9em;
}
.searchline-editorial-post .entry-content pre {
  overflow-x: auto;
  padding: 1.3rem;
  border-radius: .85rem;
  background: #0D1117;
  color: #E6EDF3;
}

/* AI Writer / editorial modules inherit the same readable measure. */
.searchline-editorial-post :where(.aiwriter-summary,.aiwriter-key-takeaways,.aiwriter-callout,.aiwriter-note,.aiwriter-faq,.aiwriter-toc) {
  max-width: 66ch;
  margin: 2.25rem 0;
  border-color: var(--sl-border);
  background: #F8FAFC;
}
.searchline-editorial-post .aiwriter-toc { border-left: 3px solid var(--sl-blue); }

.sl-article-share {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  max-width: 66ch;
  margin: 4rem auto 0;
  padding: 1.25rem 1.35rem;
  border: 1px solid var(--sl-border);
  border-radius: 1rem;
  background: #F8FAFC;
}
.sl-article-share strong,
.sl-article-share span { display: block; }
.sl-article-share strong { color: var(--sl-charcoal); font-family: var(--sl-heading-font); }
.sl-article-share span { margin-top: .18rem; color: #667085; font-size: .86rem; }
.sl-share-actions { display: flex; flex-wrap: wrap; gap: .55rem; }
.sl-share-actions :where(a,button) {
  appearance: none;
  min-height: 2.35rem;
  padding: .55rem .8rem;
  border: 1px solid var(--sl-border);
  border-radius: .55rem;
  background: #fff;
  color: var(--sl-charcoal);
  font: inherit;
  font-size: .82rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
}
.sl-share-actions :where(a,button):hover { border-color: var(--sl-blue); color: var(--sl-blue); }

.searchline-editorial-post .entry-author,
.searchline-editorial-post .post-navigation-wrap,
.searchline-editorial-post .entry-related {
  max-width: 900px;
  margin-inline: auto;
}
.searchline-editorial-post .entry-author {
  margin-top: 1rem;
  padding: clamp(1.5rem, 4vw, 2.2rem);
  border: 1px solid var(--sl-border);
  border-radius: 1rem;
  background: #fff;
}
.searchline-editorial-post .post-navigation { border-top: 1px solid var(--sl-border); border-bottom: 1px solid var(--sl-border); }
.searchline-editorial-post .entry-related { padding-top: clamp(3rem, 7vw, 5rem); }
.searchline-editorial-post .entry-related-title { font-size: clamp(1.8rem, 3vw, 2.4rem); }
.searchline-editorial-post .entry-related .entry { border: 1px solid var(--sl-border); border-radius: 1rem; overflow: hidden; }

/* Blog index: editorial cards rather than default theme tiles. */
.blog .site-main,
.archive .site-main { padding-bottom: clamp(4rem, 7vw, 7rem); }
.blog .page-title,
.archive .page-title { font-size: clamp(2.5rem, 6vw, 4.6rem); letter-spacing: -.05em; }
.blog .loop-entry,
.archive .loop-entry,
.search .loop-entry {
  border-color: var(--sl-border);
  box-shadow: none;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.blog .loop-entry:hover,
.archive .loop-entry:hover,
.search .loop-entry:hover {
  transform: translateY(-3px);
  border-color: rgb(37 99 255 / 28%);
  box-shadow: 0 16px 40px rgb(13 17 23 / 7%);
}
.blog .loop-entry .entry-title,
.archive .loop-entry .entry-title { letter-spacing: -.035em; }

@media (max-width: 767px) {
  .searchline-editorial-post .single-entry .entry-content-wrap { padding-top: 1.6rem; }
  .searchline-editorial-post .entry-header .entry-title { font-size: clamp(2.2rem, 12vw, 3.5rem); }
  .searchline-editorial-post .entry-content { font-size: 1.03rem; line-height: 1.72; }
  .sl-article-share { align-items: flex-start; flex-direction: column; }
  .sl-share-actions { width: 100%; }
  .sl-share-actions :where(a,button) { flex: 1 1 auto; text-align: center; }
  .searchline-editorial-post .entry-content .wp-block-table { overflow-x: auto; }
}

/* =========================================================
   Searchline starter site pages
   ========================================================= */
.sl-page { overflow: clip; }
.sl-white { background: #fff; }
.sl-soft { background: var(--sl-gray); }
.sl-section { padding-block: clamp(4.5rem, 8vw, 7.5rem); }
.sl-service-hero { padding-block: clamp(5rem, 10vw, 9rem); }
.sl-hero-main {
  position: relative;
  overflow: hidden;
  padding-block: clamp(5rem, 10vw, 9rem);
  color: #fff;
  background:
    radial-gradient(circle at 80% 35%, rgb(124 58 237 / 20%), transparent 26rem),
    radial-gradient(circle at 22% 85%, rgb(37 99 255 / 16%), transparent 24rem),
    #0D1117;
}
.sl-hero-main::after {
  content: "";
  position: absolute;
  inset: auto -8% -9rem 38%;
  height: 18rem;
  opacity: .45;
  background: repeating-radial-gradient(ellipse at center, transparent 0 13px, rgb(37 99 255 / 18%) 14px 15px);
  transform: rotate(-10deg);
  pointer-events: none;
}
.sl-hero-main .wp-block-columns { position: relative; z-index: 1; }
.sl-hero-main h1,
.sl-service-hero h1 {
  max-width: 12ch;
  margin: .25rem 0 1.25rem;
  font-size: clamp(3.25rem, 7.5vw, 6.8rem);
  line-height: .94;
  letter-spacing: -.065em;
}
.sl-service-hero h1 { max-width: 13ch; color: var(--sl-charcoal); }
.sl-hero-main .sl-hero-copy,
.sl-hero-copy-light {
  max-width: 58ch;
  font-size: clamp(1.1rem, 1.4vw, 1.3rem);
  line-height: 1.6;
}
.sl-hero-main .sl-hero-copy { color: rgb(255 255 255 / 72%); }
.sl-hero-copy-light { color: #667085; }
.sl-eyebrow,
.sl-eyebrow-dark {
  margin-bottom: .8rem;
  font-size: .77rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.sl-eyebrow { color: var(--sl-blue) !important; }
.sl-eyebrow-dark { color: #8DB1FF !important; }
.sl-hero-main .wp-block-button.is-style-outline .wp-block-button__link {
  border-color: rgb(255 255 255 / 32%);
  color: #fff;
}
.sl-performance-ui {
  position: relative;
  padding: clamp(1.2rem, 3vw, 2rem);
  border: 1px solid rgb(255 255 255 / 10%);
  border-radius: 1.4rem;
  background: linear-gradient(180deg, rgb(255 255 255 / 7%), rgb(255 255 255 / 3%));
  box-shadow: 0 35px 100px rgb(0 0 0 / 35%);
  transform: perspective(1000px) rotateY(-5deg) rotateX(2deg);
}
.sl-ui-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:.7rem; }
.sl-ui-metrics > div { padding:.85rem; border:1px solid rgb(255 255 255 / 8%); border-radius:.8rem; background:rgb(255 255 255 / 4%); }
.sl-ui-metrics span,.sl-ui-metrics strong { display:block; }
.sl-ui-metrics span { color:rgb(255 255 255 / 55%); font-size:.72rem; }
.sl-ui-metrics strong { margin-top:.25rem; color:#fff; font-size:.92rem; }
.sl-ui-metrics i { display:block; width:58%; height:2px; margin-top:.7rem; background:linear-gradient(90deg,var(--sl-blue),var(--sl-violet)); }
.sl-ui-caption { color:rgb(255 255 255 / 42%); font-size:.7rem; }

.sl-section-head { max-width: 860px; margin-bottom: clamp(2.5rem, 5vw, 4rem); text-align: center; }
.sl-section-head-left { margin-left: 0; text-align: left; }
.sl-section-head h2,
.sl-native-head h2 {
  margin-bottom: 1rem;
  font-size: clamp(2.3rem, 5vw, 4.5rem);
  line-height: 1;
}
.sl-section-head p:last-child,.sl-native-head > p:last-child { max-width: 62ch; margin-inline:auto; }
.sl-native-head { max-width: 820px; margin: 0 auto clamp(2.5rem,5vw,4rem); text-align:center; }
.sl-on-dark :where(h2,p) { color:#fff; }

.sl-service-grid { gap: 1.2rem; }
.sl-service-panel {
  padding: clamp(1.4rem, 3vw, 2rem);
  border: 1px solid var(--sl-border);
  border-radius: 1.15rem;
  background: #fff;
}
.sl-service-panel h3 { margin-top: 1.25rem; }
.sl-service-icon {
  display:inline-grid; place-items:center; width:3rem; height:3rem; color:var(--sl-blue);
  border:1px solid rgb(37 99 255 / 15%); border-radius:.85rem; background:rgb(37 99 255 / 7%);
}
.sl-service-icon-violet { color:var(--sl-violet); border-color:rgb(124 58 237 / 15%); background:rgb(124 58 237 / 7%); }
.sl-service-icon-mint { color:#0F9F7D; border-color:rgb(34 211 166 / 18%); background:rgb(34 211 166 / 9%); }
.sl-service-icon svg { width:1.45rem; height:1.45rem; }
.sl-text-link a { font-weight:750; text-decoration:none; }

.sl-build-rank-grow { gap: clamp(2rem, 6vw, 6rem); }
.sl-brg-steps { display:grid; gap:.8rem; }
.sl-brg-steps > div { display:grid; grid-template-columns:3rem 7rem 1fr; align-items:center; gap:1rem; padding:1.05rem 0; border-bottom:1px solid var(--sl-border); }
.sl-brg-steps b { color:var(--sl-blue); font-size:.78rem; }
.sl-brg-steps strong { color:var(--sl-charcoal); font-family:var(--sl-heading-font); font-size:1.45rem; }
.sl-brg-steps span { color:#667085; }

.sl-process-grid { gap: 1.25rem; }
.sl-process-grid .wp-block-column { position:relative; padding-top:1.2rem; border-top:1px solid var(--sl-border); }
.sl-step-num { display:inline-block; margin-bottom:1.25rem; color:var(--sl-blue); font-weight:800; font-size:.82rem; }

.sl-dark-section,
.sl-final-cta,
.sl-contact-section { color:#fff; background:#0D1117; }
.sl-dark-section :where(h2,h3,strong),
.sl-final-cta :where(h2,h3,strong),
.sl-contact-section :where(h2,h3,strong,label) { color:#fff; }
.sl-dark-section p,.sl-final-cta p,.sl-contact-section p { color:rgb(255 255 255 / 68%); }
.sl-outcome-list { display:grid; gap:.65rem; }
.sl-outcome-list > div { padding:1rem 1.1rem; border:1px solid rgb(255 255 255 / 9%); border-radius:.8rem; background:rgb(255 255 255 / 4%); }
.sl-outcome-list span,.sl-outcome-list strong { display:block; }
.sl-outcome-list span { margin-bottom:.2rem; color:#8DB1FF; font-size:.74rem; text-transform:uppercase; letter-spacing:.08em; }

.sl-faq { max-width: 850px; }
.sl-faq details { border-bottom:1px solid var(--sl-border); }
.sl-faq summary { position:relative; cursor:pointer; padding:1.35rem 2.5rem 1.35rem 0; color:var(--sl-charcoal); font-weight:750; list-style:none; }
.sl-faq summary::-webkit-details-marker { display:none; }
.sl-faq summary::after { content:"+"; position:absolute; right:.2rem; color:var(--sl-blue); font-size:1.5rem; }
.sl-faq details[open] summary::after { content:"−"; }
.sl-faq details p { padding:0 2.5rem 1.35rem 0; }
.sl-final-cta { padding-block: clamp(4rem, 8vw, 7rem); }
.sl-final-cta .alignwide { display:flex; flex-wrap:wrap; align-items:end; justify-content:space-between; gap:1.5rem 3rem; }
.sl-final-cta h2 { max-width:12ch; margin:0; font-size:clamp(2.5rem,5.5vw,4.8rem); line-height:.98; }
.sl-final-cta p { max-width:48ch; }

.sl-search-stack { display:grid; gap:.8rem; }
.sl-search-stack > div { display:grid; grid-template-columns:2.5rem 6rem 1fr; gap:1rem; align-items:center; padding:1rem; border:1px solid var(--sl-border); border-radius:.8rem; background:#fff; }
.sl-search-stack b { color:var(--sl-blue); font-size:.78rem; }.sl-search-stack span { color:#667085; font-size:.78rem; text-transform:uppercase; }.sl-search-stack strong { color:var(--sl-charcoal); }
.sl-method-grid { gap:1rem; flex-wrap:wrap !important; }
.sl-method-card { min-width:min(100%,14rem); padding:1.35rem; border:1px solid var(--sl-border); border-radius:1rem; background:#fff; }
.sl-method-card > span { color:var(--sl-blue); font-size:.78rem; font-weight:800; }.sl-method-card h3 { margin-top:.8rem; }
.sl-ai-balance { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.sl-ai-balance > div { padding:1.4rem; border:1px solid rgb(255 255 255 / 10%); border-radius:1rem; background:rgb(255 255 255 / 4%); }
.sl-ai-balance span { color:#8DB1FF; font-size:.78rem; font-weight:800; text-transform:uppercase; letter-spacing:.08em; }
.sl-check-columns { gap:1.2rem; }.sl-check-columns .wp-block-column { padding:1.4rem; border-top:2px solid var(--sl-blue); background:#F8FAFC; }
.sl-check-columns li,.sl-platform-card li { margin:.45rem 0; }

.sl-link-visual { position:relative; min-height:340px; }
.sl-link-visual svg { position:absolute; inset:0; width:100%; height:100%; }
.sl-node { position:absolute; z-index:2; padding:.55rem .75rem; border:1px solid rgb(255 255 255 / 12%); border-radius:.65rem; background:#161B22; color:#fff; font-size:.75rem; }
.sl-node-center { left:50%; top:50%; transform:translate(-50%,-50%); padding:.8rem 1rem; background:linear-gradient(135deg,var(--sl-blue),var(--sl-violet)); font-weight:800; }
.sl-node.n1{left:4%;top:10%}.sl-node.n2{right:2%;top:8%}.sl-node.n3{left:3%;bottom:8%}.sl-node.n4{right:1%;bottom:7%}
.sl-large-list { list-style:none; padding:0; margin:0; }
.sl-large-list li { padding:1rem 0; border-bottom:1px solid var(--sl-border); color:var(--sl-charcoal); font-family:var(--sl-heading-font); font-size:1.25rem; }

.sl-browser-mock { overflow:hidden; border:1px solid #DDE3EA; border-radius:1rem; background:#fff; box-shadow:0 25px 60px rgb(13 17 23 / 12%); transform:rotate(1deg); }
.sl-browser-bar { display:flex; align-items:center; gap:.38rem; padding:.75rem; background:#F8FAFC; border-bottom:1px solid var(--sl-border); }
.sl-browser-bar i { width:.55rem;height:.55rem;border-radius:50%;background:#CBD5E1; }.sl-browser-bar span{margin-left:.6rem;color:#667085;font-size:.7rem;}
.sl-browser-body { padding:1.2rem; }.sl-browser-nav{height:.55rem;width:42%;background:#E7ECF2;border-radius:99rem;margin-bottom:1.6rem}.sl-browser-hero b{display:block;width:70%;height:1.3rem;background:#0D1117;border-radius:.3rem}.sl-browser-hero span{display:block;width:90%;height:.55rem;background:#DCE3EB;border-radius:99rem;margin-top:.55rem}.sl-browser-hero span:last-child{width:72%}.sl-browser-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin-top:1.8rem}.sl-browser-cards i{display:block;height:5rem;border-radius:.6rem;background:linear-gradient(135deg,#EEF4FF,#F4F0FF)}
.sl-platform-grid { gap:1rem; }.sl-platform-card { padding:1.6rem; border:1px solid var(--sl-border); border-radius:1rem; }.sl-platform-card > span{display:inline-grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:.65rem;background:var(--sl-charcoal);color:#fff;font-weight:800;}.sl-platform-card h3{margin-top:1rem;}
.sl-dark-features { gap:1rem; }.sl-dark-features .wp-block-column { padding:1.3rem; border:1px solid rgb(255 255 255 / 10%); border-radius:.9rem; background:rgb(255 255 255 / 4%); }.sl-dark-features strong{font-family:var(--sl-heading-font);font-size:1.2rem;}
.sl-guarantee { display:grid; grid-template-columns:1.35fr .65fr; gap:clamp(2rem,6vw,6rem); align-items:center; }
.sl-guarantee-badge { justify-self:end; width:min(100%,280px); aspect-ratio:1; display:flex; flex-direction:column; align-items:center; justify-content:center; padding:2rem; text-align:center; border:1px solid rgb(37 99 255 / 22%); border-radius:50%; background:radial-gradient(circle at 30% 20%,rgb(37 99 255 / 10%),transparent 50%),#F8FAFC; }.sl-guarantee-badge span{color:var(--sl-blue);font-size:.74rem;text-transform:uppercase;letter-spacing:.1em}.sl-guarantee-badge strong{margin:.7rem 0;color:var(--sl-charcoal);font-family:var(--sl-heading-font);font-size:1.55rem;line-height:1.05}.sl-guarantee-badge small{color:#667085;}

.sl-philosophy-card { padding:clamp(1.5rem,4vw,2.5rem); border-radius:1.2rem; background:#0D1117; color:#fff; }.sl-philosophy-card span{color:#8DB1FF;font-size:.76rem;text-transform:uppercase;letter-spacing:.09em}.sl-philosophy-card strong{display:block;margin:1rem 0;color:#fff;font-family:var(--sl-heading-font);font-size:clamp(2rem,4vw,3.3rem);line-height:1}.sl-philosophy-card svg{width:100%;margin-top:1rem;}
.sl-principles { gap:1rem; }.sl-principles .wp-block-column{padding-top:1.1rem;border-top:1px solid var(--sl-border)}.sl-principles span{color:var(--sl-blue);font-size:.78rem;font-weight:800;}.sl-principles h3{margin-top:1.1rem;}
.sl-contact-section { padding-block:clamp(4.5rem,8vw,7.5rem); }
.sl-contact-note { margin-top:2rem; padding-top:1rem; border-top:1px solid rgb(255 255 255 / 12%); }.sl-contact-note strong,.sl-contact-note span{display:block}.sl-contact-note span{margin-top:.2rem;color:rgb(255 255 255 / 55%);font-size:.88rem;}
.sl-contact-form { padding:clamp(1.2rem,3vw,2rem); border:1px solid rgb(255 255 255 / 10%); border-radius:1rem; background:rgb(255 255 255 / 5%); }.sl-form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.sl-contact-form label{display:block;margin-bottom:1rem;font-size:.85rem}.sl-contact-form :where(input,select,textarea){margin-top:.45rem;background:#fff!important;color:#0D1117!important}.sl-contact-form button{min-height:3rem;padding:.75rem 1.1rem;border:0;border-radius:.6rem;background:var(--sl-blue);color:#fff;font:inherit;font-weight:800;cursor:pointer}.sl-form-note{margin:.8rem 0 0!important;font-size:.75rem!important;}

.sl-blog-intro { padding-block:clamp(4rem,8vw,7rem); }
.sl-blog-intro h1 { max-width:16ch; font-size:clamp(2.8rem,6vw,5.2rem); line-height:.98; }

@media (max-width: 900px) {
  .sl-performance-ui { transform:none; }
  .sl-brg-steps > div,.sl-search-stack > div { grid-template-columns:2.5rem 1fr; }.sl-brg-steps span,.sl-search-stack strong { grid-column:2; }
  .sl-guarantee { grid-template-columns:1fr; }.sl-guarantee-badge{justify-self:start;}
}
@media (max-width: 767px) {
  .sl-hero-main,.sl-service-hero,.sl-section { padding-inline:1.1rem; }
  .sl-ui-metrics,.sl-ai-balance,.sl-form-row { grid-template-columns:1fr; }
  .sl-ui-metrics { gap:.45rem; }
  .sl-hero-main h1,.sl-service-hero h1 { font-size:clamp(3rem,15vw,4.7rem); }
  .sl-final-cta .alignwide { display:block; }.sl-final-cta .wp-block-buttons{margin-top:1.5rem;}
  .sl-node { font-size:.66rem; }.sl-link-visual{min-height:300px;}
}

/* =========================================================
   Searchline 1.3 — starter-page layout normalization
   Kadence gives .alignwide/.alignfull viewport-breaking negative margins.
   The starter site also wrapped these elements in an overflow-clipped shell,
   which could visibly crop the left side on normal desktop viewports.
   ========================================================= */
.sl-page {
  overflow: visible;
  width: 100%;
  max-width: none;
}

/* Keep every Searchline content rail intentionally centered, regardless of
   Kadence's current page content width. Full-bleed backgrounds remain full. */
.entry-content .sl-page .wp-block-columns.alignwide,
.entry-content .sl-page .wp-block-group.alignwide,
.entry-content .sl-page > .alignwide,
.sl-page .wp-block-columns.alignwide,
.sl-page .wp-block-group.alignwide {
  width: min(calc(100% - 3rem), 1200px);
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0;
}

/* Preserve intentionally narrower rails. */
.entry-content .sl-page .sl-section-head.alignwide,
.sl-page .sl-section-head.alignwide { max-width: 860px; }
.entry-content .sl-page .sl-faq.alignwide,
.sl-page .sl-faq.alignwide { max-width: 850px; }
.entry-content .sl-page .sl-hero-narrow.alignwide,
.sl-page .sl-hero-narrow.alignwide { max-width: 1200px; }

/* Decorative overflow belongs to the component, never the whole page shell. */
.sl-hero-main { overflow: hidden; }

@media (max-width: 767px) {
  .entry-content .sl-page .wp-block-columns.alignwide,
  .entry-content .sl-page .wp-block-group.alignwide,
  .entry-content .sl-page > .alignwide,
  .sl-page .wp-block-columns.alignwide,
  .sl-page .wp-block-group.alignwide {
    width: min(calc(100% - 2rem), 1200px);
  }
}

/* =========================================================
   Base Layer 1.2 — native Gutenberg composition layer.
   These selectors style normal core blocks; sizing/spacing is also serialized
   directly in block attributes so the editor remains accurate.
   ========================================================= */
.sl-native-section { box-sizing:border-box; }
.sl-native-section > .wp-block-columns:last-child,
.sl-native-section > .wp-block-group:last-child { margin-bottom:0; }

.sl-hero-main {
  position:relative;
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 82% 28%, rgba(124,58,237,.18), transparent 28rem),
    radial-gradient(circle at 20% 92%, rgba(37,99,255,.13), transparent 26rem),
    #0D1117;
}
.sl-hero-main::after{
  content:"";
  position:absolute;inset:auto -12% -11rem 45%;height:18rem;opacity:.28;
  background:repeating-radial-gradient(ellipse at center,transparent 0 13px,rgba(37,99,255,.16) 14px 15px);
  transform:rotate(-8deg);pointer-events:none
}
.sl-hero-main > *{position:relative;z-index:1}
.sl-hero-title{max-width:11ch!important}
.sl-service-title{max-width:13ch!important}
.sl-lead{max-width:58ch}
.sl-eyebrow{font-size:.78rem!important;font-weight:800!important;letter-spacing:.12em;text-transform:uppercase;color:#2563FF!important}
.sl-eyebrow-dark{font-size:.78rem!important;font-weight:800!important;letter-spacing:.12em;text-transform:uppercase;color:#9DB8FF!important}

.sl-card {
  height:100%;
  border:1px solid #E4E7EC;
  border-radius:18px;
  background:#fff;
  box-shadow:0 1px 2px rgba(13,17,23,.02);
}
.sl-card:hover{box-shadow:0 14px 34px rgba(13,17,23,.06)}
.sl-stack{display:flex!important;flex-direction:column!important;gap:14px!important}
.sl-stack-card{
  width:100%;
  border:1px solid #E4E7EC;
  border-radius:16px;
  background:#fff;
}
.sl-dark-card{
  border:1px solid rgba(255,255,255,.11);
  border-radius:16px;
  background:rgba(255,255,255,.045);
}
.sl-step{
  color:#2563FF!important;font-size:.78rem!important;font-weight:800!important;
  letter-spacing:.08em;text-transform:uppercase
}
.sl-section-intro{max-width:780px}
.sl-section-intro-center{max-width:820px;text-align:center;margin-left:auto!important;margin-right:auto!important}
.sl-text-muted{color:#667085!important}
.sl-dark-muted{color:rgba(255,255,255,.70)!important}
.sl-faq .wp-block-details{border-top:1px solid #E4E7EC;padding:1.15rem 0}
.sl-faq .wp-block-details:last-child{border-bottom:1px solid #E4E7EC}
.sl-faq summary{font-family:"Space Grotesk",Inter,sans-serif;font-weight:700;cursor:pointer}
.sl-faq .wp-block-details p{color:#667085;max-width:70ch}
.sl-platform-mark{
  display:flex!important;align-items:center!important;justify-content:center!important;
  width:44px;height:44px;border-radius:12px;background:#EEF4FF;color:#2563FF!important;
  font-weight:800!important
}
.sl-native-contact-field{
  border:1px solid #E4E7EC;border-radius:12px;background:#fff;color:#667085!important
}
@media(max-width:781px){
  .sl-hero-title,.sl-service-title{max-width:none!important}
}


/* Base Layer safe Gutenberg layout patch */
.sl-native-section{box-sizing:border-box;padding:clamp(64px,8vw,112px) clamp(20px,4vw,40px)}
.sl-hero-main,.sl-service-hero{padding-top:clamp(76px,9vw,132px);padding-bottom:clamp(76px,9vw,132px)}
.sl-section-inner{display:flex;flex-direction:column;gap:clamp(32px,5vw,56px)}
.sl-section-intro{max-width:780px}
.sl-section-intro-center{max-width:820px;margin-left:auto!important;margin-right:auto!important;text-align:center}
.sl-hero-columns,.sl-two-columns{gap:clamp(28px,4vw,64px)!important}
.sl-center{align-items:center!important}
.sl-three-cards{gap:20px!important}.sl-four-cards{gap:16px!important}
.sl-card{height:100%;padding:clamp(22px,2.4vw,34px)!important;border:1px solid #E4E7EC;border-radius:18px;background:#fff}
.sl-stack{display:flex!important;flex-direction:column!important;gap:14px!important}
.sl-stack-card,.sl-dark-card{padding:20px 22px!important;border-radius:16px}
.sl-stack-card{border:1px solid #E4E7EC;background:#fff}
.sl-dark-card{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045)}
.sl-hero-system{padding:clamp(24px,3vw,36px)!important}
.sl-card-title{margin-top:0!important;margin-bottom:.6rem!important}
.sl-step{margin:0 0 .4rem!important}
.sl-native-contact-field{padding:15px 16px!important;border:1px solid #E4E7EC;border-radius:12px;background:#fff;color:#667085!important}
.sl-faq .wp-block-details{padding:18px 0;border-top:1px solid #E4E7EC}
.sl-faq .wp-block-details:last-child{border-bottom:1px solid #E4E7EC}
@media(max-width:781px){
 .sl-hero-columns,.sl-two-columns,.sl-three-cards,.sl-four-cards{gap:18px!important}
 .sl-hero-columns>.wp-block-column,.sl-two-columns>.wp-block-column{flex-basis:100%!important}
}

/* Base Layer 1.7 Icon Library */
.wp-block-base-layer-icon.bl-icon-shell,
.bl-icon-shell{
  box-sizing:border-box;
  line-height:0;
  vertical-align:middle;
}
.bl-icon-glyph{
  display:block;
  flex:0 0 auto;
}
.bl-card > .wp-block-base-layer-icon,
.sl-card > .wp-block-base-layer-icon{
  margin-bottom:1rem;
}
.bl-icon-editor-preview{
  padding:6px 0;
}




/* Base Layer 2.6 — full-section seam normalization.
   Gutenberg/global block-gap must never create 1–2px strips between intentional
   full-width section backgrounds. Interior spacing belongs to section padding. */
.entry-content > .wp-block-group.alignfull.sl-native-section,
.entry-content > .wp-block-group.alignfull.sl-section,
.entry-content > .wp-block-group.alignfull.sl-native-section + .wp-block-group.alignfull.sl-native-section,
.entry-content > .wp-block-group.alignfull.sl-section + .wp-block-group.alignfull.sl-section {
  margin-top:0!important;
  margin-bottom:0!important;
}
.wp-block-group.alignfull.sl-native-section + .wp-block-group.alignfull.sl-native-section { margin-block-start:0!important; }

/* Corrected inline Base Layer SVG rendering. */
.bl-icon-glyph .bl-icon-svg{display:block;width:100%;height:100%;overflow:visible;color:inherit;fill:currentColor}

/* Alternate section vocabularies for generated sites. Avoid repeated card-grid monotony. */
.sl-feature-tiles .sl-card{border:0;border-top:2px solid #2563FF;border-radius:0;background:transparent;box-shadow:none;padding:24px 4px 8px!important}
.sl-feature-tiles>.wp-block-column:nth-child(2) .sl-card{border-top-color:#7C3AED}
.sl-feature-tiles>.wp-block-column:nth-child(3) .sl-card{border-top-color:#22D3A6}
.sl-feature-tiles>.wp-block-column:nth-child(4) .sl-card{border-top-color:#0D1117}
.sl-feature-tiles .sl-card:hover{box-shadow:none;transform:none}
.sl-feature-tiles .wp-block-base-layer-icon{margin-bottom:1.25rem!important}

.sl-process-editorial .sl-process-card{border:0;border-top:1px solid #D0D5DD;border-radius:0;background:transparent;box-shadow:none;padding:22px 0 4px!important}
.sl-process-editorial .sl-process-card:hover{box-shadow:none;transform:none}
.sl-process-editorial .sl-step{margin-bottom:1rem!important;color:#667085!important}

.sl-principles-plain .sl-principle-card{border:0;border-top:2px solid #2563FF;border-radius:0;background:transparent;box-shadow:none;padding:24px 0 8px!important}
.sl-principles-plain>.wp-block-column:nth-child(2) .sl-principle-card{border-top-color:#7C3AED}
.sl-principles-plain>.wp-block-column:nth-child(3) .sl-principle-card{border-top-color:#22D3A6}
.sl-principles-plain>.wp-block-column:nth-child(4) .sl-principle-card{border-top-color:#98A2B3}
.sl-principles-plain .sl-principle-card:hover{box-shadow:none;transform:none}


/* Base Layer 2.9 — generated page edge normalization.
   Native Kadence content.css gives every .single-content .wp-block-group a
   global-md bottom margin. Generated full-width sections manage their own
   vertical padding, so that default creates visible white strips, especially
   between a final dark CTA and the footer. */
.page .single-content > .wp-block-group.alignfull.bl-section,
.page .entry-content > .wp-block-group.alignfull.bl-section,
.page .single-content > .wp-block-group.alignfull.sl-section,
.page .entry-content > .wp-block-group.alignfull.sl-section,
.page .single-content > .wp-block-group.alignfull.sl-native-section,
.page .entry-content > .wp-block-group.alignfull.sl-native-section{
  margin-top:0!important;
  margin-bottom:0!important;
}
.page .single-content > .wp-block-group.alignfull.bl-section + .wp-block-group.alignfull.bl-section,
.page .entry-content > .wp-block-group.alignfull.bl-section + .wp-block-group.alignfull.bl-section{
  margin-block-start:0!important;
}
.page .single-content > .wp-block-group.alignfull.bl-section:last-child,
.page .entry-content > .wp-block-group.alignfull.bl-section:last-child{
  margin-bottom:0!important;
}

/* Base Layer 3.0 — header-to-first-section seam.
 * Generated full-width pages should begin immediately after the header shell.
 * Section padding supplies intentional whitespace; the theme must not add an
 * extra anonymous white band between navigation and the first section. */
.page.content-width-fullwidth #inner-wrap,
.page.content-vertical-padding-hide #inner-wrap,
.page.content-width-fullwidth #primary,
.page.content-vertical-padding-hide #primary {
  margin-top: 0;
  padding-top: 0;
}
.page .entry-content > .wp-block-group.alignfull.bl-section:first-child,
.page .single-content > .wp-block-group.alignfull.bl-section:first-child {
  margin-top: 0 !important;
}


/* Base Layer 3.1 — zero anonymous vertical chrome around generated pages.
 * The generated section itself owns intentional spacing. The theme shell does not. */
.page.content-width-fullwidth #wrapper,
.page.content-vertical-padding-hide #wrapper,
.page.content-width-fullwidth #inner-wrap,
.page.content-vertical-padding-hide #inner-wrap,
.page.content-width-fullwidth #primary,
.page.content-vertical-padding-hide #primary,
.page.content-width-fullwidth .content-area,
.page.content-vertical-padding-hide .content-area,
.page.content-width-fullwidth .site-main,
.page.content-vertical-padding-hide .site-main,
.page.content-width-fullwidth .page-content,
.page.content-vertical-padding-hide .page-content {
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:0!important;
  padding-bottom:0;
}

/* The first generated full-width section starts immediately after the header. */
.page .entry-content,
.page .single-content {
  margin-top:0!important;
}
.page .entry-content > .wp-block-group.alignfull:first-child,
.page .single-content > .wp-block-group.alignfull:first-child {
  margin-top:0!important;
}

/* The last generated full-width section must touch the footer unless its own
   block styles intentionally create spacing. */
.page .entry-content > .wp-block-group.alignfull:last-child,
.page .single-content > .wp-block-group.alignfull:last-child {
  margin-bottom:0!important;
}

/* Floating-header preset keeps only horizontal gutter. */
.bl-header-floating #masthead .site-main-header-wrap {
  padding-block:0!important;
}


/* Base Layer 3.4 — hard stop for the final anonymous page/footer gap.
 * Full-width generated pages own all of their spacing inside their sections.
 * No article/content wrapper is allowed to create an extra white strip after
 * the final block. */
body.page.content-width-fullwidth.content-vertical-padding-hide #inner-wrap,
body.page.content-width-fullwidth.content-vertical-padding-hide #primary,
body.page.content-width-fullwidth.content-vertical-padding-hide .content-area,
body.page.content-width-fullwidth.content-vertical-padding-hide article.single-entry,
body.page.content-width-fullwidth.content-vertical-padding-hide .entry-content-wrap,
body.page.content-width-fullwidth.content-vertical-padding-hide .entry-content,
body.page.content-width-fullwidth.content-vertical-padding-hide .single-content {
  margin-bottom:0!important;
  padding-bottom:0!important;
}
body.page.content-width-fullwidth.content-vertical-padding-hide .single-content > :last-child,
body.page.content-width-fullwidth.content-vertical-padding-hide .entry-content > :last-child {
  margin-bottom:0!important;
}
body.page.content-width-fullwidth.content-vertical-padding-hide #colophon {
  margin-top:0!important;
}
body.page.content-width-fullwidth.content-vertical-padding-hide #inner-wrap + #colophon {
  margin-top:0!important;
}


/* Base Layer 3.6 native-first pattern polish ----------------------------- */
.bl-hero-editorial {
	padding-block: clamp(72px,10vw,150px);
}
.bl-hero-editorial h1 {
	font-size: clamp(3rem,7vw,7.4rem);
	line-height: .92;
	letter-spacing: -.055em;
	max-width: 10ch;
	margin-bottom: 0;
}
.bl-logo-marquee-section {
	padding-block: clamp(28px,4vw,54px);
}
.bl-logo-marquee p {
	font-weight: 700;
	letter-spacing: .04em;
	white-space: nowrap;
	opacity: .58;
}
.bl-services-editorial .bl-editorial-row {
	padding-block: clamp(20px,3vw,34px);
}
.bl-services-editorial .bl-editorial-row:first-child {
	padding-top: 0;
}
.bl-services-editorial .wp-block-separator {
	opacity: .14;
	margin-block: 0;
}
.bl-process-timeline .wp-block-column {
	position: relative;
	padding-top: 18px;
	border-top: 2px solid color-mix(in srgb,var(--global-palette1,#2563ff) 28%,transparent);
}
.bl-process-timeline .bl-step {
	font-size: .8rem;
	letter-spacing: .08em;
	font-weight: 700;
	opacity: .62;
}
.bl-contact-split .wp-block-columns {
	gap: clamp(34px,7vw,92px);
}
.bl-gallery-section .wp-block-columns {
	gap: clamp(34px,6vw,80px);
}


/* ==========================================================================
   Base Layer 3.9 — Visual Execution Primitives
   Small CSS vocabulary that lets AI translate art direction into Gutenberg
   without inventing large amounts of site-specific CSS.
   ========================================================================== */

/* Safe positioning context for decorative visual primitives. */
.bl-art-directed {
	position: relative;
	isolation: isolate;
	overflow: hidden;
}
.bl-art-directed > * {
	position: relative;
	z-index: 2;
}

/* 01 — Subtle technical grid. */
.bl-bg-grid {
	background-image:
		linear-gradient(color-mix(in srgb, currentColor 6%, transparent) 1px, transparent 1px),
		linear-gradient(90deg, color-mix(in srgb, currentColor 6%, transparent) 1px, transparent 1px);
	background-size: 42px 42px;
}

/* 02 — Dot field. */
.bl-bg-dots {
	background-image: radial-gradient(circle, color-mix(in srgb, currentColor 18%, transparent) 1.2px, transparent 1.3px);
	background-size: 18px 18px;
}

/* 03 — Multi-radial mesh. */
.bl-bg-mesh {
	background-image:
		radial-gradient(circle at 12% 18%, color-mix(in srgb, var(--global-palette1,#2563ff) 24%, transparent), transparent 34%),
		radial-gradient(circle at 88% 12%, color-mix(in srgb, var(--global-palette2,#7c3aed) 20%, transparent), transparent 32%),
		radial-gradient(circle at 72% 86%, color-mix(in srgb, var(--global-palette4,#22d3a6) 14%, transparent), transparent 32%);
	background-repeat: no-repeat;
}

/* 04–06 — Localized glows. */
.bl-glow-blue::after,
.bl-glow-violet::after,
.bl-glow-mint::after {
	content:"";
	position:absolute;
	z-index:0;
	width:min(54vw,760px);
	aspect-ratio:1;
	border-radius:50%;
	filter:blur(54px);
	opacity:.34;
	pointer-events:none;
}
.bl-glow-blue::after {
	right:-22%;
	top:2%;
	background:radial-gradient(circle,var(--global-palette1,#2563ff),transparent 68%);
}
.bl-glow-violet::after {
	left:-24%;
	bottom:-36%;
	background:radial-gradient(circle,var(--global-palette2,#7c3aed),transparent 68%);
}
.bl-glow-mint::after {
	right:-16%;
	bottom:-36%;
	background:radial-gradient(circle,var(--global-palette4,#22d3a6),transparent 68%);
}

/* 07 — Premium gradient border surface. */
.bl-gradient-border {
	--bl-surface: color-mix(in srgb, var(--global-palette9,#fff) 94%, transparent);
	border:1px solid transparent;
	border-radius:22px;
	background:
		linear-gradient(var(--bl-surface),var(--bl-surface)) padding-box,
		linear-gradient(135deg,
			color-mix(in srgb,var(--global-palette1,#2563ff) 78%,#fff),
			color-mix(in srgb,var(--global-palette2,#7c3aed) 72%,#fff),
			color-mix(in srgb,var(--global-palette4,#22d3a6) 65%,#fff)
		) border-box;
}

/* 08 — Glass panel. */
.bl-glass-panel {
	background:color-mix(in srgb,var(--global-palette9,#fff) 78%,transparent);
	border:1px solid color-mix(in srgb,var(--global-palette9,#fff) 46%,transparent);
	backdrop-filter:blur(18px) saturate(135%);
	-webkit-backdrop-filter:blur(18px) saturate(135%);
	box-shadow:0 22px 70px rgba(13,17,23,.12);
	border-radius:22px;
}

/* 09 — Browser / app window frame. */
.bl-browser-frame {
	--bl-browser-bg: color-mix(in srgb,var(--global-palette3,#0d1117) 97%,#fff);
	position:relative;
	overflow:hidden;
	padding-top:42px;
	border-radius:18px;
	background:var(--bl-browser-bg);
	border:1px solid color-mix(in srgb,var(--global-palette1,#2563ff) 28%,rgba(255,255,255,.12));
	box-shadow:0 28px 90px rgba(0,0,0,.28);
}
.bl-browser-frame::before {
	content:"";
	position:absolute;
	z-index:3;
	inset:0 0 auto 0;
	height:42px;
	background:
		radial-gradient(circle at 22px 21px,#ff6b6b 0 4px,transparent 4.5px),
		radial-gradient(circle at 40px 21px,#ffd166 0 4px,transparent 4.5px),
		radial-gradient(circle at 58px 21px,#22d3a6 0 4px,transparent 4.5px),
		linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.015));
	border-bottom:1px solid rgba(255,255,255,.08);
	pointer-events:none;
}
.bl-browser-frame > * {
	position:relative;
	z-index:2;
}

/* 10 — Dashboard / product visual perspective. */
.bl-dashboard-frame {
	transform:perspective(1200px) rotateY(-4deg) rotateX(1.5deg);
	transform-origin:center;
	box-shadow:28px 38px 100px rgba(0,0,0,.22);
}

/* 11–12 — Controlled visual tilts. */
.bl-visual-tilt-left {
	transform:rotate(-2.2deg);
	transform-origin:center;
}
.bl-visual-tilt-right {
	transform:rotate(2.2deg);
	transform-origin:center;
}

/* 13 — Floating micro-surface / badge. */
.bl-floating-badge {
	display:inline-flex;
	align-items:center;
	gap:8px;
	width:max-content;
	max-width:100%;
	padding:8px 11px;
	border-radius:999px;
	background:color-mix(in srgb,var(--global-palette9,#fff) 88%,transparent);
	border:1px solid color-mix(in srgb,var(--global-palette1,#2563ff) 25%,transparent);
	box-shadow:0 10px 32px rgba(13,17,23,.12);
	backdrop-filter:blur(12px);
	-webkit-backdrop-filter:blur(12px);
	font-size:.82rem;
	font-weight:650;
}

/* 14 — Intentional overlap between sections/visuals. */
.bl-overlap-up {
	position:relative;
	z-index:4;
	margin-top:clamp(-82px,-6vw,-42px)!important;
}

/* 15 — Oversized display typography. */
.bl-display-xl {
	font-size:clamp(3.2rem,7.8vw,8rem)!important;
	line-height:.9!important;
	letter-spacing:-.06em!important;
	text-wrap:balance;
}

/* 16 — Brand-gradient text accent. */
.bl-gradient-text {
	background:linear-gradient(100deg,var(--global-palette1,#2563ff),var(--global-palette2,#7c3aed) 52%,var(--global-palette4,#22d3a6));
	-webkit-background-clip:text;
	background-clip:text;
	color:transparent!important;
	-webkit-text-fill-color:transparent;
}

/* 17 — Small premium eyebrow pill. */
.bl-kicker-pill {
	display:inline-flex;
	width:max-content;
	max-width:100%;
	padding:6px 10px;
	border-radius:999px;
	background:color-mix(in srgb,var(--global-palette1,#2563ff) 9%,transparent);
	border:1px solid color-mix(in srgb,var(--global-palette1,#2563ff) 22%,transparent);
	font-size:.76rem;
	font-weight:750;
	letter-spacing:.08em;
	text-transform:uppercase;
}

/* 18 — Compact trust/benefit strip. */
.bl-feature-strip {
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:clamp(14px,2vw,28px);
}
.bl-feature-strip > * {
	min-width:0;
}

/* 19 — Soft transition into next section without adding real spacing. */
.bl-transition-bottom {
	position:relative;
}
.bl-transition-bottom::before {
	content:"";
	position:absolute;
	z-index:1;
	left:0;
	right:0;
	bottom:-1px;
	height:clamp(46px,7vw,96px);
	background:linear-gradient(to bottom,transparent,var(--bl-transition-color,var(--global-palette9,#fff)));
	pointer-events:none;
}
.bl-transition-bottom > * {
	position:relative;
	z-index:2;
}

/* 20 — Visual placeholder usable while composing; generated sites should
   replace this with a real/generated image or product composition. */
.bl-media-stage {
	min-height:clamp(300px,42vw,560px);
	border-radius:24px;
	background:
		linear-gradient(135deg,color-mix(in srgb,var(--global-palette1,#2563ff) 18%,transparent),transparent 52%),
		linear-gradient(315deg,color-mix(in srgb,var(--global-palette2,#7c3aed) 16%,transparent),transparent 50%),
		color-mix(in srgb,var(--global-palette7,#f2f4f7) 92%,#fff);
	border:1px solid color-mix(in srgb,var(--global-palette3,#0d1117) 9%,transparent);
}

/* Recipe support: dark art-directed sections. */
.bl-dark-stage {
	--bl-surface:rgba(11,17,31,.94);
	background:#07101f;
	color:#fff;
}
.bl-dark-stage h1,
.bl-dark-stage h2,
.bl-dark-stage h3,
.bl-dark-stage h4,
.bl-dark-stage p,
.bl-dark-stage li {
	color:inherit;
}
.bl-dark-stage .bl-gradient-border {
	--bl-surface:rgba(10,18,34,.92);
}

/* Product/dashboard placeholder internals. */
.bl-ui-grid {
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:12px;
	padding:18px;
}
.bl-ui-panel {
	min-height:92px;
	padding:14px;
	border-radius:12px;
	background:rgba(255,255,255,.055);
	border:1px solid rgba(255,255,255,.08);
}
.bl-ui-line {
	height:7px;
	border-radius:999px;
	background:linear-gradient(90deg,var(--global-palette1,#2563ff),var(--global-palette2,#7c3aed));
	opacity:.88;
	margin:0 0 9px;
}
.bl-ui-line.is-muted {
	width:62%;
	background:rgba(255,255,255,.18);
}

/* Asymmetric spotlight surface used by service/case-study recipes. */
.bl-spotlight-panel {
	padding:clamp(26px,4vw,52px);
	border-radius:24px;
	background:color-mix(in srgb,var(--global-palette7,#f2f4f7) 86%,#fff);
	border:1px solid color-mix(in srgb,var(--global-palette3,#0d1117) 8%,transparent);
}

/* Responsive guards. */
@media(max-width:900px){
	.bl-dashboard-frame,
	.bl-visual-tilt-left,
	.bl-visual-tilt-right{transform:none}
	.bl-feature-strip{grid-template-columns:1fr}
	.bl-overlap-up{margin-top:-28px!important}
}
@media(prefers-reduced-motion:reduce){
	.bl-dashboard-frame,
	.bl-visual-tilt-left,
	.bl-visual-tilt-right{transform:none!important}
}


/* =========================================================
   Base Layer 3.18 — Premium Cards + Pricing
   ========================================================= */

.bl-card-premium{
	position:relative;
	border:1px solid color-mix(in srgb,var(--global-palette3,#0D1117) 10%,transparent);
	border-radius:20px;
	background:var(--global-palette9,#fff);
	padding:28px;
	box-shadow:0 14px 36px rgba(13,17,23,.07);
	overflow:hidden;
}
.bl-card-premium::before{
	content:"";
	position:absolute;
	inset:0 auto auto 0;
	width:100%;
	height:3px;
	background:linear-gradient(90deg,var(--global-palette1,#2563FF),var(--global-palette2,#7C3AED),#22D3A6);
	opacity:.85;
}
.bl-card-interactive{
	transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.bl-card-interactive:hover{
	transform:translateY(-5px);
	box-shadow:0 24px 54px rgba(13,17,23,.12);
	border-color:color-mix(in srgb,var(--global-palette1,#2563FF) 25%,transparent);
}
.bl-card-accent-blue{--bl-card-accent:var(--global-palette1,#2563FF)}
.bl-card-accent-violet{--bl-card-accent:var(--global-palette2,#7C3AED)}
.bl-card-accent-mint{--bl-card-accent:#22D3A6}
.bl-card-accent-blue::before,.bl-card-accent-violet::before,.bl-card-accent-mint::before{
	background:var(--bl-card-accent);
}

.bl-pricing-section{position:relative}
.bl-pricing-grid{
	align-items:stretch!important;
	gap:22px!important;
	overflow:visible!important;
}
.bl-pricing-grid>.wp-block-column{display:flex;overflow:visible}
.bl-pricing-card{
	position:relative;
	display:flex;
	flex-direction:column;
	width:100%;
	min-height:100%;
	padding:30px;
	border:1px solid color-mix(in srgb,var(--global-palette3,#0D1117) 10%,transparent);
	border-radius:22px;
	background:var(--global-palette9,#fff);
	box-shadow:0 14px 36px rgba(13,17,23,.07);
	overflow:visible;
	transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.bl-pricing-card:hover{
	transform:translateY(-5px);
	box-shadow:0 26px 58px rgba(13,17,23,.12);
}
.bl-pricing-card--featured{
	z-index:2;
	transform:translateY(-14px) scale(1.025);
	border-color:color-mix(in srgb,var(--global-palette1,#2563FF) 45%,transparent);
	box-shadow:0 28px 70px rgba(37,99,255,.16),0 14px 40px rgba(13,17,23,.10);
	background:
		linear-gradient(var(--global-palette9,#fff),var(--global-palette9,#fff)) padding-box,
		linear-gradient(135deg,var(--global-palette1,#2563FF),var(--global-palette2,#7C3AED),#22D3A6) border-box;
	border:1px solid transparent;
}
.bl-pricing-card--featured:hover{transform:translateY(-18px) scale(1.025)}
.bl-pricing-card--featured::after{
	content:"";
	position:absolute;
	inset:-26px -26px auto;
	height:130px;
	background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--global-palette1,#2563FF) 18%,transparent),transparent 68%);
	z-index:-1;
	pointer-events:none;
}
.bl-pricing-badge{
	align-self:flex-start;
	display:inline-flex;
	align-items:center;
	padding:6px 10px;
	margin:0 0 18px;
	border-radius:999px;
	font-size:12px;
	font-weight:750;
	letter-spacing:.04em;
	text-transform:uppercase;
	background:color-mix(in srgb,var(--global-palette1,#2563FF) 10%,white);
	color:var(--global-palette1,#2563FF);
}
.bl-pricing-name{margin-bottom:8px!important}
.bl-pricing-description{min-height:3.2em;color:color-mix(in srgb,var(--global-palette3,#0D1117) 67%,transparent)}
.bl-pricing-price{
	display:flex;
	align-items:flex-end;
	gap:7px;
	margin:22px 0 8px!important;
	font-size:clamp(2.2rem,4vw,3.6rem);
	line-height:.95;
	font-weight:800;
	letter-spacing:-.045em;
	color:var(--global-palette3,#0D1117);
}
.bl-pricing-price small{
	font-size:.9rem;
	font-weight:600;
	letter-spacing:0;
	color:color-mix(in srgb,var(--global-palette3,#0D1117) 55%,transparent);
	margin-bottom:.3rem;
}
.bl-pricing-divider{margin:22px 0!important;opacity:.55}
.bl-pricing-features{
	margin:0 0 26px!important;
	padding-left:0!important;
	list-style:none!important;
	flex:1;
}
.bl-pricing-features li{
	position:relative;
	padding-left:25px;
	margin:0 0 11px;
}
.bl-pricing-features li::before{
	content:"✓";
	position:absolute;
	left:0;
	top:0;
	font-weight:800;
	color:var(--bl-card-accent,var(--global-palette1,#2563FF));
}
.bl-pricing-card .wp-block-buttons{margin-top:auto}
.bl-pricing-card .wp-block-button{width:100%}
.bl-pricing-card .wp-block-button__link{width:100%;text-align:center}
.bl-pricing-accent-blue{--bl-card-accent:var(--global-palette1,#2563FF)}
.bl-pricing-accent-violet{--bl-card-accent:var(--global-palette2,#7C3AED)}
.bl-pricing-accent-mint{--bl-card-accent:#22D3A6}

@media(max-width:900px){
	.bl-pricing-grid{gap:18px!important}
	.bl-pricing-card--featured,
	.bl-pricing-card--featured:hover{
		transform:none;
	}
}
@media(prefers-reduced-motion:reduce){
	.bl-card-interactive,.bl-pricing-card{transition:none!important}
	.bl-card-interactive:hover,.bl-pricing-card:hover,.bl-pricing-card--featured,.bl-pricing-card--featured:hover{transform:none!important}
}


/* =========================================================
   Base Layer 3.19 — Pricing preset system
   ========================================================= */

.bl-pricing-shell{
	position:relative;
	padding-block:clamp(4rem,7vw,6.5rem);
	overflow:hidden;
}
.bl-pricing-shell .bl-pricing-grid{margin-top:clamp(2rem,4vw,3rem)}
.bl-pricing-card{
	--bl-price-accent:var(--global-palette1,#2563FF);
	position:relative;
	display:flex;
	flex-direction:column;
	min-height:100%;
	padding:32px;
	border-radius:24px;
	border:1px solid rgba(13,17,23,.10);
	background:#fff;
	box-shadow:0 16px 42px rgba(13,17,23,.07);
	overflow:hidden;
}
.bl-pricing-card-head{margin:-32px -32px 24px;padding:28px 32px 24px;background:color-mix(in srgb,var(--bl-price-accent) 7%,#fff)}
.bl-pricing-kicker{margin:0 0 12px!important;font-size:.72rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--bl-price-accent)!important}
.bl-pricing-bestfor{margin:0!important;font-size:.92rem;color:rgba(13,17,23,.62)!important}
.bl-pricing-price{margin:18px 0 6px!important;font-size:clamp(2.65rem,5vw,4.3rem);font-weight:850;letter-spacing:-.055em;line-height:.92;color:#0D1117!important}
.bl-pricing-price small{font-size:.9rem;font-weight:650;letter-spacing:0;color:rgba(13,17,23,.55)}
.bl-pricing-features-title{margin:22px 0 12px!important;font-size:.76rem;font-weight:800;letter-spacing:.10em;text-transform:uppercase;color:rgba(13,17,23,.48)!important}
.bl-pricing-features{list-style:none!important;padding:0!important;margin:0 0 28px!important;flex:1}
.bl-pricing-features li{position:relative;padding-left:27px;margin:0 0 12px;line-height:1.45}
.bl-pricing-features li::before{content:"✓";position:absolute;left:0;top:0;width:18px;height:18px;border-radius:99px;display:grid;place-items:center;font-size:.72rem;font-weight:900;background:color-mix(in srgb,var(--bl-price-accent) 12%,#fff);color:var(--bl-price-accent)}
.bl-pricing-card .wp-block-buttons{margin-top:auto}
.bl-pricing-card .wp-block-button,.bl-pricing-card .wp-block-button__link{width:100%}
.bl-pricing-card .wp-block-button__link{display:block;text-align:center;padding:14px 18px}
.bl-pricing-card--blue{--bl-price-accent:#2563FF}
.bl-pricing-card--violet{--bl-price-accent:#7C3AED}
.bl-pricing-card--mint{--bl-price-accent:#22D3A6}

/* Preset A — Featured Ribbon */
.bl-pricing-preset-ribbon .bl-pricing-grid{align-items:stretch!important}
.bl-pricing-preset-ribbon .wp-block-column:nth-child(2) .bl-pricing-card{
	transform:translateY(-16px);
	border-color:rgba(124,58,237,.40);
	box-shadow:0 30px 76px rgba(124,58,237,.18),0 18px 46px rgba(13,17,23,.10);
}
.bl-pricing-ribbon{
	margin:-32px -32px 24px!important;
	padding:10px 16px!important;
	text-align:center;
	font-size:.75rem!important;
	font-weight:850!important;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:#fff!important;
	background:linear-gradient(90deg,#2563FF,#7C3AED,#22D3A6);
}

/* Preset B — Dark Center */
.bl-pricing-preset-dark-center{background:linear-gradient(180deg,#fff 0%,#f6f7fb 100%)}
.bl-pricing-preset-dark-center .wp-block-column:nth-child(2) .bl-pricing-card{
	transform:translateY(-14px);
	background:#0D1117;
	border-color:#0D1117;
	box-shadow:0 34px 80px rgba(13,17,23,.22);
}
.bl-pricing-preset-dark-center .wp-block-column:nth-child(2) .bl-pricing-card :where(h2,h3,h4,.bl-pricing-price){color:#fff!important}
.bl-pricing-preset-dark-center .wp-block-column:nth-child(2) .bl-pricing-card :where(p,li,.bl-pricing-bestfor,.bl-pricing-features-title){color:rgba(255,255,255,.72)!important}
.bl-pricing-preset-dark-center .wp-block-column:nth-child(2) .bl-pricing-card-head{background:linear-gradient(135deg,rgba(37,99,255,.16),rgba(124,58,237,.18),rgba(34,211,166,.10))}
.bl-pricing-preset-dark-center .wp-block-column:nth-child(2) .bl-pricing-features li::before{background:rgba(255,255,255,.12);color:#22D3A6}
.bl-pricing-preset-dark-center .wp-block-column:nth-child(2) .wp-block-button__link{background:linear-gradient(90deg,#2563FF,#7C3AED);border-color:transparent}

/* Preset C — Color Head */
.bl-pricing-preset-color-heads .bl-pricing-card{padding-top:0}
.bl-pricing-preset-color-heads .bl-pricing-card-head{position:relative;margin:0 -32px 24px;padding:30px 32px 26px}
.bl-pricing-preset-color-heads .bl-pricing-card--blue .bl-pricing-card-head{background:linear-gradient(135deg,#eff6ff,#eef2ff)}
.bl-pricing-preset-color-heads .bl-pricing-card--violet .bl-pricing-card-head{background:linear-gradient(135deg,#f5f3ff,#faf5ff)}
.bl-pricing-preset-color-heads .bl-pricing-card--mint .bl-pricing-card-head{background:linear-gradient(135deg,#ecfdf5,#f0fdfa)}
.bl-pricing-preset-color-heads .bl-pricing-card-head::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--bl-price-accent)}
.bl-pricing-preset-color-heads .wp-block-column:nth-child(2) .bl-pricing-card{box-shadow:0 24px 65px rgba(124,58,237,.13)}

/* Preset D — Single Hero Plan */
.bl-pricing-single{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:24px;align-items:stretch}
.bl-pricing-single .bl-pricing-card{padding:clamp(30px,4vw,48px)}
.bl-pricing-single-main{border:1px solid transparent;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(135deg,#2563FF,#7C3AED,#22D3A6) border-box}
.bl-pricing-single-aside{padding:30px;border-radius:24px;background:#0D1117;color:#fff}
.bl-pricing-single-aside :where(h3,p,li){color:rgba(255,255,255,.78)}
.bl-pricing-single-aside h3{color:#fff!important}

@media(max-width:900px){
	.bl-pricing-preset-ribbon .wp-block-column:nth-child(2) .bl-pricing-card,
	.bl-pricing-preset-dark-center .wp-block-column:nth-child(2) .bl-pricing-card{transform:none}
	.bl-pricing-single{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
	.bl-pricing-card{transition:none!important}
}
