:root {
    --mz-ink: #10271e;
    --mz-ink-soft: #40554b;
    --mz-forest: #123c2c;
    --mz-forest-deep: #09271c;
    --mz-green: #2c7a4b;
    --mz-lime: #b9f35a;
    --mz-lime-soft: #eafbcf;
    --mz-paper: #fbfaf3;
    --mz-white: #ffffff;
    --mz-mist: #eff4eb;
    --mz-line: #d8e1d6;
    --mz-shadow: 0 24px 70px rgba(9, 39, 28, .13);
    --mz-serif: "Fraunces", "Iowan Old Style", Georgia, serif;
    --mz-sans: "Source Sans 3", "Avenir Next", sans-serif;
    --mz-wide: 1180px
}

*,::after,::before {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth
}

body {
    background: var(--mz-white);
    color: var(--mz-ink);
    font-family: var(--mz-sans);
    line-height: 1.65;
    -webkit-font-smoothing: antialiased
}

a {
    color: var(--mz-green);
    text-underline-offset: .18em
}

.entry-meta a:hover,.entry-title a:hover,.genesis-nav-menu .current-menu-item>a,.genesis-nav-menu a:hover,.sidebar-primary .widget a:hover,a:hover {
    color: var(--mz-forest)
}

:focus-visible {
    outline: 3px solid var(--mz-lime);
    outline-offset: 4px
}

h1,h2,h3,h4 {
    letter-spacing: -.035em
}

.site-title,h1,h2,h3,h4 {
    color: var(--mz-ink);
    font-family: var(--mz-serif);
    font-weight: 650;
    line-height: 1.06
}

.site-inner,.wrap {
    max-width: 1240px;
    margin: 0 auto
}

.site-inner {
    padding: 64px 32px 88px
}

.content-sidebar-wrap {
    display: flex;
    align-items: flex-start;
    gap: 64px;
    margin: 0 auto
}

.wp-element-button {
    border: 0;
    border-radius: 999px;
    font-family: var(--mz-sans);
    font-size: 16px;
    font-weight: 750;
    line-height: 1;
    padding: 17px 25px;
    text-decoration: none;
    transition: transform .2s ease,box-shadow .2s ease,background-color .2s ease,color .2s ease
}

.wp-element-button:hover {
    transform: translateY(-2px)
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 100;
    border-bottom: 1px solid rgba(16,39,30,.1);
    background: rgba(251,250,243,.93);
    backdrop-filter: blur(16px)
}

.site-header>.wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: min(calc(100% - 64px),var(--mz-wide));
    min-height: 82px;
    margin: 0 auto
}

.nav-primary>.wrap {
    display: block;
    width: auto;
    margin: 0;
    padding: 0
}

.title-area {
    padding: 0;
    flex: 0 0 auto
}

.wp-custom-logo .title-area {
    width: auto;
    max-width: none
}

.nav-primary {
    flex: 0 0 auto;
    margin-left: auto
}

.header-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    flex: 0 0 auto;
    margin-left: 28px
}

.search-toggle,.menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: 0 0;
    color: var(--mz-forest-deep);
    cursor: pointer;
    transition: background .16s ease
}

.search-toggle:hover,.menu-toggle:hover {
    background: var(--mz-mist)
}

.menu-toggle {
    display: none;
    position: relative
}

.menu-toggle .icon-close {
    display: none
}

.menu-toggle.is-active .icon-open {
    display: none
}

.menu-toggle.is-active .icon-close {
    display: block
}

.search-wrap {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    z-index: 90;
    border-bottom: 1px solid rgba(16,39,30,.1);
    background: var(--mz-paper);
    box-shadow: var(--mz-shadow)
}

.search-wrap-inner {
    display: flex;
    align-items: center;
    gap: 14px;
    width: min(calc(100% - 64px),var(--mz-wide));
    margin: 0 auto;
    padding: 22px 0
}

.search-wrap .search-form {
    display: flex;
    flex: 1 1 auto;
    gap: 10px
}

.search-wrap .search-field {
    flex: 1 1 auto;
    width: 100%;
    padding: 13px 16px;
    border: 1px solid var(--mz-line);
    border-radius: 12px;
    background: var(--mz-white);
    color: var(--mz-ink);
    font-family: var(--mz-sans);
    font-size: 15px
}

