/* The Escarpment Company — site styles.
   Tokens live in theme.json; this file covers components blocks can't express. */

:root {
	--esc-radius: 4px;
	--esc-line: color-mix(in srgb, var(--wp--preset--color--cedar) 18%, transparent);
	--esc-mark: url("../img/escarpment-mark.svg");
}

body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
/* WordPress prints width/height attributes; without height:auto they override aspect-ratio. */
.esc-main img { height: auto; }
.esc-main { min-height: 50vh; }
.esc-main > .wp-block-post-content > :first-child { margin-block-start: 0; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }

:focus-visible { outline: 3px solid var(--wp--preset--color--lantern); outline-offset: 3px; }
.screen-reader-text { position: absolute !important; clip: rect(1px, 1px, 1px, 1px); width: 1px; height: 1px; overflow: hidden; }

p { max-width: 68ch; }
.has-text-align-center p, p.has-text-align-center { margin-inline: auto; }

/* ---------- Header ---------- */
.esc-header { padding-block: 0.9rem; border-bottom: 1px solid var(--esc-line); background: var(--wp--preset--color--dolostone); position: relative; z-index: 20; }
.esc-header__bar { gap: 1.5rem; }
.esc-brand { display: inline-flex; align-items: center; gap: 0.7rem; text-decoration: none; color: var(--wp--preset--color--cedar); }
.esc-brand__mark { width: 2.6rem; height: 2.6rem; flex: none; }
.esc-brand__name { font-family: var(--wp--preset--font-family--display); font-size: 1.2rem; line-height: 1.1; }
.esc-nav { font-weight: 600; font-size: 0.98rem; gap: 1.6rem; }
.esc-nav a { text-decoration: none; }
.esc-nav .wp-block-navigation-item__content:hover { text-decoration: underline; text-underline-offset: 0.3em; }
.esc-nav .esc-nav__cta > a { background: var(--wp--preset--color--cedar); color: var(--wp--preset--color--limestone) !important; padding: 0.55rem 1.1rem; border-radius: 999px; }
.esc-nav .esc-nav__cta > a:hover { background: var(--wp--preset--color--moss); text-decoration: none; }
.esc-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--dolostone); padding: 1.5rem; }
.esc-nav .is-menu-open .wp-block-navigation__container { gap: 1.2rem; font-size: 1.3rem; }
@media (max-width: 420px) { .esc-brand__name { font-size: 1.02rem; } }

/* ---------- Buttons ---------- */
.wp-block-button.is-style-lantern .wp-block-button__link,
.esc-btn--lantern { background: var(--wp--preset--color--lantern); color: var(--wp--preset--color--ink); }
.wp-block-button.is-style-lantern .wp-block-button__link:hover,
.esc-btn--lantern:hover { background: #f7c766; color: var(--wp--preset--color--ink); }
.wp-block-button.is-style-outline .wp-block-button__link { background: transparent; border: 2px solid currentColor; color: inherit; padding: calc(0.8rem - 2px) calc(1.4rem - 2px); }
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: color-mix(in srgb, currentColor 12%, transparent); }
.esc-link-button { font-weight: 600; }

