/*
Theme Name: Bloombird
Theme URI: https://www.steelblue-eagle-180945.hostingersite.com
Author: Bloombird Digital
Description: Custom block theme for Bloombird Digital. Bold violet, coral and sunshine palette, Poppins type, and editable block patterns for every section.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
Version: 1.0.7
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bloombird
*/

/* ---------- Page structure ---------- */
.wp-site-blocks > * + * { margin-block-start: 0; }
.bb-sections > * { margin-block-start: 0; margin-block-end: 0; }
body { -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4 { overflow-wrap: normal; word-break: normal; hyphens: manual; text-wrap: balance; }
:where(.wp-block-group.has-background) { padding: var(--wp--preset--spacing--50); }

/* Links inside coloured sections take the section's text colour */
.has-violet-background-color a:not(.wp-element-button),
.has-ink-background-color a:not(.wp-element-button),
.has-coral-background-color a:not(.wp-element-button),
.has-sunshine-background-color a:not(.wp-element-button) { color: inherit; }

/* ---------- Header ---------- */
.bb-header { position: relative; z-index: 10; }
.bb-logo { margin: 0; }
.bb-logo a {
	display: inline-flex; align-items: center;
	color: inherit; text-decoration: none;
	font-weight: 800; font-size: 1.5rem; letter-spacing: -0.04em; line-height: 1;
}
.bb-logo a::before {
	content: ""; width: 54px; height: 43px; flex: none; margin-right: 10px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1111.666748046875 881.933349609375'%3E%3Cpath d='M980.2 259.3 L981.5 264.9 L990.3 284.9 L994.6 301.9 L995.7 313.9 L992.0 339.9 L992.3 345.1 L1004.7 342.9 L1037.7 328.6 L1094.7 307.7 L1099.7 303.7 L1099.1 301.9 L1096.5 300.3 L1072.7 293.9 L1041.7 282.7 L1022.7 274.2 L990.7 257.3 L982.8 256.7Z' fill='%23FDD201'/%3E%3Cpath d='M995.3 272.9 L988.2 259.4 L979.2 254.5 L966.7 239.3 L948.7 224.8 L932.7 214.9 L912.7 205.1 L889.7 197.1 L863.7 191.0 L844.7 188.5 L813.7 187.9 L790.7 190.1 L765.7 195.3 L744.7 201.9 L723.7 210.7 L703.7 221.0 L684.7 233.1 L662.7 250.0 L644.7 266.2 L623.8 288.9 L605.2 312.9 L593.4 329.9 L586.6 341.5 L582.2 346.3 L584.5 354.9 L594.1 373.9 L603.1 394.9 L609.7 413.9 L615.0 434.9 L618.3 453.9 L619.7 470.9 L619.7 487.9 L617.5 508.9 L614.1 524.9 L608.1 544.9 L601.8 560.9 L590.5 582.9 L577.7 602.9 L564.6 619.9 L551.7 633.8 L542.7 639.3 L517.7 641.9 L491.7 641.1 L462.7 637.8 L426.7 630.3 L395.7 621.1 L365.7 609.7 L340.7 598.2 L306.7 579.3 L297.1 576.3 L291.6 581.0 L259.7 597.9 L238.7 607.9 L201.7 622.3 L171.7 631.7 L129.7 640.9 L91.7 646.3 L53.7 648.9 L15.8 649.0 L12.0 650.8 L12.1 654.1 L16.1 659.9 L33.7 678.9 L66.7 710.5 L104.7 742.3 L146.7 772.9 L179.7 793.8 L220.7 816.2 L257.7 832.7 L296.7 846.9 L334.7 857.3 L366.7 863.7 L403.7 868.3 L439.7 869.9 L480.7 867.3 L511.7 862.9 L551.7 853.7 L588.7 841.4 L611.7 831.7 L639.7 817.9 L665.7 802.3 L696.7 780.3 L719.7 761.3 L743.7 737.9 L762.5 716.9 L783.5 689.9 L806.5 654.9 L824.0 622.9 L835.5 598.9 L851.3 561.9 L871.6 500.9 L881.0 475.9 L893.5 448.9 L905.3 427.9 L921.7 404.9 L940.7 384.8 L958.7 369.5 L971.7 360.5 L986.6 351.8 L998.9 341.2 L1000.3 337.9 L1002.1 325.9 L1002.7 310.9 L1000.9 292.9Z' fill='%23FFFFFF'/%3E%3Cpath d='M109.3 12.5 L106.6 16.9 L95.5 62.9 L89.0 98.9 L84.3 134.9 L81.7 171.9 L81.7 199.9 L85.3 243.9 L88.8 267.9 L95.2 298.9 L104.7 332.9 L114.3 359.9 L128.5 391.9 L140.9 415.9 L164.9 453.9 L177.3 470.9 L198.3 495.9 L218.7 516.9 L243.7 539.6 L264.7 556.3 L287.7 572.5 L312.7 587.7 L341.7 603.2 L379.7 619.5 L401.7 626.9 L428.7 634.3 L455.7 639.9 L481.7 643.3 L514.7 644.9 L543.7 642.5 L551.7 639.1 L563.4 627.9 L578.5 608.9 L593.4 585.9 L603.7 565.9 L611.0 547.9 L617.2 526.9 L621.3 503.9 L622.7 484.9 L621.9 460.9 L619.6 441.9 L615.2 420.9 L609.2 400.9 L599.8 376.9 L590.0 356.9 L579.3 337.9 L565.3 316.9 L541.7 285.9 L517.7 258.9 L488.7 232.0 L455.7 206.7 L420.7 185.3 L394.7 171.7 L346.7 150.2 L269.7 118.9 L225.7 97.9 L198.7 82.2 L169.7 62.3 L140.7 38.5 L116.4 14.3 L112.1 12.0Z' fill='%23FDD201'/%3E%3C/svg%3E") center / contain no-repeat;
}
.bb-logo mark { background: none; color: var(--wp--preset--color--sunshine); }
.bb-footer .bb-logo a::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1111.666748046875 881.933349609375'%3E%3Cpath d='M980.2 259.3 L981.5 264.9 L990.3 284.9 L994.6 301.9 L995.7 313.9 L992.0 339.9 L992.3 345.1 L1004.7 342.9 L1037.7 328.6 L1094.7 307.7 L1099.7 303.7 L1099.1 301.9 L1096.5 300.3 L1072.7 293.9 L1041.7 282.7 L1022.7 274.2 L990.7 257.3 L982.8 256.7Z' fill='%23FDD201'/%3E%3Cpath d='M995.3 272.9 L988.2 259.4 L979.2 254.5 L966.7 239.3 L948.7 224.8 L932.7 214.9 L912.7 205.1 L889.7 197.1 L863.7 191.0 L844.7 188.5 L813.7 187.9 L790.7 190.1 L765.7 195.3 L744.7 201.9 L723.7 210.7 L703.7 221.0 L684.7 233.1 L662.7 250.0 L644.7 266.2 L623.8 288.9 L605.2 312.9 L593.4 329.9 L586.6 341.5 L582.2 346.3 L584.5 354.9 L594.1 373.9 L603.1 394.9 L609.7 413.9 L615.0 434.9 L618.3 453.9 L619.7 470.9 L619.7 487.9 L617.5 508.9 L614.1 524.9 L608.1 544.9 L601.8 560.9 L590.5 582.9 L577.7 602.9 L564.6 619.9 L551.7 633.8 L542.7 639.3 L517.7 641.9 L491.7 641.1 L462.7 637.8 L426.7 630.3 L395.7 621.1 L365.7 609.7 L340.7 598.2 L306.7 579.3 L297.1 576.3 L291.6 581.0 L259.7 597.9 L238.7 607.9 L201.7 622.3 L171.7 631.7 L129.7 640.9 L91.7 646.3 L53.7 648.9 L15.8 649.0 L12.0 650.8 L12.1 654.1 L16.1 659.9 L33.7 678.9 L66.7 710.5 L104.7 742.3 L146.7 772.9 L179.7 793.8 L220.7 816.2 L257.7 832.7 L296.7 846.9 L334.7 857.3 L366.7 863.7 L403.7 868.3 L439.7 869.9 L480.7 867.3 L511.7 862.9 L551.7 853.7 L588.7 841.4 L611.7 831.7 L639.7 817.9 L665.7 802.3 L696.7 780.3 L719.7 761.3 L743.7 737.9 L762.5 716.9 L783.5 689.9 L806.5 654.9 L824.0 622.9 L835.5 598.9 L851.3 561.9 L871.6 500.9 L881.0 475.9 L893.5 448.9 L905.3 427.9 L921.7 404.9 L940.7 384.8 L958.7 369.5 L971.7 360.5 L986.6 351.8 L998.9 341.2 L1000.3 337.9 L1002.1 325.9 L1002.7 310.9 L1000.9 292.9Z' fill='%237F38FB'/%3E%3Cpath d='M109.3 12.5 L106.6 16.9 L95.5 62.9 L89.0 98.9 L84.3 134.9 L81.7 171.9 L81.7 199.9 L85.3 243.9 L88.8 267.9 L95.2 298.9 L104.7 332.9 L114.3 359.9 L128.5 391.9 L140.9 415.9 L164.9 453.9 L177.3 470.9 L198.3 495.9 L218.7 516.9 L243.7 539.6 L264.7 556.3 L287.7 572.5 L312.7 587.7 L341.7 603.2 L379.7 619.5 L401.7 626.9 L428.7 634.3 L455.7 639.9 L481.7 643.3 L514.7 644.9 L543.7 642.5 L551.7 639.1 L563.4 627.9 L578.5 608.9 L593.4 585.9 L603.7 565.9 L611.0 547.9 L617.2 526.9 L621.3 503.9 L622.7 484.9 L621.9 460.9 L619.6 441.9 L615.2 420.9 L609.2 400.9 L599.8 376.9 L590.0 356.9 L579.3 337.9 L565.3 316.9 L541.7 285.9 L517.7 258.9 L488.7 232.0 L455.7 206.7 L420.7 185.3 L394.7 171.7 L346.7 150.2 L269.7 118.9 L225.7 97.9 L198.7 82.2 L169.7 62.3 L140.7 38.5 L116.4 14.3 L112.1 12.0Z' fill='%23FDD201'/%3E%3C/svg%3E"); }

.bb-header .wp-block-navigation { font-weight: 500; font-size: 0.95rem; gap: 1.75rem; }
.bb-header .wp-block-navigation a { color: inherit; text-decoration: none; }
.bb-header .wp-block-navigation a:hover { text-decoration: underline; text-underline-offset: 5px; }
.bb-header .wp-block-navigation .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--white); color: var(--wp--preset--color--ink);
	border: 0; border-radius: 18px; padding: 10px; box-shadow: 0 20px 40px rgba(14, 11, 31, 0.18);
	min-width: 250px;
}
.bb-header .wp-block-navigation .wp-block-navigation__submenu-container a { padding: 8px 12px; border-radius: 10px; }
.bb-header .wp-block-navigation .wp-block-navigation__submenu-container a:hover { background: var(--wp--preset--color--lavender); text-decoration: none; }
.bb-header .bb-nav-cta > a {
	background: var(--wp--preset--color--ink); color: var(--wp--preset--color--white) !important;
	padding: 12px 22px; border-radius: 999px; font-weight: 600;
}
.bb-header .bb-nav-cta > a:hover { background: var(--wp--preset--color--sunshine); color: var(--wp--preset--color--ink) !important; text-decoration: none; }
.wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--violet) !important; color: var(--wp--preset--color--white) !important;
	padding: 2rem;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	background: transparent !important; color: inherit !important; box-shadow: none;
}