.search-wrap .search-field:focus {
    outline: 1px solid var(--mz-green);
    outline-offset: -1px
}

.search-wrap .search-submit {
    padding: 0 22px;
    border: 0;
    border-radius: 999px;
    background: var(--mz-forest-deep);
    color: var(--mz-lime);
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
    transition: background .16s ease
}

.search-wrap .search-submit:hover {
    background: var(--mz-forest)
}

.search-close {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: 0 0;
    color: var(--mz-forest-deep);
    cursor: pointer
}

.search-close:hover {
    background: var(--mz-mist)
}

.site-title {
    margin: 0;
    font-size: 23px;
    letter-spacing: -.03em
}

.site-title a {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    color: var(--mz-forest-deep);
    text-decoration: none
}

.site-title a::before {
    content: "G";
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 10px 10px 10px 3px;
    background: var(--mz-forest);
    color: var(--mz-lime);
    font-family: var(--mz-serif);
    font-size: 21px
}

.site-description {
    display: none
}

.nav-primary {
    width: auto;
    padding: 0
}

.genesis-nav-menu {
    display: flex;
    align-items: center;
    gap: 5px
}

.genesis-nav-menu .menu-item {
    position: relative;
    list-style: none
}

.genesis-nav-menu .menu-item-has-children {
    display: flex;
    align-items: center
}

.genesis-nav-menu a {
    position: relative;
    padding: 29px 0 27px;
    color: var(--mz-ink-soft);
    font-size: 15px;
    font-weight: 700;
    text-decoration: none
}

.genesis-nav-menu a::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 22px;
    left: 0;
    height: 2px;
    background: var(--mz-green);
    transform: scaleX(0);
    transition: transform .2s ease
}

.genesis-nav-menu .current-menu-item>a::after,.genesis-nav-menu a:hover::after {
    transform: scaleX(1)
}

.genesis-nav-menu>.menu-highlight {
    margin-left: 2px
}

.genesis-nav-menu>.menu-highlight>a {
    padding: 11px 20px;
    border-radius: 999px;
    background: var(--mz-lime);
    color: var(--mz-forest-deep);
    font-weight: 750;
    box-shadow: 0 8px 20px rgba(9,39,28,.16);
    transition: background-color .18s ease,box-shadow .18s ease,transform .18s ease
}

.genesis-nav-menu>.menu-highlight>a::after {
    display: none
}

.genesis-nav-menu>.menu-highlight>a:focus,.genesis-nav-menu>.menu-highlight>a:hover {
    background: #cdfb80;
    color: var(--mz-forest-deep);
    box-shadow: 0 12px 26px rgba(9,39,28,.22);
    transform: translateY(-1px)
}

.genesis-nav-menu>.menu-highlight>a:focus-visible {
    outline: 2px solid var(--mz-forest-deep);
    outline-offset: 2px
}

.sub-menu {
    position: absolute;
    z-index: 10;
    display: none;
    min-width: 220px;
    padding: 10px;
    border: 1px solid var(--mz-line);
    border-radius: 12px;
    background: var(--mz-white);
    box-shadow: var(--mz-shadow)
}

.menu-item-has-children.is-submenu-open>.sub-menu {
    display: block
}

.sub-menu .menu-item {
    list-style: none
}

.sub-menu a {
    display: block;
    padding: 10px 12px!important;
    border-radius: 8px;
    font-size: 14px!important
}

.sub-menu a::after {
    display: none
}

.sub-menu a:hover {
    background: var(--mz-mist)
}

.sub-menu-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    margin-left: 2px;
    padding: 0;
    border: 0;
    background: 0 0;
    color: inherit;
    cursor: pointer
}

.sub-menu-toggle svg {
    transition: transform .18s ease
}

.menu-item-has-children.is-submenu-open>.sub-menu-toggle svg {
    transform: rotate(180deg)
}

.archive-description {
    margin-bottom: 48px
}

.archive-description .entry-title,.archive-title,.author-box-title {
    margin: 0;
    font-size: clamp(32px,4vw,46px)
}

.archive-description p {
    margin: 14px 0 0;
    color: var(--mz-ink-soft);
    font-size: 18px
}

.content .entry {
    padding-bottom: 44px;
    margin-bottom: 44px;
    border-bottom: 1px solid var(--mz-line)
}