/* ---------- Hero ---------- */
.esc-hero { min-height: min(88vh, 54rem) !important; align-items: flex-end !important; padding-block: var(--wp--preset--spacing--60) !important; overflow: hidden; }
.esc-hero .wp-block-cover__background { background: linear-gradient(180deg, rgb(14 26 21 / 0.15) 0%, rgb(14 26 21 / 0.25) 40%, rgb(14 26 21 / 0.85) 100%) !important; opacity: 1 !important; }
.wp-block-cover.esc-hero { padding-inline: clamp(1rem, 4vw, 2.5rem) !important; }
/* Core pins bottom-left cover content to the edge; keep it on the site's 76rem column instead. */
.wp-block-cover.esc-hero.has-custom-content-position .wp-block-cover__inner-container { position: relative; z-index: 2; width: 100%; max-width: 76rem; margin-inline: auto; }
.esc-hero .wp-block-cover__inner-container > * { margin-inline: 0 !important; }
.esc-hero h1 { color: var(--wp--preset--color--limestone); max-width: 12ch; margin: 0; text-wrap: balance; }
.esc-hero .esc-hero__lead { color: #e9e7dc; font-size: var(--wp--preset--font-size--large); max-width: 38ch; margin-block: 1.25rem 1.75rem; }
.esc-hero .wp-block-button.is-style-outline .wp-block-button__link { color: var(--wp--preset--color--limestone); }
/* The signature: Mark's hand-drawn escarpment, drawn once down the right side. */
.esc-hero::after {
	content: ""; position: absolute; z-index: 1; pointer-events: none;
	right: clamp(-2rem, 4vw, 6rem); bottom: 8%; width: clamp(14rem, 34vw, 30rem); aspect-ratio: 800 / 810;
	background: var(--wp--preset--color--lantern);
	-webkit-mask: var(--esc-mark) center / contain no-repeat; mask: var(--esc-mark) center / contain no-repeat;
	opacity: 0.92; filter: drop-shadow(0 0 18px rgb(242 180 65 / 0.55));
	animation: esc-draw 2.2s cubic-bezier(.6,.05,.3,1) 0.3s both;
}
@keyframes esc-draw { from { clip-path: inset(0 0 100% 0); } to { clip-path: inset(0 0 0 0); } }
@media (max-width: 781px) { .esc-hero::after { top: 6%; bottom: auto; right: -1rem; width: 11rem; opacity: 0.75; } }

/* ---------- Section rhythm ---------- */
.esc-section { padding-block: var(--wp--preset--spacing--60); }
.esc-section--tight { padding-block: var(--wp--preset--spacing--50); }
.esc-section > .wp-block-heading:first-child,
.esc-section__head > .wp-block-heading:first-child { margin-top: 0; }
.esc-section__head { margin-bottom: var(--wp--preset--spacing--50); }
.esc-section__head p { color: var(--wp--preset--color--fieldstone); font-size: var(--wp--preset--font-size--large); margin-top: 0.75rem; }
.esc-limestone { background: var(--wp--preset--color--limestone); }

/* ---------- Intro (the yard as a set) ---------- */
.esc-intro .wp-block-columns { gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.esc-intro blockquote { margin: 1.5rem 0 0; padding: 0 0 0 1.25rem; border-left: 3px solid var(--wp--preset--color--moss); font-family: var(--wp--preset--font-family--display); font-size: 1.35rem; line-height: 1.35; color: var(--wp--preset--color--cedar); }
.esc-intro blockquote cite { display: block; margin-top: 0.6rem; font-family: var(--wp--preset--font-family--body); font-size: 0.95rem; font-style: normal; color: var(--wp--preset--color--fieldstone); }
.esc-facts { display: flex; flex-wrap: wrap; gap: 0.6rem 2rem; padding: 0; margin: 1.75rem 0 0; list-style: none; }
.esc-facts li { font-size: 0.98rem; color: var(--wp--preset--color--fieldstone); }
.esc-facts strong { display: block; font-family: var(--wp--preset--font-family--display); font-weight: 400; font-size: 1.6rem; color: var(--wp--preset--color--cedar); }

/* ---------- Pillars ---------- */
.esc-signature { gap: clamp(1.5rem, 4vw, 3rem) !important; margin-bottom: var(--wp--preset--spacing--60); }
.esc-signature .wp-block-image img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.esc-signature h3 { margin: 1.25rem 0 0.5rem; }
.esc-tag { display: inline-block; font-size: 0.85rem; font-weight: 600; color: var(--wp--preset--color--moss); margin: 0 0 0.25rem; }
.esc-pillar-cta { font-weight: 600; }
.esc-pillar-cta a { text-decoration-thickness: 2px; text-underline-offset: 0.25em; }

.esc-pillar-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--esc-line); }
.esc-pillar-row { display: grid !important; grid-template-columns: 9rem 1fr; gap: 1.25rem; align-items: start; padding: 1.5rem 1.5rem 1.5rem 0; border-bottom: 1px solid var(--esc-line); margin: 0 !important; }
.esc-pillar-list > :nth-child(even) { padding-left: 1.5rem; border-left: 1px solid var(--esc-line); }
.esc-pillar-row .wp-block-image { margin: 0; }
.esc-pillar-row .wp-block-image img { aspect-ratio: 1; object-fit: cover; width: 100%; }
.esc-pillar-row h3 { margin: 0 0 0.35rem; font-size: 1.45rem; }
.esc-pillar-row p { margin: 0 0 0.5rem; }
@media (max-width: 781px) {
	.esc-pillar-list { grid-template-columns: 1fr; }
	.esc-pillar-list > :nth-child(even) { padding-left: 0; border-left: 0; }
	.esc-pillar-row { grid-template-columns: 6.5rem 1fr; padding-right: 0; }
}