/* ---------- Hero ---------- */
.bb-hero { position: relative; overflow: hidden; isolation: isolate; }
.bb-hero::before, .bb-hero::after {
	content: ""; position: absolute; z-index: -1; pointer-events: none;
	aspect-ratio: 545 / 637; background: center / contain no-repeat;
}
.bb-hero::before { width: clamp(220px, 28vw, 400px); background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20545%20637'%3E%3Cpath%20d%3D'M30%202%20L27%207%20L16%2053%20L9%2089%20L5%20125%20L2%20162%20L2%20190%20L6%20234%20L9%20258%20L16%20289%20L25%20323%20L35%20350%20L49%20382%20L61%20406%20L85%20444%20L98%20461%20L119%20486%20L139%20507%20L164%20530%20L185%20546%20L208%20562%20L233%20578%20L262%20593%20L300%20610%20L322%20617%20L349%20624%20L376%20630%20L402%20633%20L435%20635%20L464%20632%20L472%20629%20L484%20618%20L499%20599%20L514%20576%20L524%20556%20L531%20538%20L538%20517%20L542%20494%20L543%20475%20L542%20451%20L540%20432%20L536%20411%20L530%20391%20L520%20367%20L510%20347%20L500%20328%20L486%20307%20L462%20276%20L438%20249%20L409%20222%20L376%20197%20L341%20175%20L315%20162%20L267%20140%20L190%20109%20L146%2088%20L119%2072%20L90%2052%20L61%2028%20L37%204%20L32%202Z'%20fill%3D'%238B6BFF'%2F%3E%3C%2Fsvg%3E"); right: 7%; top: 50%; opacity: 0.85; transform: translateY(-46%) rotate(-16deg); animation: bb-drift-a 9s ease-in-out infinite alternate; }
.bb-hero::after { width: clamp(170px, 21vw, 300px); background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20545%20637'%3E%3Cpath%20d%3D'M30%202%20L27%207%20L16%2053%20L9%2089%20L5%20125%20L2%20162%20L2%20190%20L6%20234%20L9%20258%20L16%20289%20L25%20323%20L35%20350%20L49%20382%20L61%20406%20L85%20444%20L98%20461%20L119%20486%20L139%20507%20L164%20530%20L185%20546%20L208%20562%20L233%20578%20L262%20593%20L300%20610%20L322%20617%20L349%20624%20L376%20630%20L402%20633%20L435%20635%20L464%20632%20L472%20629%20L484%20618%20L499%20599%20L514%20576%20L524%20556%20L531%20538%20L538%20517%20L542%20494%20L543%20475%20L542%20451%20L540%20432%20L536%20411%20L530%20391%20L520%20367%20L510%20347%20L500%20328%20L486%20307%20L462%20276%20L438%20249%20L409%20222%20L376%20197%20L341%20175%20L315%20162%20L267%20140%20L190%20109%20L146%2088%20L119%2072%20L90%2052%20L61%2028%20L37%204%20L32%202Z'%20fill%3D'%23FFD60A'%2F%3E%3C%2Fsvg%3E"); right: 2%; top: 50%; transform: translateY(-60%) rotate(8deg); animation: bb-drift-b 7s ease-in-out infinite alternate; }
.bb-hero:has(.bb-ai-card)::before { right: -3%; top: 26%; }
.bb-hero:has(.bb-ai-card)::after { right: 30%; top: 96%; width: clamp(150px, 16vw, 230px); }
@keyframes bb-drift-a { from { transform: translateY(-46%) rotate(-16deg); } to { transform: translateY(-50%) rotate(-10deg); } }
@keyframes bb-drift-b { from { transform: translateY(-60%) rotate(8deg); } to { transform: translateY(-65%) rotate(14deg); } }
.bb-eyebrow {
	display: inline-block; background: rgba(14, 11, 31, 0.28);
	border-radius: 999px; padding: 8px 16px; font-size: 0.875rem; font-weight: 500;
}
.bb-eyebrow::before {
	content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%;
	background: var(--wp--preset--color--sunshine); margin-right: 8px; vertical-align: middle;
}
.bb-ai-card { box-shadow: 0 30px 70px rgba(14, 11, 31, 0.45); transform: rotate(-2deg); max-width: 440px; margin-inline: auto; }
.bb-ai-label { font-weight: 600; font-size: 0.875rem; }
.bb-ai-query { background: var(--wp--preset--color--lavender); border-radius: 16px; padding: 14px 16px; font-weight: 500; }
.bb-chips { font-size: 0.8rem; font-weight: 600; color: var(--wp--preset--color--violet-dark); }

/* ---------- Text styles ---------- */
.bb-kicker {
	font-weight: 700; font-size: 0.875rem; text-transform: uppercase; letter-spacing: 0.1em;
	color: var(--wp--preset--color--violet); margin-bottom: 0.5rem;
}
.has-ink-background-color .bb-kicker,
.has-violet-background-color .bb-kicker { color: var(--wp--preset--color--sunshine); }
.has-sunshine-background-color .bb-kicker,
.has-coral-background-color .bb-kicker { color: var(--wp--preset--color--ink); }
.bb-logos { font-weight: 700; font-size: 1.2rem; letter-spacing: -0.02em; }
.bb-stat { font-weight: 800; font-size: clamp(3rem, 6vw, 4rem); line-height: 1; letter-spacing: -0.05em; margin: 0; }
.bb-num { font-weight: 800; font-size: 2.75rem; line-height: 1; letter-spacing: -0.04em; color: var(--wp--preset--color--violet); margin: 0; }
.bb-step { font-weight: 800; font-size: 1.375rem; color: var(--wp--preset--color--violet); margin: 0; }
.bb-tag {
	display: inline-block; font-size: 0.75rem; font-weight: 700; padding: 5px 12px; border-radius: 999px;
	background: var(--wp--preset--color--ink-soft); color: var(--wp--preset--color--white);
}
.bb-learn { font-weight: 700; }
.bb-learn a { text-decoration: underline; text-underline-offset: 5px; }

/* ---------- Buttons ---------- */
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent; color: inherit; border: 2px solid currentColor;
	padding: calc(1rem - 2px) calc(1.75rem - 2px);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--white); border-color: var(--wp--preset--color--ink); }
