/* FM4 DesignEngine — auto-generated 2026-06-02 08:27:34 — do not edit manually */

:root {
  --fm4-block-filter:none;
  --fm4-block-shadow:none;
  --fm4-block-drop-filter:none;
  --fm4-figure-filter:none;
  --fm4-img-filter:none;
  --fm4-block-radius:var(--fm4-global-radius,0);
  --fm4-block-opacity:1;
  --fm4-block-bg:transparent;
  --fm4-block-border:none;
  --fm4-block-overflow:visible;
  --fm4-block-bdblur:none;
  --fm4-block-mask:none;
  --fm4-block-decoration:none;
  --fm4-block-decoration-display:none;
  --fm4-block-margin:0;
  --fm4-block-margin-top:var(--fm4-section-gap,var(--fm4-block-spacing,0));
  --fm4-block-margin-right:var(--fm4-block-margin,0);
  --fm4-block-margin-bottom:var(--fm4-block-margin,0);
  --fm4-block-margin-left:var(--fm4-block-margin,0);
  --fm4-block-padding-top:var(--fm4-block-padding-v,0);
  --fm4-block-padding-right:var(--fm4-block-padding-h,0);
  --fm4-block-padding-bottom:var(--fm4-block-padding-v,0);
  --fm4-block-padding-left:var(--fm4-block-padding-h,0);
  --fm4-block-focal-x:50%;
  --fm4-block-focal-y:50%;
  --fm4-block-ar:auto;
  --fm4-txt-radius:0;
  --fm4-txt-mask:none;
  --fm4-txt-margin:0;
}

:root {
  --fm4-mask-circle: ellipse(50% 50% at 50% 50%);
  --fm4-mask-portrait: inset(0% 10% 0% 10% round 100px);
  --fm4-mask-squircle: polygon(5% 0%,95% 0%,100% 5%,100% 95%,95% 100%,5% 100%,0% 95%,0% 5%);
  --fm4-mask-hexagon: polygon(25% 0%,75% 0%,100% 50%,75% 100%,25% 100%,0% 50%);
  --fm4-mask-organic: polygon(48% 9%,85% 20%,100% 50%,80% 90%,45% 100%,15% 80%,0% 50%,15% 15%);
  --fm4-filter-glass: blur(8px) saturate(180%) brightness(1.05);
  --fm4-filter-sepia: sepia(80%) contrast(1.1);
  --fm4-filter-grayscale: grayscale(100%);
  --fm4-filter-vintage: sepia(40%) contrast(1.05) brightness(0.95) saturate(0.8);
  --fm4-filter-vivid: saturate(160%) contrast(1.1);
  --fm4-filter-warm: sepia(30%) saturate(140%) hue-rotate(-5deg) brightness(1.05);
  --fm4-filter-cool: saturate(80%) hue-rotate(20deg) brightness(1.05);
  --fm4-block-spacing: 24px;
  --fm4-space-tight: 0.5rem;
  --fm4-space-read: 1.25rem;
  --fm4-space-breathe: 2.5rem;
  --fm4-space-section: 5rem;
  --fm4-heading-font: Lato;
  --theme-heading-font: Lato;
  --theme-font-head: Lato;
  --fm4-body-font: Raleway;
  --theme-body-font: Raleway;
  --theme-font-body: Raleway;
  --fm4-primary-color: #E66100;
  --theme-primary: #E66100;
  --fm4-background-color: #F8FAFC;
  --theme-bg: #F8FAFC;
  --fm4-surface-color: #FFFFFF;
  --theme-surface: #FFFFFF;
  --fm4-text-color: #1E293B;
  --theme-text: #1E293B;
  --fm4-border-color: #E2E8F0;
  --theme-border: #E2E8F0;
  --fm4-container-width: 1200px;
  --container-width: 1200px;
  --fm4-sidebar-width: 280px;
  --sidebar-width: 280px;
  --fm4-global-radius: 16px;
  --theme-radius: 16px;
  --global-radius: 16px;
  --fm4-block-spacing: 36px;
  --block-spacing: 36px;
  --fm4-accent-color: #F8E45C;
  --theme-accent: #F8E45C;
  --fm4-image-radius: 17px;
  --image-radius: 17px;
  --fm4-block-padding-v: 0rem;
  --block-padding-v: 0rem;
  --fm4-block-padding-h: 0rem;
  --block-padding-h: 0rem;
  --fm4-type-scale: 1.5;
  --theme-type-scale: 1.5;
  --fm4-h1-size: 3.00em;
  --h1-size: 3.00em;
  --fm4-h2-size: 1.55em;
  --h2-size: 1.55em;
  --fm4-h3-size: 1.35em;
  --h3-size: 1.35em;
  --fm4-heading-line-height: 0.90;
  --heading-line-height: 0.90;
  --fm4-body-line-height: 1.85;
  --body-line-height: 1.85;
  --fm4-h2-margin-top: 0.00rem;
  --h2-margin-top: 0.00rem;
  --fm4-h3-margin-top: 1.00rem;
  --h3-margin-top: 1.00rem;
  --fm4-paragraph-margin: 1.40rem;
  --paragraph-margin: 1.40rem;
  --fm4-heading-gap: 2.3500rem;
  --heading-gap: 2.3500rem;
  --fm4-p-margin-top: 0.0000rem;
  --p-margin-top: 0.0000rem;
  --fm4-section-gap: 0.00rem;
  --section-gap: 0.00rem;
  --fm4-page-title-top-gap: 2.6000rem;
  --page-title-top-gap: 2.6000rem;
  --fm4-page-title-content-gap: 0.8500rem;
  --page-title-content-gap: 0.8500rem;
  --fm4-content-gap: 0.6500rem;
  --content-gap: 0.6500rem;
  --fm4-project-id: 1;
  --project-id: 1;
  --fm4-space-tight: 0.50rem;
  --space-tight: 0.50rem;
  --fm4-space-read: 1.25rem;
  --space-read: 1.25rem;
  --fm4-space-breathe: 2.40rem;
  --space-breathe: 2.40rem;
  --fm4-space-section: 5.00rem;
  --space-section: 5.00rem;
  --fm4-primary-color: #E66100;
  --primary-color: #E66100;
  --fm4-accent-color: #F8E45C;
  --accent-color: #F8E45C;
  --fm4-background-color: #F8FAFC;
  --background-color: #F8FAFC;
  --fm4-surface-color: #FFFFFF;
  --surface-color: #FFFFFF;
  --fm4-text-color: #1E293B;
  --text-color: #1E293B;
  --fm4-border-color: #E2E8F0;
  --border-color: #E2E8F0;
  --fm4-global-radius: 16px;
  --global-radius: 16px;
  --fm4-image-radius: 17px;
  --fm4-block-spacing: 36px;
  --block-padding-v: 0rem;
  --fm4-block-padding-v: 0rem;
  --block-padding-h: 0rem;
  --fm4-block-padding-h: 0rem;
  --container-width: 1200px;
  --fm4-container-width: 1200px;
  --sidebar-width: 280px;
  --fm4-sidebar-width: 280px;
  --type-scale: 1.5;
  --fm4-type-scale: 1.5;
  --heading-font: Lato;
  --fm4-heading-font: Lato;
  --body-font: Raleway;
  --fm4-body-font: Raleway;
  --h1-size: 3em;
  --h2-size: 1.55em;
  --h3-size: 1.35em;
  --heading-line-height: 0.90;
  --body-line-height: 1.85;
  --h2-margin-top: 0rem;
  --h3-margin-top: 1rem;
  --paragraph-margin: 1.4rem;
  --p-margin-top: 0rem;
  --heading-gap: 2.35rem;
  --section-gap: 0rem;
  --content-gap: 0.65rem;
  --page-title-top-gap: 2.6rem;
  --page-title-content-gap: 0.85rem;
  --space-tight: 0.5rem;
  --space-read: 1.25rem;
  --space-breathe: 2.4rem;
  --space-section: 5rem;
  --grid-columns: 12;
  --grid-gap: 2rem;
  --fm4-dual-themes: 1;
}

