/**
 * Home Page Styles - Complete Framer CSS
 * Extracted from original design
 */

/* ===========================
   Override Framer Border Styles
   =========================== */

/* Remove Framer's automatic border styles - using higher specificity */
html:where([style*=border-left-width]),
html [style*=border-left-width] {
    border-left-style: none !important;
}

html:where([style*=border-bottom-width]),
html [style*=border-bottom-width] {
    border-bottom-style: none !important;
}

html:where([style*=border-right-width]),
html [style*=border-right-width] {
    border-right-style: none !important;
}

html:where([style*=border-top-width]),
html [style*=border-top-width] {
    border-top-style: none !important;
}

html:where([data-border="true"]),
html [data-border="true"] {
    border: none !important;
}

/* ===========================
   WordPress Overrides
   =========================== */

/* Hide GeneratePress header and footer */
.page-template-page-home .site-header,
.page-template-page-home .site-footer,
.page-template-page-home #masthead,
.page-template-page-home #colophon {
    display: none !important;
}

.page-template-page-home .site-content {
    display: block;
}

/* ===========================
   Base Styles
   =========================== */

html, body, #main {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

* {
    box-sizing: border-box;
    -webkit-font-smoothing: inherit;
}

h1, h2, h3, h4, h5, h6, p, figure {
    margin: 0;
}

body, input, textarea, select, button {
    font-size: 12px;
    font-family: 'Inter', sans-serif;
}

/* ===========================
   Navigation Styles
   =========================== */

/* Nav Container - .framer-pXVon */
.framer-pXVon.framer-qr0nil {
    align-content: flex-start;
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 32px;
    height: min-content;
    justify-content: flex-start;
    max-width: 200px;
    overflow: visible;
    padding: 32px 12px;
    position: relative;
    width: 200px;
}

/* Menu Wrapper - .framer-12xs533 */
.framer-pXVon .framer-12xs533 {
    align-content: center;
    align-items: center;
    display: flex;
    flex: none;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 5px;
    height: min-content;
    justify-content: center;
    overflow: hidden;
    padding: 0;
    position: relative;
    width: 100%;
}

/* Menu Container - .framer-bbn46y-container */
.framer-pXVon .framer-bbn46y-container {
    flex: none;
    height: auto;
    position: relative;
    width: 100%;
}

/* Nav Menu - .framer-C5oPE */
.framer-C5oPE.framer-9gjl0k {
    align-content: flex-start;
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 5px;
    height: min-content;
    justify-content: center;
    overflow: hidden;
    padding: 0;
    position: relative;
    width: 176px;
}

/* Nav Item Container */
.framer-C5oPE .framer-1030hnp-container,
.framer-C5oPE .framer-1fhbtlo-container,
.framer-C5oPE .framer-1vdtiwa-container,
.framer-C5oPE .framer-vfkrzh-container,
.framer-C5oPE .framer-19vett-container,
.framer-C5oPE .framer-cokcrh-container,
.framer-C5oPE .framer-doyv5r-container {
    flex: none;
    height: auto;
    position: relative;
    width: auto;
}

/* Nav Item Link - .framer-Fh6YO */
.framer-Fh6YO.framer-18b529l {
    align-content: center;
    align-items: center;
    cursor: pointer;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 5px;
    height: min-content;
    justify-content: flex-start;
    overflow: hidden;
    padding: 8px 16px 8px 8px;
    position: relative;
    text-decoration: none;
    width: min-content;
    will-change: var(--framer-will-change-override, transform);
}

/* Icon Container - .framer-wfayde */
.framer-Fh6YO .framer-wfayde {
    align-content: center;
    align-items: center;
    display: flex;
    flex: none;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 10px;
    height: 28px;
    justify-content: center;
    overflow: hidden;
    padding: 0;
    position: relative;
    width: 28px;
    will-change: var(--framer-will-change-override, transform);
    /* Border styles */
    --border-bottom-width: 1px;
    --border-color: var(--token-2fe9707b-258c-4d5d-b143-c08ee57d92bb, rgba(17, 24, 39, 0.1));
    --border-left-width: 1px;
    --border-right-width: 1px;
    --border-style: solid;
    --border-top-width: 1px;
    background-color: var(--token-1d141876-9a4f-4304-b279-72b3dfe4a352, rgba(17, 24, 39, 0.03));
    border-radius: 6px;
    border: var(--border-top-width) var(--border-style) var(--border-color);
}