.has-sunshine-background-color .wp-block-button:not(.is-style-outline) > .wp-block-button__link,
.has-coral-background-color .wp-block-button:not(.is-style-outline) > .wp-block-button__link,
.has-cream-background-color .wp-block-button:not(.is-style-outline) > .wp-block-button__link,
.has-white-background-color .wp-block-button:not(.is-style-outline) > .wp-block-button__link {
	background: var(--wp--preset--color--ink); color: var(--wp--preset--color--white);
}
.has-sunshine-background-color .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover,
.has-coral-background-color .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover,
.has-cream-background-color .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover,
.has-white-background-color .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover {
	background: var(--wp--preset--color--violet);
}
.has-violet-background-color .wp-block-button:not(.is-style-outline) > .wp-block-button__link,
.has-ink-background-color .wp-block-button:not(.is-style-outline) > .wp-block-button__link {
	background: var(--wp--preset--color--sunshine); color: var(--wp--preset--color--ink);
}
.has-violet-background-color .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover,
.has-ink-background-color .wp-block-button:not(.is-style-outline) > .wp-block-button__link:hover {
	background: var(--wp--preset--color--white); color: var(--wp--preset--color--ink);
}
.has-ink-background-color .bb-coral-btn > .wp-block-button__link { background: var(--wp--preset--color--coral); color: var(--wp--preset--color--ink); }