.content .entry:last-child {
    margin-bottom: 0;
    border-bottom: 0
}

.entry-title {
    margin: 0 0 10px;
    font-size: clamp(24px,2.6vw,30px)
}

.entry-title a {
    color: inherit;
    text-decoration: none
}

.entry-meta {
    margin: 0 0 18px;
    color: #6c7b72;
    font-size: 14px;
    font-weight: 600
}

.entry-meta a {
    color: #6c7b72
}

.entry-content {
    color: var(--mz-ink-soft);
    font-size: 18px;
    line-height: 1.7
}

.entry-content p {
    margin: 0 0 22px
}

.entry-content p:last-child,.sidebar-primary .widget:last-child {
    margin-bottom: 0
}

.entry-categories a,.entry-tags a,.more-link {
    color: var(--mz-forest);
    font-weight: 700;
    text-decoration: none
}

.more-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 6px
}

.more-link:hover {
    color: var(--mz-green)
}

.entry-footer {
    margin-top: 18px
}

.entry-footer .entry-meta {
    margin: 0;
    padding-top: 0;
    border: 0
}

.entry-categories a,.entry-tags a {
    display: inline-block;
    padding: 4px 12px;
    margin: 2px 4px 2px 0;
    border-radius: 999px;
    background: var(--mz-mist);
    font-size: 13px
}

.archive-pagination a:hover,.entry-categories a:hover,.entry-tags a:hover {
    background: var(--mz-lime-soft)
}

.archive-pagination {
    margin-top: 12px
}

.archive-pagination ul {
    display: flex;
    flex-wrap: wrap;
    gap: 8px
}

.archive-pagination li {
    margin: 0
}

.archive-pagination .active,.archive-pagination a {
    display: grid;
    place-items: center;
    min-width: 42px;
    height: 42px;
    padding: 0 8px;
    border-radius: 10px;
    background: var(--mz-mist);
    color: var(--mz-ink);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none
}

.archive-pagination .active {
    background: var(--mz-forest);
    color: var(--mz-white)
}

.adjacent-entry-pagination {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-top: 12px
}

.adjacent-entry-pagination a {
    color: var(--mz-forest);
    font-weight: 700;
    text-decoration: none
}

.adjacent-entry-pagination a:hover {
    color: var(--mz-green)
}

.sidebar-primary .widget {
	border: 1px solid #ccc;
	border-radius: 8px;
    margin-bottom:30px;
	padding: 30px
}

.sidebar-primary .widget h2 {
    margin: 0 0 20px;
    font-size: 21px
}

.archive-pagination ul,.sidebar-primary .widget ol,.sidebar-primary .widget ul {
    list-style: none
}

.sidebar-primary .widget ol>li,.sidebar-primary .widget ul>li {
    margin-bottom: 16px;
    padding-left: 0;
    text-indent: 0;
    list-style-type: none;
    list-style-position: outside
}

.sidebar-primary .widget a {
    color: var(--mz-ink-soft);
    font-size: 15px;
    font-weight: 600;
    text-decoration: none
}

.sidebar-primary .widget button a,
.sidebar-primary .widget .button a,
.sidebar-primary .widget a.button {
	color: #fff
}

.wp-block-latest-comments__comment-meta {
    line-height: 1.5
}

.wp-block-latest-comments__comment-excerpt p {
    margin: 4px 0 0;
    color: var(--mz-ink-soft);
    font-weight: 400;
    font-size: 14px
}

.wp-block-search__input {
    width: 100%;
    padding: 15px;
    border: 1px solid var(--mz-line);
    border-radius: 12px;
    background: var(--mz-white);
    color: var(--mz-ink);
    font-family: var(--mz-sans);
    font-size: 15px
}

.wp-block-search__input:focus {
    outline: 3px solid var(--mz-lime);
    outline-offset: 2px
}

.wp-block-search__button {
    padding: 15px 22px;
    background: var(--mz-forest)
}

.wp-block-search__button:hover {
    background: var(--mz-forest-deep)
}

.comment-respond,.comments {
    margin-top: 60px;
    padding-top: 48px;
    border-top: 1px solid var(--mz-line)
}

.comment-reply-title,.comments-title {
    margin: 0 0 28px;
    font-size: 26px
}

.comment-list {
    list-style: none
}

.comment-list .comment {
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid var(--mz-line)
}