/* Icon SVG Container - .framer-79cpb0-container */
.framer-Fh6YO .framer-79cpb0-container {
    flex: none;
    height: 16px;
    position: relative;
    width: 16px;
}

/* Text Container - .framer-uvfvyj */
.framer-Fh6YO .framer-uvfvyj {
    flex: none;
    height: auto;
    position: relative;
    width: auto;
    outline: none;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    flex-shrink: 0;
    --extracted-r6o4lv: var(--token-9561f064-1857-45bb-a7d2-94616472662d, rgb(102, 102, 102));
    --framer-link-text-color: rgb(0, 153, 255);
    --framer-link-text-decoration: underline;
    transform: none;
}

/* Background color for nav container */
.framer-pXVon.framer-qr0nil {
    background-color: var(--token-1eb4f973-264c-475e-a56b-9f6445381121, rgb(255, 255, 255));
}

/* Menu width full */
.framer-C5oPE.framer-9gjl0k {
    width: 100%;
}

/* Link background and border-radius */
.framer-Fh6YO.framer-18b529l {
    background-color: rgba(0, 0, 0, 0);
    border-radius: 4px;
}

/* SVG icon styles */
.framer-Fh6YO .framer-79cpb0-container svg {
    user-select: none;
    width: 100%;
    height: 100%;
    display: inline-block;
    fill: var(--token-9561f064-1857-45bb-a7d2-94616472662d, rgb(102, 102, 102));
    color: var(--token-9561f064-1857-45bb-a7d2-94616472662d, rgb(102, 102, 102));
    flex-shrink: 0;
}

/* Text color */
.framer-Fh6YO .framer-uvfvyj .framer-text {
    --framer-text-color: var(--extracted-r6o4lv, var(--token-9561f064-1857-45bb-a7d2-94616472662d, rgb(102, 102, 102)));
}

/* Gap support fallback for Safari */
@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) {
    .framer-pXVon.framer-qr0nil {
        gap: 0px;
    }
    
    .framer-pXVon.framer-qr0nil>* {
        margin: 16px 0;
    }
    
    .framer-pXVon.framer-qr0nil>:first-child,
    .framer-pXVon .framer-12xs533>:first-child {
        margin-top: 0;
    }
    
    .framer-pXVon.framer-qr0nil>:last-child,
    .framer-pXVon .framer-12xs533>:last-child {
        margin-bottom: 0;
    }
    
    .framer-pXVon .framer-12xs533 {
        gap: 0px;
    }
    
    .framer-pXVon .framer-12xs533>* {
        margin: 2.5px 0;
    }
    
    .framer-C5oPE.framer-9gjl0k {
        gap: 0px;
    }
    
    .framer-C5oPE.framer-9gjl0k>* {
        margin: 2.5px 0;
    }
    
    .framer-C5oPE.framer-9gjl0k>:first-child {
        margin-top: 0;
    }
    
    .framer-C5oPE.framer-9gjl0k>:last-child {
        margin-bottom: 0;
    }
    
    .framer-Fh6YO.framer-18b529l,
    .framer-Fh6YO .framer-wfayde {
        gap: 0px;
    }
    
    .framer-Fh6YO.framer-18b529l>* {
        margin: 0 2.5px;
    }
    
    .framer-Fh6YO.framer-18b529l>:first-child,
    .framer-Fh6YO .framer-wfayde>:first-child {
        margin-left: 0;
    }
    
    .framer-Fh6YO.framer-18b529l>:last-child,
    .framer-Fh6YO .framer-wfayde>:last-child {
        margin-right: 0;
    }
    
    .framer-Fh6YO .framer-wfayde>* {
        margin: 0 5px;
    }
}

