.elementor-kit-350{--e-global-color-primary:#111111;--e-global-color-secondary:#3AB54A;--e-global-color-text:#111111;--e-global-color-accent:#E83535;--e-global-color-dark:#111111;--e-global-color-dark_soft:#333333;--e-global-color-dark_5:#F4F4F4;--e-global-color-black:#000000;--e-global-color-black_5:#F2F2F2;--e-global-color-ink:#111111;--e-global-color-ink_soft:#333333;--e-global-color-ink_5:#F4F4F4;--e-global-color-gray_50:#F9F9F9;--e-global-color-gray_100:#F7F7F7;--e-global-color-gray_200:#EEEEEE;--e-global-color-gray_300:#DDDDDD;--e-global-color-gray_400:#CCCCCC;--e-global-color-gray_500:#888888;--e-global-color-white:#FFFFFF;--e-global-color-white_soft:#FAFAFA;--e-global-color-green:#3AB54A;--e-global-color-green_dark:#2A9438;--e-global-color-green_light:#E8F7EA;--e-global-color-green_5:#F0FAF1;--e-global-color-red:#E83535;--e-global-color-red_dark:#C42B2B;--e-global-color-red_light:#FDEAEA;--e-global-color-red_5:#FDEAEA;--e-global-color-transparent:#FFFFFF00;--e-global-color-overlay:#11111180;--e-global-color-overlay_light:#FFFFFF80;--e-global-typography-text-font-family:"var(--font-default)";--e-global-typography-text-font-size:clamp(0.875rem, 1vw, 1rem)rem;--e-global-typography-text-font-weight:400;--e-global-typography-text-font-style:normal;--e-global-typography-text-line-height:1.65em;--e-global-typography-text-letter-spacing:0.01em;--e-global-typography-secondary-font-family:"var(--font-default)";--e-global-typography-secondary-font-size:1em;--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-font-style:normal;--e-global-typography-secondary-line-height:1.5em;--e-global-typography-primary-font-family:"var(--font-mono)";--e-global-typography-primary-font-size:clamp(0.65rem, 0.8vw, 0.75rem)rem;--e-global-typography-primary-font-weight:400;--e-global-typography-primary-font-style:normal;--e-global-typography-primary-line-height:1.6em;--e-global-typography-primary-letter-spacing:0.03em;--e-global-typography-accent_script-font-family:"var(--font-script)";--e-global-typography-accent_script-font-size:clamp(1.2rem, 2.4vw, 1.8rem)rem;--e-global-typography-accent_script-font-weight:600;--e-global-typography-accent_script-font-style:normal;--e-global-typography-accent_script-line-height:1.3em;--e-global-typography-condensed-font-family:"var(--font-condensed)";--e-global-typography-condensed-font-size:clamp(1.6rem, 3.6vw, 2.6rem)rem;--e-global-typography-condensed-font-weight:700;--e-global-typography-condensed-font-style:normal;--e-global-typography-condensed-line-height:1em;--e-global-typography-condensed-letter-spacing:-0.02em;--e-global-typography-c3e29bf-font-family:"var(--font-default)";--e-global-typography-c3e29bf-font-size:clamp(2.2rem, 5vw, 3.5rem)rem;--e-global-typography-c3e29bf-font-weight:900;--e-global-typography-c3e29bf-font-style:normal;--e-global-typography-c3e29bf-line-height:1em;--e-global-typography-c3e29bf-letter-spacing:-0.03em;--e-global-typography-c5dab96-font-family:"var(--font-default)";--e-global-typography-c5dab96-font-size:clamp(1.8rem, 4vw, 2.8rem)rem;--e-global-typography-c5dab96-font-weight:800;--e-global-typography-c5dab96-font-style:normal;--e-global-typography-c5dab96-line-height:1.05em;--e-global-typography-c5dab96-letter-spacing:-0.025em;--e-global-typography-25899a4-font-family:"var(--font-default)";--e-global-typography-25899a4-font-size:clamp(1.4rem, 3.2vw, 2.2rem)rem;--e-global-typography-25899a4-font-weight:700;--e-global-typography-25899a4-font-style:normal;--e-global-typography-25899a4-line-height:1.1em;--e-global-typography-25899a4-letter-spacing:-0.02em;--e-global-typography-47af3d4-font-family:"var(--font-default)";--e-global-typography-47af3d4-font-size:clamp(1.1rem, 2.4vw, 1.6rem)rem;--e-global-typography-47af3d4-font-weight:700;--e-global-typography-47af3d4-font-style:normal;--e-global-typography-47af3d4-line-height:1.2em;--e-global-typography-47af3d4-letter-spacing:-0.01em;--e-global-typography-2c49a69-font-family:"var(--font-default)";--e-global-typography-2c49a69-font-size:clamp(0.9rem, 1.8vw, 1.2rem)rem;--e-global-typography-2c49a69-font-weight:600;--e-global-typography-2c49a69-font-style:normal;--e-global-typography-2c49a69-line-height:1.3em;--e-global-typography-h6_id-font-family:"var(--font-default)";--e-global-typography-h6_id-font-size:clamp(0.7rem, 1.2vw, 0.9rem)rem;--e-global-typography-h6_id-font-weight:700;--e-global-typography-h6_id-text-transform:uppercase;--e-global-typography-h6_id-font-style:normal;--e-global-typography-h6_id-line-height:1.4em;--e-global-typography-h6_id-letter-spacing:0.08em;--e-global-typography-disp_script-font-family:"var(--font-script)";--e-global-typography-disp_script-font-size:clamp(1.2rem, 2.4vw, 1.8rem)rem;--e-global-typography-disp_script-font-weight:600;--e-global-typography-disp_script-font-style:normal;--e-global-typography-disp_script-line-height:1.2em;--e-global-typography-condensed_display-font-family:"var(--font-condensed)";--e-global-typography-condensed_display-font-size:clamp(1.6rem, 3.6vw, 2.6rem)rem;--e-global-typography-condensed_display-font-weight:700;--e-global-typography-condensed_display-font-style:normal;--e-global-typography-condensed_display-line-height:1em;--e-global-typography-condensed_display-letter-spacing:-0.02em;--e-global-typography-body_lg-font-family:"var(--font-default)";--e-global-typography-body_lg-font-size:clamp(1rem, 1.2vw, 1.125rem)rem;--e-global-typography-body_lg-font-weight:400;--e-global-typography-body_lg-font-style:normal;--e-global-typography-body_lg-line-height:1.65em;--e-global-typography-body_sm-font-family:"var(--font-default)";--e-global-typography-body_sm-font-size:clamp(0.75rem, 0.9vw, 0.875rem)rem;--e-global-typography-body_sm-font-weight:400;--e-global-typography-body_sm-font-style:normal;--e-global-typography-body_sm-line-height:1.6em;--e-global-typography-caption-font-family:"var(--font-default)";--e-global-typography-caption-font-size:clamp(0.65rem, 0.8vw, 0.75rem)rem;--e-global-typography-caption-font-weight:500;--e-global-typography-caption-font-style:normal;--e-global-typography-caption-line-height:1.5em;--e-global-typography-overline-font-family:"var(--font-default)";--e-global-typography-overline-font-size:clamp(0.6rem, 0.7vw, 0.7rem)rem;--e-global-typography-overline-font-weight:700;--e-global-typography-overline-text-transform:uppercase;--e-global-typography-overline-font-style:normal;--e-global-typography-overline-line-height:1.4em;--e-global-typography-overline-letter-spacing:0.08em;--e-global-typography-price-font-family:"var(--font-default)";--e-global-typography-price-font-size:clamp(1.2rem, 2.4vw, 1.6rem)rem;--e-global-typography-price-font-weight:900;--e-global-typography-price-font-style:normal;--e-global-typography-price-line-height:1em;--e-global-typography-price-letter-spacing:-0.02em;--e-global-typography-btn_text-font-family:"var(--font-default)";--e-global-typography-btn_text-font-size:clamp(0.75rem, 0.9vw, 0.875rem)rem;--e-global-typography-btn_text-font-weight:700;--e-global-typography-btn_text-text-transform:uppercase;--e-global-typography-btn_text-font-style:normal;--e-global-typography-btn_text-line-height:1em;--e-global-typography-btn_text-letter-spacing:0.04em;--e-global-typography-sku_mono-font-family:"var(--font-mono)";--e-global-typography-sku_mono-font-size:clamp(0.65rem, 0.8vw, 0.75rem)rem;--e-global-typography-sku_mono-font-weight:400;--e-global-typography-sku_mono-font-style:normal;--e-global-typography-sku_mono-line-height:1.5em;--e-global-typography-sku_mono-letter-spacing:0.03em;font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );font-style:var( --e-global-typography-text-font-style );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-350 button,.elementor-kit-350 input[type="button"],.elementor-kit-350 input[type="submit"],.elementor-kit-350 .elementor-button{background-color:var( --e-global-color-green );font-family:var( --e-global-typography-btn_text-font-family ), Sans-serif;font-size:var( --e-global-typography-btn_text-font-size );font-weight:var( --e-global-typography-btn_text-font-weight );text-transform:var( --e-global-typography-btn_text-text-transform );font-style:var( --e-global-typography-btn_text-font-style );line-height:var( --e-global-typography-btn_text-line-height );letter-spacing:var( --e-global-typography-btn_text-letter-spacing );color:var( --e-global-color-white );border-style:solid;border-width:0px 0px 0px 0px;border-color:var( --e-global-color-green );border-radius:8px 8px 8px 8px;padding:13px 28px 13px 28px;}.elementor-kit-350 button:hover,.elementor-kit-350 button:focus,.elementor-kit-350 input[type="button"]:hover,.elementor-kit-350 input[type="button"]:focus,.elementor-kit-350 input[type="submit"]:hover,.elementor-kit-350 input[type="submit"]:focus,.elementor-kit-350 .elementor-button:hover,.elementor-kit-350 .elementor-button:focus{background-color:var( --e-global-color-green_dark );color:var( --e-global-color-white );border-style:solid;border-width:0px 0px 0px 0px;border-color:var( --e-global-color-green_dark );border-radius:8px 8px 8px 8px;}.elementor-kit-350 e-page-transition{background-color:var( --e-global-color-green );}.elementor-kit-350 p{margin-block-end:1.3em;}.elementor-kit-350 a{color:var( --e-global-color-green );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );font-style:var( --e-global-typography-text-font-style );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-350 a:hover{color:var( --e-global-color-green_dark );}.elementor-kit-350 h1{color:var( --e-global-color-dark );font-family:var( --e-global-typography-c3e29bf-font-family ), Sans-serif;font-size:var( --e-global-typography-c3e29bf-font-size );font-weight:var( --e-global-typography-c3e29bf-font-weight );font-style:var( --e-global-typography-c3e29bf-font-style );line-height:var( --e-global-typography-c3e29bf-line-height );letter-spacing:var( --e-global-typography-c3e29bf-letter-spacing );}.elementor-kit-350 h2{color:var( --e-global-color-dark );font-family:var( --e-global-typography-c5dab96-font-family ), Sans-serif;font-size:var( --e-global-typography-c5dab96-font-size );font-weight:var( --e-global-typography-c5dab96-font-weight );font-style:var( --e-global-typography-c5dab96-font-style );line-height:var( --e-global-typography-c5dab96-line-height );letter-spacing:var( --e-global-typography-c5dab96-letter-spacing );}.elementor-kit-350 h3{color:var( --e-global-color-dark );font-family:var( --e-global-typography-25899a4-font-family ), Sans-serif;font-size:var( --e-global-typography-25899a4-font-size );font-weight:var( --e-global-typography-25899a4-font-weight );font-style:var( --e-global-typography-25899a4-font-style );line-height:var( --e-global-typography-25899a4-line-height );letter-spacing:var( --e-global-typography-25899a4-letter-spacing );}.elementor-kit-350 h4{color:var( --e-global-color-dark );font-family:var( --e-global-typography-47af3d4-font-family ), Sans-serif;font-size:var( --e-global-typography-47af3d4-font-size );font-weight:var( --e-global-typography-47af3d4-font-weight );font-style:var( --e-global-typography-47af3d4-font-style );line-height:var( --e-global-typography-47af3d4-line-height );letter-spacing:var( --e-global-typography-47af3d4-letter-spacing );}.elementor-kit-350 h5{color:var( --e-global-color-dark );font-family:var( --e-global-typography-2c49a69-font-family ), Sans-serif;font-size:var( --e-global-typography-2c49a69-font-size );font-weight:var( --e-global-typography-2c49a69-font-weight );font-style:var( --e-global-typography-2c49a69-font-style );line-height:var( --e-global-typography-2c49a69-line-height );}.elementor-kit-350 h6{color:var( --e-global-color-dark );font-family:var( --e-global-typography-h6_id-font-family ), Sans-serif;font-size:var( --e-global-typography-h6_id-font-size );font-weight:var( --e-global-typography-h6_id-font-weight );text-transform:var( --e-global-typography-h6_id-text-transform );font-style:var( --e-global-typography-h6_id-font-style );line-height:var( --e-global-typography-h6_id-line-height );letter-spacing:var( --e-global-typography-h6_id-letter-spacing );}.elementor-kit-350 label{color:var( --e-global-color-dark );}.elementor-kit-350 input:not([type="button"]):not([type="submit"]),.elementor-kit-350 textarea,.elementor-kit-350 .elementor-field-textual{font-family:var( --e-global-typography-body_sm-font-family ), Sans-serif;font-size:var( --e-global-typography-body_sm-font-size );font-weight:var( --e-global-typography-body_sm-font-weight );font-style:var( --e-global-typography-body_sm-font-style );line-height:var( --e-global-typography-body_sm-line-height );color:var( --e-global-color-dark );accent-color:var( --e-global-color-green );background-color:var( --e-global-color-white );border-style:solid;border-width:1px 1px 1px 1px;border-color:var( --e-global-color-gray_200 );border-radius:8px 8px 8px 8px;padding:12px 16px 12px 16px;}.elementor-kit-350 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-350 textarea:focus,.elementor-kit-350 .elementor-field-textual:focus{accent-color:var( --e-global-color-green );background-color:var( --e-global-color-white );border-style:solid;border-width:2px 2px 2px 2px;border-color:var( --e-global-color-green );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-lightbox{background-color:var( --e-global-color-dark );}@media(max-width:1366px){.elementor-kit-350{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-350 a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-350 h1{font-size:var( --e-global-typography-c3e29bf-font-size );line-height:var( --e-global-typography-c3e29bf-line-height );letter-spacing:var( --e-global-typography-c3e29bf-letter-spacing );}.elementor-kit-350 h2{font-size:var( --e-global-typography-c5dab96-font-size );line-height:var( --e-global-typography-c5dab96-line-height );letter-spacing:var( --e-global-typography-c5dab96-letter-spacing );}.elementor-kit-350 h3{font-size:var( --e-global-typography-25899a4-font-size );line-height:var( --e-global-typography-25899a4-line-height );letter-spacing:var( --e-global-typography-25899a4-letter-spacing );}.elementor-kit-350 h4{font-size:var( --e-global-typography-47af3d4-font-size );line-height:var( --e-global-typography-47af3d4-line-height );letter-spacing:var( --e-global-typography-47af3d4-letter-spacing );}.elementor-kit-350 h5{font-size:var( --e-global-typography-2c49a69-font-size );line-height:var( --e-global-typography-2c49a69-line-height );}.elementor-kit-350 h6{font-size:var( --e-global-typography-h6_id-font-size );line-height:var( --e-global-typography-h6_id-line-height );letter-spacing:var( --e-global-typography-h6_id-letter-spacing );}.elementor-kit-350 button,.elementor-kit-350 input[type="button"],.elementor-kit-350 input[type="submit"],.elementor-kit-350 .elementor-button{font-size:var( --e-global-typography-btn_text-font-size );line-height:var( --e-global-typography-btn_text-line-height );letter-spacing:var( --e-global-typography-btn_text-letter-spacing );padding:12px 24px 12px 24px;}.elementor-kit-350 input:not([type="button"]):not([type="submit"]),.elementor-kit-350 textarea,.elementor-kit-350 .elementor-field-textual{font-size:var( --e-global-typography-body_sm-font-size );line-height:var( --e-global-typography-body_sm-line-height );}}@media(max-width:1024px){.elementor-kit-350{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-350 a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-350 h1{font-size:var( --e-global-typography-c3e29bf-font-size );line-height:var( --e-global-typography-c3e29bf-line-height );letter-spacing:var( --e-global-typography-c3e29bf-letter-spacing );}.elementor-kit-350 h2{font-size:var( --e-global-typography-c5dab96-font-size );line-height:var( --e-global-typography-c5dab96-line-height );letter-spacing:var( --e-global-typography-c5dab96-letter-spacing );}.elementor-kit-350 h3{font-size:var( --e-global-typography-25899a4-font-size );line-height:var( --e-global-typography-25899a4-line-height );letter-spacing:var( --e-global-typography-25899a4-letter-spacing );}.elementor-kit-350 h4{font-size:var( --e-global-typography-47af3d4-font-size );line-height:var( --e-global-typography-47af3d4-line-height );letter-spacing:var( --e-global-typography-47af3d4-letter-spacing );}.elementor-kit-350 h5{font-size:var( --e-global-typography-2c49a69-font-size );line-height:var( --e-global-typography-2c49a69-line-height );}.elementor-kit-350 h6{font-size:var( --e-global-typography-h6_id-font-size );line-height:var( --e-global-typography-h6_id-line-height );letter-spacing:var( --e-global-typography-h6_id-letter-spacing );}.elementor-kit-350 button,.elementor-kit-350 input[type="button"],.elementor-kit-350 input[type="submit"],.elementor-kit-350 .elementor-button{font-size:var( --e-global-typography-btn_text-font-size );line-height:var( --e-global-typography-btn_text-line-height );letter-spacing:var( --e-global-typography-btn_text-letter-spacing );padding:11px 20px 11px 20px;}.elementor-kit-350 input:not([type="button"]):not([type="submit"]),.elementor-kit-350 textarea,.elementor-kit-350 .elementor-field-textual{font-size:var( --e-global-typography-body_sm-font-size );line-height:var( --e-global-typography-body_sm-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-350{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-350 a{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-350 h1{font-size:var( --e-global-typography-c3e29bf-font-size );line-height:var( --e-global-typography-c3e29bf-line-height );letter-spacing:var( --e-global-typography-c3e29bf-letter-spacing );}.elementor-kit-350 h2{font-size:var( --e-global-typography-c5dab96-font-size );line-height:var( --e-global-typography-c5dab96-line-height );letter-spacing:var( --e-global-typography-c5dab96-letter-spacing );}.elementor-kit-350 h3{font-size:var( --e-global-typography-25899a4-font-size );line-height:var( --e-global-typography-25899a4-line-height );letter-spacing:var( --e-global-typography-25899a4-letter-spacing );}.elementor-kit-350 h4{font-size:var( --e-global-typography-47af3d4-font-size );line-height:var( --e-global-typography-47af3d4-line-height );letter-spacing:var( --e-global-typography-47af3d4-letter-spacing );}.elementor-kit-350 h5{font-size:var( --e-global-typography-2c49a69-font-size );line-height:var( --e-global-typography-2c49a69-line-height );}.elementor-kit-350 h6{font-size:var( --e-global-typography-h6_id-font-size );line-height:var( --e-global-typography-h6_id-line-height );letter-spacing:var( --e-global-typography-h6_id-letter-spacing );}.elementor-kit-350 button,.elementor-kit-350 input[type="button"],.elementor-kit-350 input[type="submit"],.elementor-kit-350 .elementor-button{font-size:var( --e-global-typography-btn_text-font-size );line-height:var( --e-global-typography-btn_text-line-height );letter-spacing:var( --e-global-typography-btn_text-letter-spacing );padding:10px 18px 10px 18px;}.elementor-kit-350 input:not([type="button"]):not([type="submit"]),.elementor-kit-350 textarea,.elementor-kit-350 .elementor-field-textual{font-size:var( --e-global-typography-body_sm-font-size );line-height:var( --e-global-typography-body_sm-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ============================================
   MACHARIA.CO.KE — BRAND DESIGN SYSTEM
   Based on Bento Style Portfolio
   Edit :root variables to swap fonts globally
   ============================================ */

:root {
  /* === FONT FAMILIES (White-Label Ready) === */
  --font-default: 'Barlow', sans-serif;
  --font-condensed: 'Barlow Condensed', sans-serif;
  --font-script: 'Caveat', cursive;
  --font-mono: 'Fira Mono', monospace;

  /* === FONT WEIGHTS === */
  --font-weight-light: 300;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;
  --font-weight-black: 900;

  /* === BRAND COLORS (Macharia.co.ke) === */
  --color-primary: #111111;
  --color-secondary: #3AB54A;
  --color-accent: #E83535;
  --color-dark: #111111;
  --color-dark-soft: #333333;
  --color-dark-5: #F4F4F4;
  --color-black: #000000;
  --color-black-5: #F2F2F2;
  --color-white: #FFFFFF;
  --color-white-soft: #FAFAFA;
  --color-gray-50: #F9F9F9;
  --color-gray-100: #F7F7F7;
  --color-gray-200: #EEEEEE;
  --color-gray-300: #DDDDDD;
  --color-gray-400: #CCCCCC;
  --color-gray-500: #888888;
  --color-green: #3AB54A;
  --color-green-dark: #2A9438;
  --color-green-light: #E8F7EA;
  --color-green-5: #F0FAF1;
  --color-red: #E83535;
  --color-red-dark: #C42B2B;
  --color-red-light: #FDEAEA;
  --color-red-5: #FDEAEA;
  --color-overlay: #11111180;
  --color-overlay-light: #FFFFFF80;
  --color-transparent: #FFFFFF00;

  /* === SPACING === */
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 40px;
  --space-2xl: 64px;
  --space-3xl: 80px;

  /* === RADIUS === */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-full: 9999px;
}

/* ============================================
   TAILWIND-INSPIRED UTILITY CLASSES
   For Elementor Atomic Editor
   ============================================ */

/* --- Typography --- */
.text-h1 {
  font-family: var(--font-default);
  font-weight: var(--font-weight-black);
  font-size: clamp(2.2rem, 5vw, 3.5rem);
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--color-primary);
}
.text-h2 {
  font-family: var(--font-default);
  font-weight: var(--font-weight-extrabold);
  font-size: clamp(1.8rem, 4vw, 2.8rem);
  line-height: 1.05;
  letter-spacing: -0.025em;
  color: var(--color-primary);
}
.text-h3 {
  font-family: var(--font-default);
  font-weight: var(--font-weight-bold);
  font-size: clamp(1.4rem, 3.2vw, 2.2rem);
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--color-primary);
}
.text-h4 {
  font-family: var(--font-default);
  font-weight: var(--font-weight-bold);
  font-size: clamp(1.1rem, 2.4vw, 1.6rem);
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--color-primary);
}
.text-h5 {
  font-family: var(--font-default);
  font-weight: var(--font-weight-semibold);
  font-size: clamp(0.9rem, 1.8vw, 1.2rem);
  line-height: 1.3;
  color: var(--color-primary);
}
.text-h6 {
  font-family: var(--font-default);
  font-weight: var(--font-weight-bold);
  font-size: clamp(0.7rem, 1.2vw, 0.9rem);
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-primary);
}
.text-body {
  font-family: var(--font-default);
  font-weight: var(--font-weight-regular);
  font-size: clamp(0.875rem, 1vw, 1rem);
  line-height: 1.65;
  letter-spacing: 0.01em;
  color: var(--color-dark-soft);
}
.text-body-lg {
  font-family: var(--font-default);
  font-weight: var(--font-weight-regular);
  font-size: clamp(1rem, 1.2vw, 1.125rem);
  line-height: 1.65;
  color: var(--color-dark-soft);
}
.text-body-sm {
  font-family: var(--font-default);
  font-weight: var(--font-weight-regular);
  font-size: clamp(0.75rem, 0.9vw, 0.875rem);
  line-height: 1.6;
  color: var(--color-dark-soft);
}
.text-caption {
  font-family: var(--font-default);
  font-weight: var(--font-weight-medium);
  font-size: clamp(0.65rem, 0.8vw, 0.75rem);
  line-height: 1.5;
  letter-spacing: 0.02em;
  color: var(--color-gray-500);
}
.text-overline {
  font-family: var(--font-default);
  font-weight: var(--font-weight-bold);
  font-size: clamp(0.6rem, 0.7vw, 0.7rem);
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-gray-500);
}
.text-script {
  font-family: var(--font-script);
  font-weight: var(--font-weight-semibold);
  font-size: clamp(1.2rem, 2.4vw, 1.8rem);
  line-height: 1.2;
  color: var(--color-secondary);
}
.text-condensed {
  font-family: var(--font-condensed);
  font-weight: var(--font-weight-bold);
  font-size: clamp(1.6rem, 3.6vw, 2.6rem);
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--color-primary);
}
.text-mono {
  font-family: var(--font-mono);
  font-weight: var(--font-weight-regular);
  font-size: clamp(0.65rem, 0.8vw, 0.75rem);
  letter-spacing: 0.03em;
  color: var(--color-gray-500);
}
.text-btn {
  font-family: var(--font-default);
  font-weight: var(--font-weight-bold);
  font-size: clamp(0.75rem, 0.9vw, 0.875rem);
  line-height: 1;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.text-price {
  font-family: var(--font-default);
  font-weight: var(--font-weight-black);
  font-size: clamp(1.2rem, 2.4vw, 1.6rem);
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--color-secondary);
}

