body > .wp-site-blocks:has(> .tar-site-footer) {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	min-height: 100dvh;
	padding-block-end: 0;
}
body.admin-bar > .wp-site-blocks:has(> .tar-site-footer) {
	min-height: calc(100vh - var(--wp-admin--admin-bar--height, 32px));
	min-height: calc(100dvh - var(--wp-admin--admin-bar--height, 32px));
}
body > .wp-site-blocks > .tar-site-footer {
	margin-block-start: auto;
}
body > .wp-site-blocks:has(> .tar-site-footer) > * { flex-shrink: 0; }
.tar-site-footer { margin-block-start: 0; }
.tar-footer {
 position: relative;
 isolation: isolate;
 overflow: hidden;
 margin-block: 0;
 padding-inline: var(--wp--preset--spacing--hero-gutter);
 background: var(--wp--preset--color--custom-black);
 color: var(--wp--preset--color--custom-white);
 font-size: 16px;
 line-height: 1.5;
}
.tar-footer::before {
 content: "";
 position: absolute;
 z-index: -1;
 inset: 0;
 background: url('../images/tar-letters-tile.svg') repeat center / 600px 360px;
 opacity: var(--tar-footer-texture-opacity, 0.03);
 pointer-events: none;
}
.tar-footer__main,
.tar-footer__bar {
 max-width: var(--wp--custom--layout--feature-width, 100rem);
 margin-inline: auto;
}
.tar-footer__main {
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 48px;
 padding-block: 72px;
}
.tar-footer__main > * { min-width: 0; margin-block: 0; }
.tar-footer .tar-footer__heading {
 margin: 0 0 24px;
 color: var(--wp--preset--color--custom-white);
 font-size: 20px;
 font-weight: 700;
 line-height: 1.3;
 text-transform: uppercase;
}
.tar-footer__heading::after {
 content: "";
 display: block;
 width: 100%;
 height: 3px;
 margin-top: 14px;
 background: var(--wp--preset--color--custom-green);
}
.tar-footer .wp-block-navigation { margin: 0; font-size: 16px; font-weight: 500; }
.tar-footer .wp-block-navigation__container { gap: 4px; align-items: flex-start; }
.tar-footer .wp-block-navigation-item__content { display: inline-flex; align-items: center; min-height: 40px; }
.tar-footer a { color: inherit; text-decoration: none; }
.tar-footer a:hover { color: var(--wp--preset--color--custom-green) !important; }
.tar-footer a:focus-visible { outline: 2px solid var(--wp--preset--color--custom-green); outline-offset: 4px; }
.tar-footer__socials { gap: 10px; margin-block: 0; }
.tar-footer__socials .wp-block-image { margin: 0; }
.tar-footer__socials a {
 display: flex;
 align-items: center;
 justify-content: center;
 width: 44px;
 height: 44px;
 border: 1px solid rgb(246 248 243 / 22%);
 border-radius: 50%;
}
.tar-footer__socials a:hover { background: var(--wp--preset--color--custom-green); border-color: var(--wp--preset--color--custom-green); }
.tar-footer__socials img { display: block; width: auto; height: auto; max-width: 23px; max-height: 20px; filter: brightness(0) invert(1); }
.tar-footer__socials a:hover img { filter: brightness(0); }
.tar-footer__bar { border-top: 1px solid rgb(246 248 243 / 18%); padding-block: 20px; }
.tar-footer__row { gap: 12px 32px; color: #abb0a7; font-size: 13px; font-weight: 500; }
.tar-footer__row > p { margin: 0; }
.tar-footer__copyright { gap: 0.3em; }
.tar-footer__copyright p { margin: 0; overflow-wrap: anywhere; }
.tar-footer__year { white-space: nowrap; }
.tar-footer .tar-footer__privacy-link { display: inline-flex; align-items: center; min-height: 44px; color: inherit; text-decoration: none; font-size: 13px; }
.tar-footer .tar-footer__privacy-link:hover { color: var(--wp--preset--color--custom-green); }
.editor-styles-wrapper .tar-footer__copyright .wp-block-shortcode { min-width: 160px; }
@media (max-width: 781px) {
 .tar-footer__main { grid-template-columns: 1fr 1fr; gap: 40px; padding-block: 56px; }
 .tar-footer::before { background-size: 500px 300px; }
}
@media (max-width: 479px) {
 .tar-footer__main { grid-template-columns: 1fr; gap: 36px; padding-block: 40px; }
 .tar-footer .tar-footer__heading { margin-bottom: 18px; }
 .tar-footer__row { flex-direction: column; align-items: flex-start; gap: 4px; }
 .tar-footer::before { background-size: 400px 240px; }
}
.tar-footer__builtby { opacity: 0.7; }
.tar-footer__jyoung { font-weight: bolder; }
@media (max-width: 395px) {
 .tar-footer__separator { display: none; }
}
