/* Import Geist font family */
@import url('https://fonts.googleapis.com/css2?family=Geist:wght@100;200;300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Geist+Mono:wght@100;200;300;400;500;600;700;800;900&display=swap');

/* Apply Geist font to all text elements */
body,
[class*="ashby"] {
    font-family: "Geist", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

/* Headings styling to match your brand */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: "Geist", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-weight: 500 !important;
    letter-spacing: -0.03em !important;
    color: #111322 !important;
}

/* Job titles */
h1 {
    font-size: 40px !important;
    line-height: 1.4 !important;
    letter-spacing: -0.05em !important;
    margin-bottom: 40px !important;
}

h2 {
    font-size: 32px !important;
    line-height: 1.4 !important;
    letter-spacing: -0.03em !important;
}

h3 {
    font-size: 24px !important;
    line-height: 1.4 !important;
    letter-spacing: -0.01em !important;
}

/* Body text styling */
p,
div,
span,
li {
    font-family: "Geist", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 180% !important;
    letter-spacing: -0.01em !important;
    color: #111322;
}

/* Code elements using Geist Mono */
code,
pre,
[class*="code"] {
    font-family: "Geist Mono", monospace !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 180% !important;
    letter-spacing: -0.01em !important;
}

/* Buttons styling to match your brand */
button,
[role="button"],
a[class*="button"] {
    font-family: "Geist", sans-serif !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    letter-spacing: -0.03em !important;
}

toggleButton {
    justify-content: flex-end !important;
}

/* Links styling */
a {
    color: #111322 !important;
    text-decoration: underline !important;
    transition: opacity 0.3s ease !important;
}

a:hover {
    opacity: 0.7 !important;
}

/* List styling */
ul,
ol {
    padding-left: 20px !important;
}

li {
    margin-bottom: 8px !important;
}

/* Mobile responsive adjustments */
@media (max-width: 768px) {
    h1 {
        font-size: 28px !important;
        margin-bottom: 32px !important;
    }

    h2 {
        font-size: 24px !important;
    }

    p,
    div,
    span,
    li {
        font-size: 15px !important;
    }

    button,
    [role="button"],
    a[class*="button"] {
        padding: 16px 20px !important;
        width: 100% !important;
        line-height: 18px !important;
    }
}

/* ===== left-align logo + heading (place at end to win specificity) ===== */

/* kill text centering and flex centering ashby adds */
.ashby-job-board-heading,
.ashby-job-posting-header {
    text-align: left !important;
    justify-content: flex-start !important;
}

/* ensure the image itself isn't centered via margins */
.ashby-job-board-heading img,
.ashby-job-posting-header img {
    display: inline-block !important;
    margin: 0 !important; /* override margin: 0 auto */
}

/* optional: keep logo + title on one row; comment out if it fights layout */
/*
.ashby-job-board-heading {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}
*/

/* kill nested overrides (spans, strong, etc.) */
button *,
[role="button"] *,
a[class*="button"] *,
.ashby-application-form-submit-button * {
    color: inherit !important;
    -webkit-text-fill-color: inherit !important;
}

/* visited anchors styled as buttons shouldn't purple themselves */
a[class*="button"]:visited {
    color: #fff !important;
}

/* svg icons should follow text color */
button svg,
[role="button"] svg,
a[class*="button"] svg,
.ashby-application-form-submit-button svg {
    fill: currentColor !important;
    stroke: currentColor !important;
}