/* ---------- After dark ---------- */
.esc-dark { background: var(--wp--preset--color--night); color: #d9d8cf; }
.esc-dark h2, .esc-dark h3 { color: var(--wp--preset--color--limestone); }
.esc-dark a:not(.wp-block-button__link) { color: var(--wp--preset--color--lantern); }
.esc-dark .wp-block-columns { gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.esc-dark .esc-dark__photo img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }
.esc-glow-strip { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; margin-top: var(--wp--preset--spacing--50) !important; }
.esc-glow-strip .wp-block-image { margin: 0; }
.esc-glow-strip img { aspect-ratio: 3 / 2; object-fit: cover; width: 100%; }
.esc-dark .esc-checks li::before { color: var(--wp--preset--color--lantern); }

.esc-checks { list-style: none; padding: 0; }
.esc-checks li { position: relative; padding-left: 1.6rem; margin-bottom: 0.45rem; }
.esc-checks li::before { content: "✓"; position: absolute; left: 0; color: var(--wp--preset--color--moss); font-weight: 700; }

/* ---------- Before / after ---------- */
.esc-ba-grid { gap: clamp(1.5rem, 4vw, 3rem) !important; }
.esc-ba { margin: 0; }
.esc-ba__frame { position: relative; overflow: hidden; border-radius: var(--esc-radius); aspect-ratio: 4 / 5; background: var(--wp--preset--color--cedar); touch-action: pan-y; user-select: none; }
.esc-ba__frame img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; margin: 0; border-radius: 0; }
.esc-ba__after { clip-path: inset(0 0 0 var(--pos, 50%)); }
.esc-ba__handle { position: absolute; top: 0; bottom: 0; left: var(--pos, 50%); width: 3px; margin-left: -1.5px; background: var(--wp--preset--color--limestone); box-shadow: 0 0 0 1px rgb(0 0 0 / 0.2); pointer-events: none; }
.esc-ba__handle::after { content: "⟷"; position: absolute; top: 50%; left: 50%; translate: -50% -50%; width: 2.75rem; height: 2.75rem; display: grid; place-items: center; border-radius: 50%; background: var(--wp--preset--color--limestone); color: var(--wp--preset--color--cedar); font-size: 1.2rem; box-shadow: 0 2px 10px rgb(0 0 0 / 0.3); }
.esc-ba__label { position: absolute; top: 0.75rem; padding: 0.25rem 0.6rem; border-radius: 999px; background: rgb(14 26 21 / 0.75); color: var(--wp--preset--color--limestone); font-size: 0.85rem; font-weight: 600; pointer-events: none; }
.esc-ba__label--before { left: 0.75rem; }
.esc-ba__label--after { right: 0.75rem; }
.esc-ba__range { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: ew-resize; margin: 0; }
.esc-ba__range:focus-visible + .esc-ba__handle::after { outline: 3px solid var(--wp--preset--color--lantern); outline-offset: 2px; }
.esc-ba figcaption, .esc-ba .esc-ba__caption { margin-top: 0.75rem; font-size: 0.95rem; color: var(--wp--preset--color--fieldstone); }
/* Without JS the pair simply sits side by side. */
.esc-ba:not(.is-ready) { display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; }
.esc-ba:not(.is-ready) > .esc-ba__caption { grid-column: 1 / -1; }