/* ---------- Cards ---------- */
.bb-card { height: 100%; display: flex; flex-direction: column; }
.bb-card > .bb-learn { margin-top: auto; }
.bb-outline-card {
	background: var(--wp--preset--color--white); border: 2px solid var(--wp--preset--color--ink);
	border-radius: 26px; height: 100%;
}
.bb-outline-card a { color: inherit; text-decoration: none; }
.bb-outline-card a:hover { text-decoration: underline; }
.bb-quote-card blockquote, .bb-quote-card .wp-block-quote { margin: 0; padding: 0; border: 0; }
.bb-quote-card cite { display: block; margin-top: 1.25rem; font-style: normal; font-weight: 700; font-size: 0.95rem; letter-spacing: 0; }

/* ---------- FAQs (Details block) ---------- */
.wp-block-details {
	background: var(--wp--preset--color--cream); border-radius: 22px; padding: 0 24px;
	margin-block-start: 12px !important;
}
.wp-block-details summary {
	list-style: none; cursor: pointer; padding: 22px 0; font-weight: 700; font-size: 1.125rem;
	display: flex; justify-content: space-between; align-items: center; gap: 24px;
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
	content: "+"; flex: none; width: 38px; height: 38px; border-radius: 50%;
	background: var(--wp--preset--color--ink); color: var(--wp--preset--color--white);
	display: flex; align-items: center; justify-content: center; font-size: 1.25rem; font-weight: 700;
}
.wp-block-details[open] summary::after { content: "\2212"; background: var(--wp--preset--color--violet); }
.wp-block-details > :not(summary) { padding-bottom: 22px; margin-top: 0; color: var(--wp--preset--color--muted); }

