/* Synedica page sections — 1:1 ports of synedica.io blocks (used by HTML widgets on the Landing page) */
.syn-sec { font-family: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif; color: #4A5568; }
.syn-sec *, .syn-sec *::before, .syn-sec *::after { box-sizing: border-box; }
.syn-sec p { margin: 0; }
.syn-mono-lbl { font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace; font-style: normal; font-weight: 400; line-height: 1.5; font-size: 9px; letter-spacing: 0.1em; text-transform: uppercase; }

/* reveal (framer-motion equivalent: opacity 0→1, y 24→0, .65s, ease [.16,1,.3,1], once) */
.syn-reveal { opacity: 0; transform: translateY(24px); transition: opacity .65s cubic-bezier(.16, 1, .3, 1), transform .65s cubic-bezier(.16, 1, .3, 1); }
.syn-reveal.is-in { opacity: 1; transform: none; }
.syn-reveal--d1 { transition-delay: .1s; }
@media (prefers-reduced-motion: reduce) { .syn-reveal { opacity: 1; transform: none; transition: none; } }

/* ---- counterfeit warning ---- */
.syn-cw { display: grid; gap: 24px; grid-template-columns: minmax(0, 1fr); align-items: start; max-width: 1152px; margin: 0 auto; }
@media (min-width: 1024px) { .syn-cw { gap: 32px; grid-template-columns: minmax(0, 1fr) 320px; } }
.syn-cw__card, .syn-cw__fig {
	border-radius: 20px; background: rgba(255, 255, 255, 0.5);
	-webkit-backdrop-filter: blur(32px) saturate(200%); backdrop-filter: blur(32px) saturate(200%);
	border: 1px solid rgba(220, 38, 38, 0.18);
	box-shadow: 0 8px 40px rgba(220, 38, 38, 0.07), 0 2px 6px rgba(0, 0, 0, 0.05);
}
.syn-cw__card { padding: 32px; }
.syn-cw__head { display: flex; align-items: flex-start; gap: 16px; margin-bottom: 24px; }
.syn-cw__icon { width: 36px; height: 36px; border-radius: 10px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: #DC2626; background: rgba(220, 38, 38, 0.08); border: 1px solid rgba(220, 38, 38, 0.18); }
.syn-cw__title { margin: 0 0 2px; font-family: inherit; font-size: 20px; font-weight: 600; line-height: 1.5; color: #0D1117; }
.syn-cw__tag { color: #B91C1C; }
.syn-cw__body { font-size: 13px; line-height: 1.625; color: #4A5568; }
.syn-cw__body p + p { margin-top: 16px; }
.syn-cw__domain { font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace; font-weight: 600; color: #1B6FD8; }
.syn-cw__how { margin-top: 24px; padding-top: 24px; border-top: 1px solid rgba(0, 0, 0, 0.08); }
.syn-cw__how .syn-mono-lbl { color: #8A95A3; margin-bottom: 12px; }
.syn-cw__how p:not(.syn-mono-lbl) { font-size: 13px; line-height: 1.625; color: #4A5568; }
.syn-cw__how a { color: #1B6FD8 !important; font-weight: 500; text-decoration: none; }
.syn-cw__how a:hover { text-decoration: underline; }
.syn-cw__figs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
@media (min-width: 1024px) { .syn-cw__figs { grid-template-columns: minmax(0, 1fr); } }
.syn-cw__fig { margin: 0; overflow: hidden; }
.syn-cw__img { position: relative; aspect-ratio: 714 / 350; }
.syn-cw__img img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; display: block; border-radius: 0; }
.syn-cw__fig figcaption { padding: 8px 12px; color: #B91C1C; border-top: 1px solid rgba(220, 38, 38, 0.12); }

/* ---- eyebrow labels (synedica.io: font-mono 10px tracking .22em uppercase, 6px dot, gap 8px) ---- */
.syn-eb .elementor-icon-list-item, .syn-eb-hero .elementor-icon-list-item { display: inline-flex; align-items: center; gap: 8px; }
.syn-eb .elementor-icon-list-icon, .syn-eb-hero .elementor-icon-list-icon { width: 6px !important; height: 6px; display: inline-flex; align-items: center; justify-content: center; }
.syn-eb .elementor-icon-list-icon i, .syn-eb-hero .elementor-icon-list-icon i { font-size: 6px !important; line-height: 1; }
.syn-eb .elementor-icon-list-icon svg, .syn-eb-hero .elementor-icon-list-icon svg { width: 6px; height: 6px; }
.syn-eb .elementor-icon-list-text, .syn-eb .elementor-heading-title, .syn-eb-hero .elementor-icon-list-text { padding: 0 !important; }
/* newsletter dot: ping ring like Tailwind animate-ping */
.syn-eb--ping .elementor-icon-list-icon { position: relative; width: 8px !important; height: 8px; }
.syn-eb--ping .elementor-icon-list-icon::before { content: ""; position: absolute; inset: 0; border-radius: 50%; background: #1B6FD8; opacity: .4; animation: syn-ping 1s cubic-bezier(0, 0, .2, 1) infinite; }
.syn-eb--ping .elementor-icon-list-icon i { font-size: 8px !important; position: relative; }
@keyframes syn-ping { 75%, 100% { transform: scale(2); opacity: 0; } }
/* hero pill: white/.72, blue/.18 border, blur 12, inset highlight */
.syn-eb-hero { -webkit-backdrop-filter: blur(12px) saturate(180%); backdrop-filter: blur(12px) saturate(180%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .6); }
/* footer labels: font-mono 9px muted, tracking .2em, uppercase */
.syn-foot-lbl { line-height: 1.5; }
.syn-foot-lbl p { margin: 0; }

/* page gutters: synedica.io sections are max-w-6xl (1152) with px-6 (24px) inside → 1104 content; px-5 (20px) on phones.
   Kit container is 1104 with 0 padding; top-level containers get the gutters here. */
.e-parent.e-con-boxed { padding-left: 24px; padding-right: 24px; }
@media (max-width: 639px) { .e-parent.e-con-boxed { padding-left: 20px; padding-right: 20px; } }
/* section header reveal on synedica.io: y 20 → 0, .6s */
.syn-reveal--hdr { transform: translateY(20px); transition-duration: .6s; }
.syn-reveal--hdr.is-in { transform: none; }

/* ---- newsletter ---- */
.syn-nl-form .elementor-form-fields-wrapper { display: flex; flex-direction: column; gap: 10px; align-items: stretch; }
@media (min-width: 640px) { .syn-nl-form .elementor-form-fields-wrapper { flex-direction: row; align-items: center; } }
.syn-nl-form .elementor-field-group { padding: 0 !important; margin: 0 !important; width: auto !important; max-width: none !important; }
.syn-nl-form .elementor-field-type-email { flex: 1 1 auto; min-width: 0; }
@media (min-width: 640px) { .syn-nl-form .elementor-field-type-email { flex: 1 1 0; } }
.syn-nl-form .elementor-field-type-submit { flex: 0 0 auto; }
.syn-nl-form .elementor-field-group .elementor-field { font-family: "Plus Jakarta Sans", system-ui, sans-serif; font-size: 14px; line-height: 20px; color: #0D1117; padding: 11px 16px; height: 44px; border-radius: 9999px; background: rgba(255, 255, 255, .85) !important; border: 1px solid rgba(0, 0, 0, .10) !important; box-shadow: none; transition: box-shadow .15s, border-color .15s; width: 100%; }
.syn-nl-form .elementor-field-group .elementor-field::placeholder { color: #8A95A3; }
.syn-nl-form .elementor-field-group .elementor-field:focus { outline: none; box-shadow: 0 0 0 2px rgba(27, 111, 216, .3); }
.syn-nl-form .elementor-field-group.elementor-error .elementor-field { border-color: #DC2626 !important; }
.syn-nl-form .elementor-button {
	width: auto; border: 0; border-radius: 9999px; background: rgba(27, 111, 216, .10); color: #1B6FD8;
	font-family: "Plus Jakarta Sans", system-ui, sans-serif; font-size: 14px; line-height: 20px; font-weight: 600; padding: 12px 20px; min-height: 44px; height: 44px;
	-webkit-backdrop-filter: blur(28px) saturate(220%); backdrop-filter: blur(28px) saturate(220%);
	box-shadow: inset 0 1.5px 0 #fff, inset 0 -1px 0 rgba(27, 111, 216, .06), 0 0 0 1px rgba(27, 111, 216, .18);
	transition: background .2s, transform .15s;
}
.syn-nl-form .elementor-button:hover { background: rgba(27, 111, 216, .16); color: #1B6FD8; transform: translateY(-1px); }
.syn-nl-form .elementor-button:active { transform: scale(.97); }
.syn-nl-form .elementor-button-content-wrapper { gap: 6px; }
.syn-nl-form .elementor-message { font-family: "Plus Jakarta Sans", system-ui, sans-serif; font-size: 12px; margin: 10px 0 0; line-height: 20px; }
.syn-nl-form .elementor-message.elementor-message-success { color: #14B87E; }
.syn-nl-form .elementor-message.elementor-message-danger, .syn-nl-form .elementor-help-inline { color: #DC2626; font-size: 12px; }
.syn-nl-form .elementor-message::before { display: none; }
.syn-nl-note p { margin: 0; line-height: 20px; }
/* once submitted, hide the idle note (source swaps the note for the status line) */
.syn-nl-form:has(.elementor-message) + .syn-nl-note { display: none; }

/* ---- contact ---- */
.syn-cf__head { display: flex; align-items: center; gap: 12px; margin-bottom: 26px; }
.syn-cf__icon { color: #1B6FD8; display: inline-flex; }
.syn-cf__title { margin: 0; font-family: inherit; font-size: 20px; font-weight: 600; line-height: 1.25; color: #0D1117; }
.syn-cf__mail { font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; color: #1B6FD8 !important; text-decoration: none; }
.syn-cf__mail:hover { text-decoration: underline; }
.syn-cf-form .forminator-ui.forminator-custom-form { display: flex; flex-direction: column; gap: 14px; }
.syn-cf-form .forminator-ui.forminator-custom-form .forminator-row, .syn-cf-form .forminator-ui.forminator-custom-form[data-grid] .forminator-row { display: grid !important; grid-template-columns: 1fr; gap: 14px !important; margin: 0 !important; flex-wrap: nowrap; }
@media (min-width: 640px) { .syn-cf-form .forminator-ui.forminator-custom-form .forminator-row { grid-template-columns: 1fr 1fr !important; } }
.syn-cf-form .forminator-ui.forminator-custom-form .forminator-col { width: auto !important; max-width: none !important; min-width: 0; flex: none !important; padding: 0 !important; margin: 0 !important; }
.syn-cf-form .forminator-ui.forminator-custom-form .forminator-row .forminator-col-12 { grid-column: 1 / -1; }
.syn-cf-form .forminator-ui.forminator-custom-form .forminator-field { margin: 0 !important; }
.syn-cf-form .forminator-ui.forminator-custom-form .forminator-input,
.syn-cf-form .forminator-ui.forminator-custom-form .forminator-textarea {
	font-family: "Plus Jakarta Sans", system-ui, sans-serif !important; font-size: 14px !important; line-height: 20px !important; color: #0D1117 !important;
	padding: 11px 16px !important; border-radius: 9999px !important; background: rgba(255, 255, 255, .85) !important; border: 1px solid rgba(0, 0, 0, .10) !important; box-shadow: none !important; width: 100%; box-sizing: border-box; transition: box-shadow .15s, border-color .15s;
}
.syn-cf-form .forminator-ui.forminator-custom-form .forminator-input { height: 44px !important; }
.syn-cf-form .forminator-ui.forminator-custom-form .forminator-textarea { border-radius: 16px !important; min-height: 0 !important; height: 138px !important; resize: vertical; }
.syn-cf-form .forminator-ui.forminator-custom-form .forminator-input::placeholder, .syn-cf-form .forminator-ui.forminator-custom-form .forminator-textarea::placeholder { color: #8A95A3 !important; opacity: 1; }
.syn-cf-form .forminator-ui.forminator-custom-form .forminator-input:focus, .syn-cf-form .forminator-ui.forminator-custom-form .forminator-textarea:focus { outline: none !important; box-shadow: 0 0 0 2px rgba(27, 111, 216, .3) !important; }
.syn-cf-form .forminator-ui.forminator-custom-form .forminator-has_error .forminator-input, .syn-cf-form .forminator-ui.forminator-custom-form .forminator-has_error .forminator-textarea { border-color: #DC2626 !important; }
.syn-cf-form .forminator-ui.forminator-custom-form .forminator-error-message { font-family: "Plus Jakarta Sans", system-ui, sans-serif; font-size: 12px; color: #DC2626; margin: 6px 0 0 16px; }
/* actions row: note left, button right (mt-1) */
.syn-cf-form .forminator-ui.forminator-custom-form .forminator-row.forminator-row-last, .syn-cf-form .forminator-ui.forminator-custom-form[data-grid] .forminator-row.forminator-row-last { display: flex !important; flex-direction: column-reverse; gap: 12px !important; margin-top: 4px !important; }
@media (min-width: 640px) { .syn-cf-form .forminator-ui.forminator-custom-form .forminator-row.forminator-row-last, .syn-cf-form .forminator-ui.forminator-custom-form[data-grid] .forminator-row.forminator-row-last { flex-direction: row; align-items: center; justify-content: space-between; } }
.syn-cf-form .forminator-ui.forminator-custom-form .forminator-row-last .forminator-col { flex: 0 0 auto !important; margin-left: auto !important; }
.syn-cf-form .forminator-ui.forminator-custom-form .syn-contact-note { min-height: 18px; margin: 0 !important; flex: 1 1 auto; text-align: left; }
.syn-cf-form .forminator-ui.forminator-custom-form .syn-contact-note p { margin: 0; font-family: "Plus Jakarta Sans", system-ui, sans-serif; font-size: 12px; line-height: 18px; color: #8A95A3; }
.syn-cf-form .forminator-ui.forminator-custom-form .syn-contact-note a { color: #1B6FD8 !important; text-decoration: none; }
.syn-cf-form .forminator-ui.forminator-custom-form .syn-contact-note a:hover { text-decoration: underline; }
.syn-cf-form .forminator-ui.forminator-custom-form .forminator-button-submit {
	width: auto !important; min-height: 44px; height: 44px; border: 0 !important; border-radius: 9999px !important; background: rgba(27, 111, 216, .10) !important; color: #1B6FD8 !important;
	font-family: "Plus Jakarta Sans", system-ui, sans-serif !important; font-size: 14px !important; line-height: 20px !important; font-weight: 600 !important; padding: 12px 20px !important; margin: 0 !important;
	-webkit-backdrop-filter: blur(28px) saturate(220%); backdrop-filter: blur(28px) saturate(220%);
	box-shadow: inset 0 1.5px 0 #fff, inset 0 -1px 0 rgba(27, 111, 216, .06), 0 0 0 1px rgba(27, 111, 216, .18) !important;
	transition: background .2s, transform .15s !important;
}
.syn-cf-form .forminator-ui.forminator-custom-form .forminator-button-submit:hover { background: rgba(27, 111, 216, .16) !important; transform: translateY(-1px); }
.syn-cf-form .forminator-ui.forminator-custom-form .forminator-button-submit:active { transform: scale(.97); }
/* status line replaces the note, like the source (success green / error red) */
.syn-cf-form .forminator-ui.forminator-custom-form .forminator-response-message { order: 99; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; font-family: "Plus Jakarta Sans", system-ui, sans-serif; font-size: 12px; line-height: 18px; }
.syn-cf-form .forminator-ui.forminator-custom-form .forminator-response-message[aria-hidden="true"] { display: none; }
.syn-cf-form .forminator-ui.forminator-custom-form .forminator-response-message.forminator-success { color: #14B87E !important; }
.syn-cf-form .forminator-ui.forminator-custom-form .forminator-response-message.forminator-error { color: #DC2626 !important; }
.syn-cf-form .forminator-ui.forminator-custom-form .forminator-response-message p { margin: 0; font-size: 12px; color: inherit; }
.syn-cf-form .forminator-ui.forminator-custom-form:has(.forminator-response-message:not([aria-hidden="true"])) .syn-contact-note { visibility: hidden; }
.syn-contact-note.is-detached { display: none; }

/* ---- about ---- */
.syn-about__copy p { margin: 0 0 20px; }
.syn-about__copy p:last-child { margin-bottom: 40px; }
.syn-about__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; padding-top: 24px; border-top: 1px solid rgba(0, 0, 0, 0.08); }
@media (min-width: 640px) { .syn-about__stats { gap: 24px; padding-top: 32px; } }
.syn-about__num { margin: 0 0 4px; font-family: "Plus Jakarta Sans", system-ui, sans-serif; font-size: 30px; line-height: 36px; font-weight: 700; color: #1B6FD8; }
.syn-about__stats .syn-mono-lbl { color: #8A95A3; }

/* ---- hero: entrance (source: opacity 0→1, y 24→0, .75s, ease [.16,1,.3,1], staggered 0/.05/.12/.2) + exact button icons ---- */
@keyframes syn-hero-in { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
.syn-hero-in { opacity: 0; animation: syn-hero-in .75s cubic-bezier(.16, 1, .3, 1) forwards; }
.syn-hero-in--1 { animation-delay: .05s; } .syn-hero-in--2 { animation-delay: .12s; } .syn-hero-in--3 { animation-delay: .18s; }
@media (prefers-reduced-motion: reduce) { .syn-hero-in { opacity: 1; animation: none; } }
.btn1 .elementor-button-icon, .btn2 .elementor-button-icon { display: inline-flex; align-items: center; }
.btn1 .elementor-button-icon i, .btn1 .elementor-button-icon svg, .btn2 .elementor-button-icon i, .btn2 .elementor-button-icon svg { display: none; }
.btn1 .elementor-button-icon::before, .btn2 .elementor-button-icon::before { content: ""; display: inline-block; background: currentColor; -webkit-mask: var(--syn-icon) center / contain no-repeat; mask: var(--syn-icon) center / contain no-repeat; }
.btn1 .elementor-button-icon::before { width: 15px; height: 15px; --syn-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 15' fill='none'><path d='M4.5 7.5h6M8.5 5L11 7.5 8.5 10' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/></svg>"); }
.btn2 .elementor-button-icon::before { width: 14px; height: 14px; --syn-icon: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none'><path d='M7 1.5L2 3.5v3.5c0 3 2 5.5 5 6 3-0.5 5-3 5-6V3.5L7 1.5z' stroke='black' stroke-width='1.4' stroke-linejoin='round'/><path d='M5.2 7l1.4 1.4L9 6' stroke='black' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/></svg>"); }
.btn1 .elementor-button-content-wrapper, .btn2 .elementor-button-content-wrapper { gap: 8px; }
/* contact: on phones the source's glass-button-wrap stretches, so Send message is full width (button above the note) */
@media (max-width: 639px) {
	.syn-cf-form .forminator-ui.forminator-custom-form .forminator-row-last .forminator-col { width: 100% !important; margin-left: 0 !important; }
	.syn-cf-form .forminator-ui.forminator-custom-form .forminator-row-last .forminator-field { display: flex; }
	.syn-cf-form .forminator-ui.forminator-custom-form .forminator-button-submit { width: 100% !important; justify-content: center; }
}