/* ---------- Instagram ---------- */
.esc-ig { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.6rem; }
.esc-ig li a { display: block; position: relative; overflow: hidden; border-radius: var(--esc-radius); text-decoration: none; color: var(--wp--preset--color--limestone); }
.esc-ig img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; transition: scale 0.4s ease; }
.esc-ig__meta { position: absolute; inset: auto 0 0 0; padding: 2.5rem 0.75rem 0.65rem; background: linear-gradient(transparent, rgb(14 26 21 / 0.85)); font-size: 0.85rem; line-height: 1.35; display: flex; flex-direction: column; gap: 0.15rem; }
.esc-ig__meta time { font-weight: 600; color: var(--wp--preset--color--lantern); }
.esc-ig li a:hover img, .esc-ig li a:focus-visible img { scale: 1.04; }
.esc-ig__follow { margin-top: 1.5rem; }
@media (max-width: 781px) { .esc-ig { grid-template-columns: repeat(2, minmax(0, 1fr)); } .esc-ig__caption { display: none; } }

/* ---------- Projects archive ---------- */
.esc-filter { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.5rem; }
.esc-filter button { font: inherit; font-weight: 600; font-size: 0.95rem; padding: 0.5rem 1rem; border-radius: 999px; border: 1.5px solid var(--esc-line); background: transparent; color: var(--wp--preset--color--cedar); cursor: pointer; }
.esc-filter button[aria-pressed="true"] { background: var(--wp--preset--color--cedar); border-color: var(--wp--preset--color--cedar); color: var(--wp--preset--color--limestone); }
.esc-projects__grid { list-style: none; padding: 0; margin: 0; columns: 4 14rem; column-gap: 0.6rem; }
.esc-projects__grid li { break-inside: avoid; margin-bottom: 0.6rem; }
.esc-projects__grid li[hidden] { display: none; }
.esc-projects__grid img { display: block; width: 100%; height: auto; border-radius: var(--esc-radius); }
.esc-lightbox { border: 0; padding: 0; background: transparent; max-width: min(92vw, 80rem); max-height: 92vh; }
.esc-lightbox::backdrop { background: rgb(14 26 21 / 0.92); }
.esc-lightbox img { display: block; max-width: 100%; max-height: 88vh; border-radius: var(--esc-radius); }
.esc-lightbox button { position: fixed; top: 1rem; right: 1rem; font: 600 1rem var(--wp--preset--font-family--body); padding: 0.6rem 1rem; border-radius: 999px; border: 0; background: var(--wp--preset--color--limestone); color: var(--wp--preset--color--cedar); cursor: pointer; }

/* ---------- FAQ ---------- */
.esc-faq .wp-block-details { border-bottom: 1px solid var(--esc-line); margin: 0; }
.esc-faq .wp-block-details:first-of-type { border-top: 1px solid var(--esc-line); }
.esc-faq summary { cursor: pointer; font-family: var(--wp--preset--font-family--display); font-size: 1.3rem; line-height: 1.3; color: var(--wp--preset--color--cedar); list-style: none; display: flex; justify-content: space-between; gap: 1rem; }
.esc-faq summary::-webkit-details-marker { display: none; }
.esc-faq summary::after { content: "+"; font-family: var(--wp--preset--font-family--body); font-weight: 600; color: var(--wp--preset--color--moss); transition: rotate 0.2s ease; }
.esc-faq details[open] summary::after { rotate: 45deg; }
.esc-faq details > :not(summary) { margin-top: 0.75rem; }
.esc-faq-group { margin-top: var(--wp--preset--spacing--50); }
.esc-faq-group > h2 { font-size: var(--wp--preset--font-size--x-large); margin-bottom: 1rem; }