/* ---------- Latest posts ---------- */
.wp-block-latest-posts.is-grid { gap: 24px; }
.wp-block-latest-posts.is-grid li { margin: 0 !important; }
.wp-block-latest-posts__featured-image img { border-radius: 24px; aspect-ratio: 16 / 10; object-fit: cover; width: 100%; }
.wp-block-latest-posts__post-title {
	display: block; color: var(--wp--preset--color--ink); text-decoration: none;
	font-weight: 700; font-size: 1.3rem; line-height: 1.3; letter-spacing: -0.02em; margin-top: 6px;
}
.wp-block-latest-posts__post-title:hover { color: var(--wp--preset--color--violet); }
.wp-block-latest-posts__post-date { font-size: 0.875rem; color: var(--wp--preset--color--muted); }

/* ---------- Blog cards (query loop) ---------- */
.bb-post-card { background: var(--wp--preset--color--white); border-radius: 26px; overflow: hidden; height: 100%; }
.bb-post-card .wp-block-post-title a { color: var(--wp--preset--color--ink); text-decoration: none; }
.bb-post-card .wp-block-post-title a:hover { color: var(--wp--preset--color--violet); }

/* ---------- Tables ---------- */
.bb-table { margin: 0; overflow-x: auto; }
.bb-table table { border-collapse: separate; border-spacing: 0; width: 100%; background: var(--wp--preset--color--white); border-radius: 22px; overflow: hidden; }
.bb-table thead { border: 0; }
.bb-table th, .bb-table td { border: 0; border-bottom: 1px solid #ECE3D3; padding: 16px 20px; text-align: left; vertical-align: top; }
.bb-table thead th { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--white); font-weight: 700; }
.bb-table tbody tr:last-child td { border-bottom: 0; }
.bb-table tbody td:first-child { font-weight: 700; }