/* --- Font Weights --- */
.font-light     { font-weight: var(--font-weight-light); }
.font-regular   { font-weight: var(--font-weight-regular); }
.font-medium    { font-weight: var(--font-weight-medium); }
.font-semibold  { font-weight: var(--font-weight-semibold); }
.font-bold      { font-weight: var(--font-weight-bold); }
.font-extrabold { font-weight: var(--font-weight-extrabold); }
.font-black     { font-weight: var(--font-weight-black); }

/* --- Font Styles --- */
.italic     { font-style: italic; }
.not-italic { font-style: normal; }
.uppercase  { text-transform: uppercase; }
.lowercase  { text-transform: lowercase; }
.capitalize { text-transform: capitalize; }

/* --- Text Colors --- */
.text-primary   { color: var(--color-primary); }
.text-secondary { color: var(--color-secondary); }
.text-accent    { color: var(--color-accent); }
.text-white     { color: var(--color-white); }
.text-black     { color: var(--color-black); }
.text-ink       { color: var(--color-dark); }
.text-ink-soft  { color: var(--color-dark-soft); }
.text-muted     { color: var(--color-gray-500); }
.text-green     { color: var(--color-green); }
.text-red       { color: var(--color-red); }

/* --- Background Colors --- */
.bg-primary     { background: var(--color-primary); }
.bg-secondary   { background: var(--color-secondary); }
.bg-accent      { background: var(--color-accent); }
.bg-white       { background: var(--color-white); }
.bg-black       { background: var(--color-black); }
.bg-gray-50     { background: var(--color-gray-50); }
.bg-gray-100    { background: var(--color-gray-100); }
.bg-gray-200    { background: var(--color-gray-200); }
.bg-green       { background: var(--color-green); }
.bg-green-5     { background: var(--color-green-5); }
.bg-green-light { background: var(--color-green-light); }
.bg-red         { background: var(--color-red); }
.bg-red-5       { background: var(--color-red-5); }
.bg-red-light   { background: var(--color-red-light); }
.bg-transparent { background: var(--color-transparent); }
.bg-overlay     { background: var(--color-overlay); }