.fm4-g-main-content {
  --fm4-body-line-height: 1.65;
}

.fm4-g-sidebar-widgets {
  --fm4-h2-margin-top: 1rem;
  --fm4-h2-size: 0.6em;
  --fm4-body-line-height: 1.15;
  --fm4-paragraph-margin: 1rem;
  --fm4-section-gap: 3rem;
  --fm4-text-align: center;
  --fm4-h1-size: 3em;
  --fm4-h3-size: 0.65em;
  --fm4-p-margin-top: 0.75rem;
}

:root.dark-mode {
  --fm4-primary-color: #a78bfa;
  --theme-primary: #a78bfa;
  --fm4-background-color: #0f172a;
  --theme-bg: #0f172a;
  --fm4-surface-color: #1e293b;
  --theme-surface: #1e293b;
  --fm4-text-color: #f1f5f9;
  --theme-text: #f1f5f9;
  --fm4-border-color: #440044;
  --theme-border: #440044;
  --fm4-accent-color: #613583;
  --theme-accent: #613583;
}


/* Dynamic Style Registry */
.fm4-fx-1{filter:grayscale(100%);transform:translateZ(0);will-change:filter;}
.fm4-fx-2{filter:sepia(100%);transform:translateZ(0);will-change:filter;}
.fm4-fx-3{filter:contrast(1.4) saturate(1.3);transform:translateZ(0);will-change:filter;}
.fm4-fx-4{filter:blur(12px) brightness(1.1) saturate(1.6);transform:translateZ(0);will-change:filter;}
.fm4-fx-5{filter:sepia(30%) contrast(0.9) brightness(0.9) hue-rotate(-10deg);transform:translateZ(0);will-change:filter;}
.fm4-fx-6{filter:brightness(1.05) contrast(0.85) blur(3px);transform:translateZ(0);will-change:filter;}
.fm4-fx-7{filter:hue-rotate(160deg) saturate(2.5) contrast(1.2);transform:translateZ(0);will-change:filter;}
.fm4-mask-id-1{clip-path:circle(50% at 50% 50%);}
.fm4-mask-id-2{clip-path:polygon(5% 0%, 95% 0%, 100% 5%, 100% 95%, 95% 100%, 5% 100%, 0% 95%, 0% 5%);}
.fm4-mask-id-3{clip-path:polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);}
.fm4-mask-id-4{clip-path:polygon(48% 9%, 85% 20%, 100% 50%, 80% 90%, 45% 100%, 15% 80%, 0% 50%, 15% 15%);}
.fm4-mask-id-5{clip-path:inset(0% 10% 0% 10% round 100px);}
.fm4-mask-id-6{clip-path:polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);}