/* ---------- Pillar funnel band ---------- */
.esc-funnel { background: var(--wp--preset--color--cedar); color: #dfe3da; }
.esc-funnel h2 { color: var(--wp--preset--color--limestone); }
.esc-chips { display: flex; flex-wrap: wrap; gap: 0.6rem; list-style: none; padding: 0; margin: 1.75rem 0 0; }
.esc-chips a { display: inline-block; padding: 0.7rem 1.15rem; border-radius: 999px; border: 1.5px solid rgb(244 243 238 / 0.35); color: var(--wp--preset--color--limestone); text-decoration: none; font-weight: 600; }
.esc-chips a:hover { border-color: var(--wp--preset--color--lantern); color: var(--wp--preset--color--lantern); }
.esc-chips li:first-child a { background: var(--wp--preset--color--lantern); border-color: var(--wp--preset--color--lantern); color: var(--wp--preset--color--ink); }
.esc-chips--light { margin-bottom: var(--wp--preset--spacing--40); }
.esc-chips--light a, .esc-chips--light li:first-child a { background: transparent; border-color: var(--esc-line); color: var(--wp--preset--color--cedar); }
.esc-chips--light a:hover { border-color: var(--wp--preset--color--cedar); color: var(--wp--preset--color--cedar); }

/* ---------- Page head ---------- */
.esc-page-head { padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40); }
.esc-narrow > * { max-width: 52rem; }
.esc-page-lead { font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--fieldstone); }

/* ---------- Services page ---------- */
.esc-service { padding-block: var(--wp--preset--spacing--60); border-top: 1px solid var(--esc-line); scroll-margin-top: 1rem; }
.esc-service .wp-block-columns { gap: clamp(2rem, 6vw, 5rem); }
.esc-service .wp-block-image img { aspect-ratio: 4 / 5; object-fit: cover; width: 100%; }
.esc-service h2 { margin-top: 0; }
.esc-service:nth-of-type(even) .wp-block-columns { flex-direction: row-reverse; }