/* --- Spacing (Padding) --- */
.p-xs  { padding: var(--space-xs); }
.p-sm  { padding: var(--space-sm); }
.p-md  { padding: var(--space-md); }
.p-lg  { padding: var(--space-lg); }
.p-xl  { padding: var(--space-xl); }
.p-2xl { padding: var(--space-2xl); }
.p-3xl { padding: var(--space-3xl); }
.pt-xs { padding-top: var(--space-xs); }
.pt-sm { padding-top: var(--space-sm); }
.pt-md { padding-top: var(--space-md); }
.pt-lg { padding-top: var(--space-lg); }
.pt-xl { padding-top: var(--space-xl); }
.pb-xs { padding-bottom: var(--space-xs); }
.pb-sm { padding-bottom: var(--space-sm); }
.pb-md { padding-bottom: var(--space-md); }
.pb-lg { padding-bottom: var(--space-lg); }
.pb-xl { padding-bottom: var(--space-xl); }
.px-xs { padding-left: var(--space-xs); padding-right: var(--space-xs); }
.px-sm { padding-left: var(--space-sm); padding-right: var(--space-sm); }
.px-md { padding-left: var(--space-md); padding-right: var(--space-md); }
.px-lg { padding-left: var(--space-lg); padding-right: var(--space-lg); }
.px-xl { padding-left: var(--space-xl); padding-right: var(--space-xl); }
.py-xs { padding-top: var(--space-xs); padding-bottom: var(--space-xs); }
.py-sm { padding-top: var(--space-sm); padding-bottom: var(--space-sm); }
.py-md { padding-top: var(--space-md); padding-bottom: var(--space-md); }
.py-lg { padding-top: var(--space-lg); padding-bottom: var(--space-lg); }
.py-xl { padding-top: var(--space-xl); padding-bottom: var(--space-xl); }