/* ---------- Form placeholder (remove once real forms are added) ---------- */
.bb-form-placeholder { border: 2px dashed var(--wp--preset--color--violet); }

/* ---------- Fluent Forms ---------- */
.bb-form .ff-el-form-control { border-radius: 12px !important; border: 1.5px solid #D9D1EE !important; padding: 12px 14px !important; font-family: inherit; }
.bb-form .ff-el-form-control:focus { border-color: var(--wp--preset--color--violet) !important; box-shadow: 0 0 0 3px rgba(91, 46, 255, 0.15) !important; }
.bb-form .ff-el-input--label label { font-weight: 600; }
.bb-form .ff-btn-submit { border-radius: 999px !important; font-weight: 700 !important; padding: 14px 28px !important; font-family: inherit; }
.bb-form .ff-btn-submit:hover { background: var(--wp--preset--color--ink) !important; color: var(--wp--preset--color--white) !important; }

/* ---------- "Let's talk" box ---------- */
.bb-cta { position: relative; overflow: hidden; isolation: isolate; }
.bb-cta::before, .bb-cta::after {
	content: ""; position: absolute; z-index: -1; pointer-events: none;
	aspect-ratio: 545 / 637; background: url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%20545%20637'%3E%3Cpath%20d%3D'M30%202%20L27%207%20L16%2053%20L9%2089%20L5%20125%20L2%20162%20L2%20190%20L6%20234%20L9%20258%20L16%20289%20L25%20323%20L35%20350%20L49%20382%20L61%20406%20L85%20444%20L98%20461%20L119%20486%20L139%20507%20L164%20530%20L185%20546%20L208%20562%20L233%20578%20L262%20593%20L300%20610%20L322%20617%20L349%20624%20L376%20630%20L402%20633%20L435%20635%20L464%20632%20L472%20629%20L484%20618%20L499%20599%20L514%20576%20L524%20556%20L531%20538%20L538%20517%20L542%20494%20L543%20475%20L542%20451%20L540%20432%20L536%20411%20L530%20391%20L520%20367%20L510%20347%20L500%20328%20L486%20307%20L462%20276%20L438%20249%20L409%20222%20L376%20197%20L341%20175%20L315%20162%20L267%20140%20L190%20109%20L146%2088%20L119%2072%20L90%2052%20L61%2028%20L37%204%20L32%202Z'%20fill%3D'%232E2257'%2F%3E%3C%2Fsvg%3E") center / contain no-repeat;
}
.bb-cta::before { width: 340px; right: -60px; top: -120px; transform: rotate(-28deg); animation: bb-sway 10s ease-in-out infinite alternate; }
.bb-cta::after { width: 300px; right: 140px; bottom: -190px; transform: rotate(62deg); animation: bb-sway-b 12s ease-in-out infinite alternate; }
@keyframes bb-sway { from { transform: rotate(-28deg); } to { transform: rotate(-22deg) translateY(8px); } }
@keyframes bb-sway-b { from { transform: rotate(62deg); } to { transform: rotate(56deg) translateX(-8px); } }
.bb-cta .bb-kicker { color: #A99BFF; letter-spacing: 0.12em; }
.bb-cta h2 { margin-top: 0.25rem; }
.bb-cta .wp-block-button__link::after { content: "\2192"; display: inline-block; margin-left: 0.6em; transition: transform 0.2s ease; }
.bb-cta .wp-block-button__link:hover::after { transform: translateX(4px); }
.bb-cta .wp-block-button__link { font-size: 1.125rem; padding: 1.25rem 2.25rem; }

/* ---------- Client logos ---------- */
.bb-logo-strip .wp-block-image { margin: 0; }
.bb-logo-strip img { height: 84px; width: auto; object-fit: contain; filter: grayscale(1); opacity: 0.75; transition: opacity 0.2s ease, filter 0.2s ease; }
.bb-logo-strip img:hover { opacity: 1; filter: none; }

/* ---------- Motion ---------- */
.bb-card, .bb-outline-card, .bb-quote-card, .wp-block-latest-posts.is-grid li { transition: transform 0.25s ease, box-shadow 0.25s ease; }
.bb-card:hover, .bb-outline-card:hover, .wp-block-latest-posts.is-grid li:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(14, 11, 31, 0.12); }
.wp-element-button { transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease; }
.wp-element-button:hover { transform: translateY(-1px); }
@media (prefers-reduced-motion: reduce) {
	.bb-hero::before, .bb-hero::after, .bb-cta::before, .bb-cta::after { animation: none; }
	.bb-card, .bb-outline-card, .wp-element-button { transition: none; }
	.bb-card:hover, .bb-outline-card:hover { transform: none; }
}

/* ---------- Footer ---------- */
.bb-footer a:not(.wp-element-button) { color: inherit; text-decoration: none; }
.bb-footer a:not(.wp-element-button):hover { text-decoration: underline; }
.bb-footer .bb-legal { color: #A9A2C6; font-size: 0.8rem; }

/* ---------- Accessibility ---------- */
a:focus-visible, button:focus-visible, summary:focus-visible {
	outline: 3px solid var(--wp--preset--color--sunshine); outline-offset: 3px; border-radius: 6px;
}

@media (max-width: 781px) {
	.bb-ai-card { transform: none; }
	.bb-hero::before { right: -90px; top: auto; bottom: -60px; opacity: 0.45; }
	.bb-hero::after { right: -40px; top: auto; bottom: -40px; opacity: 0.6; }
}