.comment-list .comment:last-child {
    margin-bottom: 0;
    border-bottom: 0
}

.comment-author {
    margin: 0 0 4px;
    font-weight: 700
}

.comment-author .says {
    color: #6c7b72;
    font-weight: 400
}

.comment-author img {
    border-radius: 999px
}

.comment-meta a {
    color: #6c7b72;
    font-size: 14px;
    text-decoration: none
}

.comment-content p {
    margin: 8px 0 0;
    color: var(--mz-ink-soft)
}

.comment-reply-link {
    color: var(--mz-forest);
    font-weight: 700;
    text-decoration: none
}

.comment-reply-link:hover {
    color: var(--mz-green)
}

.comment-form input[type=email],.comment-form input[type=text],.comment-form input[type=url],.comment-form textarea {
    width: 100%;
    padding: 14px 16px;
    border: 1px solid var(--mz-line);
    border-radius: 12px;
    background: var(--mz-white);
    color: var(--mz-ink);
    font-family: var(--mz-sans);
    font-size: 15px
}

.comment-form input:focus,.comment-form textarea:focus {
    outline: 3px solid var(--mz-lime);
    outline-offset: 2px
}

.comment-form label {
    display: block;
    margin-bottom: 8px;
    font-weight: 700;
    font-size: 14px
}

.comment-form-author,.comment-form-comment,.comment-form-email,.comment-form-url {
    margin-bottom: 20px
}

.comment-form-cookies-consent,.comment-notes {
    color: #6c7b72;
    font-size: 14px
}

.form-submit .wp-element-button {
    cursor: pointer
}

.footer-merged {
    position: relative;
    overflow: hidden;
    background: radial-gradient(circle at 88% 8%,rgba(185,243,90,.14),transparent 32%),linear-gradient(135deg,var(--mz-forest-deep),var(--mz-forest))
}

.footer-merged::before,.footer-merged::after {
    content: "";
    position: absolute;
    border: 1px solid rgba(185,243,90,.12);
    border-radius: 50%;
    pointer-events: none
}

.footer-merged::before {
    top: -170px;
    right: -120px;
    width: 340px;
    height: 340px;
    box-shadow: 0 0 0 46px rgba(185,243,90,.02)
}

.footer-merged::after {
    bottom: -200px;
    left: -140px;
    width: 300px;
    height: 300px;
    box-shadow: 0 0 0 42px rgba(185,243,90,.02)
}

.footer-widgets {
    border-top: 0;
    background: 0 0
}

.footer-widgets .wrap {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr;
    gap: 40px;
    margin: 0 auto
}

.footer-widgets .wrap::before,.footer-widgets .wrap::after {
    display: none
}

.footer-social-label {
	display: none
}

.footer-widget-area {
    float: none;
    width: auto;
    min-width: 0;
    margin-bottom: 0;
    padding: 0
}

.footer-widget-area p.footer-widget-title {
    margin: 0 0 16px;
    color: var(--mz-white);
    font-family: var(--mz-serif);
    font-size: 19px;
    font-weight: 650
}

.footer-widget-area p {
    margin: 0;
    color: rgba(255,255,255,.68);
    font-size: 15px;
    line-height: 1.65
}

.footer-widget-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    list-style: none
}

.footer-widget-list a {
    color: rgba(255,255,255,.68);
    font-size: 15px;
    font-weight: 600;
    text-decoration: none
}

.footer-widget-list a:hover {
    color: var(--mz-lime)
}

.footer-widget-cta {
    margin-top: 18px
}

.footer-widget-cta .wp-element-button {
    display: inline-flex;
    border: 1px solid var(--mz-lime);
    background: 0 0;
    color: var(--mz-white)
}

.footer-widget-cta .wp-element-button:hover {
    background: var(--mz-lime);
    color: var(--mz-forest-deep)
}

.footer-widget-area p.footer-social-title {
    margin-top: 28px
}

.footer-social-list {
    gap: 10px 14px !important
}

.footer-social-item {
    margin: 0
}

.footer-social-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: rgba(255,255,255,.68);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none
}

.footer-social-link:hover {
    color: var(--mz-lime)
}

.footer-social-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 999px;
    background: rgba(255,255,255,.1);
    color: var(--mz-white);
    flex-shrink: 0
}