/* --- Spacing (Margin) --- */
.m-xs  { margin: var(--space-xs); }
.m-sm  { margin: var(--space-sm); }
.m-md  { margin: var(--space-md); }
.m-lg  { margin: var(--space-lg); }
.m-xl  { margin: var(--space-xl); }
.m-2xl { margin: var(--space-2xl); }
.m-3xl { margin: var(--space-3xl); }
.mt-xs { margin-top: var(--space-xs); }
.mt-sm { margin-top: var(--space-sm); }
.mt-md { margin-top: var(--space-md); }
.mt-lg { margin-top: var(--space-lg); }
.mt-xl { margin-top: var(--space-xl); }
.mb-xs { margin-bottom: var(--space-xs); }
.mb-sm { margin-bottom: var(--space-sm); }
.mb-md { margin-bottom: var(--space-md); }
.mb-lg { margin-bottom: var(--space-lg); }
.mb-xl { margin-bottom: var(--space-xl); }
.mx-auto { margin-left: auto; margin-right: auto; }

/* --- Flexbox --- */
.flex         { display: flex; }
.inline-flex  { display: inline-flex; }
.flex-col     { flex-direction: column; }
.flex-row     { flex-direction: row; }
.flex-wrap    { flex-wrap: wrap; }
.flex-nowrap  { flex-wrap: nowrap; }
.items-center { align-items: center; }
.items-start  { align-items: flex-start; }
.items-end    { align-items: flex-end; }
.items-stretch { align-items: stretch; }
.justify-center { justify-content: center; }
.justify-start  { justify-content: flex-start; }
.justify-end    { justify-content: flex-end; }
.justify-between { justify-content: space-between; }
.justify-around  { justify-content: space-around; }
.justify-evenly  { justify-content: space-evenly; }
.gap-xs { gap: var(--space-xs); }
.gap-sm { gap: var(--space-sm); }
.gap-md { gap: var(--space-md); }
.gap-lg { gap: var(--space-lg); }
.gap-xl { gap: var(--space-xl); }