/* Color Tokens */
body {
    --token-1eb4f973-264c-475e-a56b-9f6445381121: rgb(255, 255, 255);
    --token-04c51a78-d555-4e2b-b21f-e8825eddad31: rgb(17, 24, 39);
    --token-9561f064-1857-45bb-a7d2-94616472662d: rgb(102, 102, 102);
    --token-1d141876-9a4f-4304-b279-72b3dfe4a352: rgba(17, 24, 39, .03);
    --token-0345f9fa-e99b-43ef-9cc2-5b445c84d939: rgba(17, 24, 39, .05);
    --token-2fe9707b-258c-4d5d-b143-c08ee57d92bb: rgba(17, 24, 39, .1);
    --token-ab1c86a6-11ac-4fca-b511-3a0b18dc5667: rgba(17, 24, 39, .3);
    --token-e5606adc-a662-44a1-82ad-31d0135ad23e: rgb(22, 163, 74);
    --token-665e5377-feb0-4bf1-bb2a-c0cfe713602d: rgb(235, 235, 235);
    --token-0fecac5f-2ff6-479e-9325-d3a1ddb0a126: rgb(0, 119, 255);
}

/* Smooth Scrolling */
html {
    scroll-behavior: smooth;
}

/* Responsive Breakpoint Classes */
@media (min-width: 1200px) {
    .hidden-72rtr7 {
        display: none !important;
    }
}

@media (min-width: 810px) and (max-width: 1199px) {
    .hidden-1aruuan {
        display: none !important;
    }
}

@media (max-width: 809px) {
    .hidden-1m3aydo {
        display: none !important;
    }
}

/* ===========================
   Framer Component Styles
   =========================== */

[data-framer-component-type] {
    position: absolute;
}

[data-framer-component-type=Text] {
    cursor: inherit;
}

/* Framer Text Styles */
p.framer-text,
div.framer-text,
h1.framer-text,
h2.framer-text,
h3.framer-text,
h4.framer-text,
h5.framer-text,
h6.framer-text,
ol.framer-text,
ul.framer-text {
    margin: 0;
    padding: 0;
}

.framer-text {
    font-family: var(--framer-font-family, 'Inter', sans-serif);
    font-style: var(--framer-font-style, normal);
    font-weight: var(--framer-font-weight, 400);
    color: var(--framer-text-color, #000);
    font-size: var(--framer-font-size, 16px);
    letter-spacing: var(--framer-letter-spacing, 0);
    line-height: var(--framer-line-height, 1.2em);
}

/* Border Support */
[data-border=true]:after {
    content: "";
    border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0);
    border-color: var(--border-color, none);
    border-style: var(--border-style, none);
    width: 100%;
    height: 100%;
    position: absolute;
    box-sizing: border-box;
    left: 0;
    top: 0;
    border-radius: inherit;
    pointer-events: none;
}

/* ===========================
   Layout Styles
   =========================== */

.framer-PHbkq.framer-lux5qc,
.framer-PHbkq .framer-lux5qc {
    display: block;
}