.footer-social-link:hover .footer-social-icon {
    background: var(--mz-lime);
    color: var(--mz-forest-deep)
}

.site-footer {
    position: relative;
    z-index: 1;
    padding: 28px 32px;
    background: 0 0;
    color: rgba(255,255,255,.55)
}

.site-footer .wrap {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto
}

.site-footer .wrap::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: rgba(255,255,255,.12)
}

.site-footer p {
    margin: 0;
    text-align: center
}

.site-footer a {
    color: rgba(255,255,255,.8);
    text-decoration: none
}

.site-footer a:hover {
    color: var(--mz-lime)
}

.footer-links {
	margin-left: auto
}

.footer-links a {
	margin: 10px
}

.nav-secondary {
    margin: 0;
    padding: 0;
    background: var(--mz-white)
}

.nav-secondary .genesis-nav-menu {
    justify-content: center
}

@media (min-width:861px) {
    .search-wrap-inner {
        max-width: 620px;
        justify-content: flex-end;
        margin: 0 auto 0 auto
    }
}

@media (max-width:980px) {
    .footer-widgets .wrap {
        grid-template-columns: 1fr 1fr
    }
}

@media (max-width:860px) {
    .site-header>.wrap {
        justify-content: space-between;
        padding: 16px 0
    }

    .menu-toggle {
        display: inline-flex
    }

    .nav-primary {
        position: absolute;
        top: 100%;
        right: 0;
        left: 0;
        z-index: 80;
        margin-right: 0;
        border-bottom: 1px solid rgba(16,39,30,.1);
        background: var(--mz-paper);
        box-shadow: var(--mz-shadow);
        max-height: 0;
        overflow: hidden;
        visibility: hidden;
        transition: max-height .22s ease
    }

    .nav-primary.is-toggled {
        max-height: 80vh;
        overflow-y: auto;
        visibility: visible
    }
	
	.header-actions {
		margin-left: auto
	}

    .genesis-nav-menu {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        width: min(calc(100% - 64px),var(--mz-wide));
        margin: 0 auto;
        padding: 10px 0
    }

    .genesis-nav-menu .menu-item {
        width: 100%
    }

    .genesis-nav-menu .menu-item-has-children {
        flex-wrap: wrap
    }

    .genesis-nav-menu a {
        display: block;
        width: 100%;
        padding: 14px 0
    }

    .genesis-nav-menu a::after {
        display: none
    }

    .sub-menu-toggle {
        width: 40px;
        height: 40px
    }

    .sub-menu {
        position: static;
        width: 100%;
        margin: 0 0 8px;
        border: 0;
        box-shadow: none;
        background: var(--mz-mist)
    }

    .sub-menu a {
        padding: 10px 14px!important
    }

    .genesis-nav-menu>.menu-highlight {
        margin: 10px 0 4px
    }

    .genesis-nav-menu>.menu-highlight>a {
        display: inline-block;
        width: auto;
        padding: 13px 24px
    }
}

@media (max-width:700px) {
    body {
        font-size: 17px
    }

    .site-header {
        position: relative
    }

    .site-header>.wrap {
        width: 100%
    }

    .site-title {
        font-size: 20px
    }

    .site-title a::before {
        width: 32px;
        height: 32px;
        font-size: 18px
    }

    .genesis-nav-menu a {
        font-size: 15px
    }

    .search-wrap-inner {
        flex-wrap: wrap;
        padding: 16px 0
    }

    .site-footer {
        padding: 24px 20px 32px;
        text-align: center
    }

    .footer-widgets {
        padding: 48px 20px 40px
    }

    .footer-widgets .wrap {
        width: 100%;
        grid-template-columns: 1fr;
        gap: 34px
    }

    .site-inner {
        padding: 44px 20px 60px
    }

    .content-sidebar-wrap {
        flex-direction: column;
        gap: 52px
    }

    .sidebar-primary {
        flex: 1 1 auto;
        width: 100%
    }
	
	.site-footer .wrap {
		gap: 24px
	}
}

@media (prefers-reduced-motion:reduce) {
    html {
        scroll-behavior: auto
    }

    *,::after,::before {
        animation-duration: .01ms!important;
        animation-iteration-count: 1!important;
        transition-duration: .01ms!important
    }

    .wp-element-button:hover {
        transform: none
    }
}