/* --- Grid --- */
.grid         { display: grid; }
.grid-cols-2  { grid-template-columns: repeat(2, 1fr); }
.grid-cols-3  { grid-template-columns: repeat(3, 1fr); }
.grid-cols-4  { grid-template-columns: repeat(4, 1fr); }
.grid-cols-5  { grid-template-columns: repeat(5, 1fr); }
.grid-cols-6  { grid-template-columns: repeat(6, 1fr); }

/* --- Border Radius --- */
.rounded-none { border-radius: 0; }
.rounded-sm   { border-radius: var(--radius-sm); }
.rounded-md   { border-radius: var(--radius-md); }
.rounded-lg   { border-radius: var(--radius-lg); }
.rounded-xl   { border-radius: var(--radius-xl); }
.rounded-full { border-radius: var(--radius-full); }

/* --- Shadows --- */
.shadow-none { box-shadow: none; }
.shadow-sm   { box-shadow: 0 2px 8px rgba(0,0,0,0.08); }
.shadow-md   { box-shadow: 0 4px 20px rgba(0,0,0,0.12); }
.shadow-lg   { box-shadow: 0 8px 40px rgba(0,0,0,0.16); }
.shadow-xl   { box-shadow: 0 30px 80px rgba(0,0,0,0.50); }