/* ---------- Consult funnel ---------- */
.esc-consult-wrap .wp-block-columns { gap: clamp(2rem, 6vw, 5rem); }
.esc-consult { max-width: 40rem; }
.esc-consult h2 { font-size: var(--wp--preset--font-size--x-large); margin: 0 0 1.25rem; }
.esc-consult__steps { display: none; }
.esc-consult.is-stepped .esc-consult__steps { display: flex; gap: 0.5rem; list-style: none; padding: 0; margin: 0 0 1.75rem; counter-reset: s; }
.esc-consult__steps li { flex: 1; font-size: 0.85rem; font-weight: 600; color: var(--wp--preset--color--fieldstone); padding-top: 0.6rem; border-top: 4px solid var(--esc-line); }
.esc-consult__steps li.is-done, .esc-consult__steps li.is-current { border-color: var(--wp--preset--color--moss); color: var(--wp--preset--color--cedar); }
.esc-consult.is-stepped .esc-step:not(.is-current) { display: none; }
.esc-step { margin-bottom: 2.5rem; }
.esc-consult.is-stepped .esc-pillar-qs:not(.is-active) { display: none; }
.esc-pillar-qs__name { font-weight: 600; color: var(--wp--preset--color--moss); margin: 0 0 0.5rem; }
.esc-consult.is-stepped .esc-pillar-qs__name { display: none; }
.esc-pillar-pick, .esc-choice { border: 0; padding: 0; margin: 0 0 1.5rem; }
.esc-pillar-pick { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem; }
.esc-choice legend { font-weight: 600; margin-bottom: 0.6rem; padding: 0; }
.esc-choice { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.esc-choice legend { width: 100%; }
.esc-pillar-pick label, .esc-choice label { position: relative; cursor: pointer; }
.esc-pillar-pick input, .esc-choice input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.esc-pillar-pick label > span, .esc-choice label > span { display: block; padding: 0.7rem 1rem; border-radius: var(--esc-radius); border: 1.5px solid var(--esc-line); background: var(--wp--preset--color--limestone); line-height: 1.3; }
.esc-pillar-pick label > span { padding: 1rem; font-family: var(--wp--preset--font-family--display); font-size: 1.15rem; color: var(--wp--preset--color--cedar); min-height: 100%; }
.esc-pillar-pick input:checked + span, .esc-choice input:checked + span { border-color: var(--wp--preset--color--cedar); background: var(--wp--preset--color--cedar); color: var(--wp--preset--color--limestone); }
.esc-pillar-pick input:focus-visible + span, .esc-choice input:focus-visible + span { outline: 3px solid var(--wp--preset--color--lantern); outline-offset: 2px; }
.esc-hint { font-weight: 400; color: var(--wp--preset--color--fieldstone); font-size: 0.9rem; }
.esc-field { display: flex; flex-direction: column; gap: 0.35rem; margin-bottom: 1rem; flex: 1; }
.esc-field label { font-weight: 600; }
.esc-field-row { display: flex; gap: 1rem; }
.esc-field input, .esc-field textarea { font: inherit; padding: 0.75rem 0.9rem; border: 1.5px solid color-mix(in srgb, var(--wp--preset--color--cedar) 30%, transparent); border-radius: var(--esc-radius); background: #fff; color: var(--wp--preset--color--ink); }
.esc-field input:focus, .esc-field textarea:focus { outline: 3px solid var(--wp--preset--color--lantern); outline-offset: 0; border-color: var(--wp--preset--color--cedar); }
.esc-step__nav { display: flex; gap: 0.75rem; justify-content: space-between; margin-top: 1.5rem; }
.esc-step__nav :only-child { margin-left: auto; }
.esc-btn { font: 600 1rem var(--wp--preset--font-family--body); padding: 0.85rem 1.5rem; border-radius: 999px; border: 0; cursor: pointer; background: var(--wp--preset--color--cedar); color: var(--wp--preset--color--limestone); }
.esc-btn:hover { background: var(--wp--preset--color--moss); }
.esc-btn--quiet { background: transparent; color: var(--wp--preset--color--cedar); border: 1.5px solid var(--esc-line); }
.esc-btn--quiet:hover { background: var(--wp--preset--color--limestone); }
.esc-btn[disabled] { opacity: 0.6; cursor: progress; }
.esc-error { color: #8a2b14; font-weight: 600; }
.esc-hp { position: absolute; left: -9999px; }
.esc-consult__done { padding: 2rem; border-radius: var(--esc-radius); background: var(--wp--preset--color--limestone); border-left: 4px solid var(--wp--preset--color--moss); }
.esc-consult__done h2 { margin-top: 0; }
.esc-aside { padding: 1.75rem; background: var(--wp--preset--color--limestone); border-radius: var(--esc-radius); }
.esc-aside h2 { font-size: var(--wp--preset--font-size--x-large); margin-top: 0; }
.esc-aside ol { padding-left: 1.2rem; }
.esc-aside li { margin-bottom: 0.5rem; }
@media (max-width: 600px) { .esc-pillar-pick { grid-template-columns: 1fr; } .esc-field-row { flex-direction: column; gap: 0; } }

/* ---------- Footer ---------- */
.esc-footer { padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--40); }
.esc-footer a { color: var(--wp--preset--color--limestone); }
.esc-footer a:hover { color: var(--wp--preset--color--lantern); }
.esc-footer__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 2.5rem; }
.esc-footer__mark { width: 5.5rem; height: auto; color: var(--wp--preset--color--lantern); }
.esc-footer__name { font-family: var(--wp--preset--font-family--display); font-size: 1.5rem; color: var(--wp--preset--color--limestone); margin: 1rem 0 0.25rem; }
.esc-footer__motto { margin: 0; color: #b9bdb0; }
.esc-footer__h { font-family: var(--wp--preset--font-family--body); font-weight: 600; font-size: 0.95rem; color: var(--wp--preset--color--lantern); margin: 0 0 0.75rem; }
.esc-footer__phone { font-family: var(--wp--preset--font-family--display); font-size: 1.5rem; text-decoration: none; }
.esc-footer__list { list-style: none; padding: 0; margin: 0; line-height: 2; }
.esc-footer__area { color: #b9bdb0; font-size: 0.95rem; }
.esc-footer__legal { margin-top: var(--wp--preset--spacing--50); padding-top: 1.25rem; border-top: 1px solid rgb(244 243 238 / 0.15); font-size: 0.9rem; color: #9da396; }
@media (max-width: 900px) { .esc-footer__grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .esc-footer__grid { grid-template-columns: 1fr; } }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation: none !important; transition: none !important; }
}