/* Main Container */
.framer-PHbkq.framer-72rtr7 {
    align-content: center;
    align-items: center;
    background-color: var(--token-1eb4f973-264c-475e-a56b-9f6445381121, #ffffff);
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 0px;
    height: min-content;
    justify-content: flex-start;
    overflow: visible;
    padding: 0;
    position: relative;
    width: 1200px;
    margin: 0 auto;
}

.framer-PHbkq .framer-1xc5cye {
    align-content: center;
    align-items: center;
    display: flex;
    flex: none;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 10px;
    height: min-content;
    justify-content: center;
    overflow: visible;
    padding: 0 30px;
    position: relative;
    width: 100%;
}

.framer-PHbkq .framer-orb8xn {
    align-content: flex-start;
    align-items: flex-start;
    display: flex;
    flex: 1 0 0px;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 12px;
    height: min-content;
    justify-content: center;
    overflow: visible;
    padding: 0;
    position: relative;
    width: 1px;
}

/* Navigation Container */
.framer-PHbkq .framer-8desl0-container {
    flex: none;
    height: auto;
    position: sticky;
    top: 0;
    width: 225px;
    will-change: transform;
    z-index: 1;
}

/* Main Content Area */
.framer-PHbkq .framer-x2t43i {
    --border-bottom-width: 0px;
    --border-color: var(--token-2fe9707b-258c-4d5d-b143-c08ee57d92bb, rgba(17, 24, 39, .1));
    --border-left-width: 1px;
    --border-right-width: 1px;
    --border-style: solid;
    --border-top-width: 0px;
    align-content: center;
    align-items: center;
    display: flex;
    flex: 1 0 0px;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 10px;
    height: min-content;
    justify-content: flex-start;
    max-width: 700px;
    min-height: 100vh;
    overflow: visible;
    padding: 0;
    position: relative;
    width: 1px;
}

.framer-PHbkq .framer-qa1h4p {
    align-content: center;
    align-items: center;
    display: flex;
    flex: none;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 64px;
    height: min-content;
    justify-content: center;
    overflow: hidden;
    padding: 50px 32px;
    position: relative;
    width: 100%;
}

/* ===========================
   Navigation Styles
   =========================== */

.framer-pXVon.framer-qr0nil {
    align-content: flex-start;
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 32px;
    height: min-content;
    justify-content: flex-start;
    max-width: 200px;
    overflow: visible;
    padding: 32px 12px;
    position: relative;
    width: 200px;
}

.framer-pXVon .framer-12xs533 {
    align-content: center;
    align-items: center;
    display: flex;
    flex: none;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 5px;
    height: min-content;
    justify-content: center;
    overflow: hidden;
    padding: 0;
    position: relative;
    width: 100%;
}

.framer-pXVon .framer-bbn46y-container {
    flex: none;
    height: auto;
    position: relative;
    width: 100%;
}

.framer-C5oPE.framer-9gjl0k {
    align-content: flex-start;
    align-items: flex-start;
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 5px;
    height: min-content;
    justify-content: center;
    overflow: hidden;
    padding: 0;
    position: relative;
    width: 176px;
}

.framer-C5oPE .framer-1030hnp-container,
.framer-C5oPE .framer-1fhbtlo-container,
.framer-C5oPE .framer-1vdtiwa-container,
.framer-C5oPE .framer-vfkrzh-container,
.framer-C5oPE .framer-19vett-container,
.framer-C5oPE .framer-cokcrh-container,
.framer-C5oPE .framer-doyv5r-container {
    flex: none;
    height: auto;
    position: relative;
    width: auto;
}

/* Navigation Link */
.framer-Fh6YO.framer-18b529l {
    align-content: center;
    align-items: center;
    cursor: pointer;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 5px;
    height: min-content;
    justify-content: flex-start;
    overflow: hidden;
    padding: 8px 16px 8px 8px;
    position: relative;
    text-decoration: none;
    width: 100%;
    will-change: var(--framer-will-change-override, transform);
}

.framer-Fh6YO .framer-wfayde {
    align-content: center;
    align-items: center;
    display: flex;
    flex: none;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 10px;
    height: 28px;
    justify-content: center;
    overflow: hidden;
    padding: 0;
    position: relative;
    width: 28px;
    will-change: var(--framer-will-change-override, transform);
}

.framer-Fh6YO .framer-79cpb0-container {
    flex: none;
    height: 16px;
    position: relative;
    width: 16px;
}

.framer-Fh6YO .framer-uvfvyj {
    flex: none;
    height: auto;
    position: relative;
    width: auto;
}

/* ===========================
   Responsive Styles
   =========================== */

@media (min-width: 810px) and (max-width: 1199px) {
    .framer-PHbkq.framer-72rtr7 {
        width: 810px;
    }

    .framer-PHbkq .framer-1xc5cye {
        padding: 0 10px;
    }

    .framer-PHbkq .framer-orb8xn {
        align-content: center;
        align-items: center;
        flex-direction: column;
    }

    .framer-PHbkq .framer-x2t43i {
        flex: none;
        flex-direction: row;
        width: 100%;
    }

    .framer-PHbkq .framer-qa1h4p {
        flex: 1 0 0px;
        width: 1px;
    }
}

@media (max-width: 809px) {
    .framer-PHbkq.framer-72rtr7 {
        width: 390px;
    }

    .framer-PHbkq .framer-1xc5cye {
        padding: 0;
    }

    .framer-PHbkq .framer-orb8xn {
        flex-direction: column;
        gap: 0px;
    }

    .framer-PHbkq .framer-x2t43i {
        --border-bottom-width: 1px;
        --border-left-width: 0px;
        --border-right-width: 0px;
        --border-top-width: 1px;
        flex: none;
        max-width: unset;
        min-height: unset;
        width: 100%;
    }

    .framer-PHbkq .framer-qa1h4p {
        gap: 32px;
        padding: 24px 20px;
    }
}

/* ===========================
   WordPress Admin Bar
   =========================== */

.page-template-page-home.admin-bar .framer-8desl0-container {
    top: 32px;
}

@media screen and (max-width: 782px) {
    .page-template-page-home.admin-bar .framer-8desl0-container {
        top: 46px;
    }
}