/* --- Width & Height --- */
.w-full  { width: 100%; }
.w-auto  { width: auto; }
.w-screen { width: 100vw; }
.w-1\/2 { width: 50%; }
.w-1\/3 { width: 33.333333%; }
.w-2\/3 { width: 66.666667%; }
.w-1\/4 { width: 25%; }
.w-3\/4 { width: 75%; }
.h-full  { height: 100%; }
.h-auto  { height: auto; }
.h-screen { height: 100vh; }

/* --- Text Alignment --- */
.text-left   { text-align: left; }
.text-center { text-align: center; }
.text-right  { text-align: right; }

/* --- Transitions --- */
.transition      { transition: all 0.3s ease; }
.transition-fast { transition: all 0.15s ease; }
.transition-slow { transition: all 0.6s ease; }

/* --- Container --- */
.container-brand {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--space-lg);
  padding-right: var(--space-lg);
}

@media (max-width: 767px) {
  .container-brand {
    padding-left: var(--space-md);
    padding-right: var(--space-md);
  }
}

/* --- Responsive Visibility --- */
.hide-mobile  { display: block; }
.show-mobile  { display: none; }

@media (max-width: 767px) {
  .hide-mobile { display: none; }
  .show-mobile { display: block; }
}

/* --- Elementor Cleanup --- */
.elementor-widget-text-editor p:last-child {
  margin-bottom: 0;
}

button, input, select, textarea {
  font-family: var(--font-default), sans-serif;
}

/* --- Border Utilities --- */
.border        { border: 1px solid var(--color-gray-200); }
.border-2      { border: 2px solid var(--color-gray-200); }
.border-primary { border-color: var(--color-primary); }
.border-green   { border-color: var(--color-green); }
.border-red     { border-color: var(--color-red); }
.border-white   { border-color: var(--color-white); }
.border-transparent { border-color: transparent; }

/* --- Object Fit --- */
.object-cover { object-fit: cover; }
.object-contain { object-fit: contain; }
.object-fill { object-fit: fill; }
.object-none { object-fit: none; }

/* --- Z-Index --- */
.z-0 { z-index: 0; }
.z-10 { z-index: 10; }
.z-20 { z-index: 20; }
.z-30 { z-index: 30; }
.z-40 { z-index: 40; }
.z-50 { z-index: 50; }
.z-auto { z-index: auto; }

/* --- Opacity --- */
.opacity-0 { opacity: 0; }
.opacity-25 { opacity: 0.25; }
.opacity-50 { opacity: 0.5; }
.opacity-75 { opacity: 0.75; }
.opacity-100 { opacity: 1; }

/* --- Position --- */
.relative { position: relative; }
.absolute { position: absolute; }
.fixed { position: fixed; }
.sticky { position: sticky; }

/* --- Overflow --- */
.overflow-hidden { overflow: hidden; }
.overflow-auto { overflow: auto; }
.overflow-scroll { overflow: scroll; }
.overflow-visible { overflow: visible; }/* End custom CSS */