/*
Theme Name: Espinosa Temple
Theme URI: https://www.espinosafamilychiropractic.com/
Author: Dependent Media
Author URI: https://www.dependentmedia.com/
Description: "The Temple" for Espinosa Family Chiropractic (version 2): a jungle-temple expedition built around the practice's elephant logos. Carved sandstone, wooden signs, rope bridges, torchlight and parchment; Cinzel, Alfa Slab One, Literata and Special Elite. A block theme; every page is core blocks.
Version: 2.0.0
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
License: GNU General Public License v2 or later
Text Domain: espinosa-temple
*/

/* =====================================================================================================================
   TOKENS + TEXTURES
   ===================================================================================================================== */
:root {
	--ef-ink: var(--wp--preset--color--ink);
	--ef-ink-soft: var(--wp--preset--color--ink-soft);
	--ef-moss: var(--wp--preset--color--moss);
	--ef-ember: var(--wp--preset--color--ember);
	--ef-parch: var(--wp--preset--color--parchment);
	--ef-parch-dark: var(--wp--preset--color--parchment-dark);
	--ef-stone: var(--wp--preset--color--stone);
	--ef-jungle: var(--wp--preset--color--jungle);
	--ef-jungle-2: var(--wp--preset--color--jungle-2);
	--ef-leaf: var(--wp--preset--color--leaf);
	--ef-wood: var(--wp--preset--color--wood);
	--ef-wood-light: var(--wp--preset--color--wood-light);
	--ef-amber: var(--wp--preset--color--amber);
	--ef-torch: var(--wp--preset--color--torch);
	--ef-gold: var(--wp--preset--color--gold);
	--ef-cream: var(--wp--preset--color--cream);
	--ef-cream-soft: #D9CFB4;
	--ef-night: #13241A;
	--ef-rope-a: #D9B57A;
	--ef-rope-b: #8F6A35;
	--ef-chisel: #8C7A55;
	--ef-radius: 10px;
	--ef-ease: cubic-bezier(.22, .68, .18, 1);
	--ef-spring: cubic-bezier(.34, 1.56, .64, 1);
	--ef-header-h: 92px;
	--ef-display: var(--wp--preset--font-family--display);
	--ef-sign: var(--wp--preset--font-family--sign);
	--ef-body: var(--wp--preset--font-family--body);
	--ef-journal: var(--wp--preset--font-family--journal);
	--ef-art: "/wp-content/themes/espinosa-temple/assets/art/";
	--ef-elephant-mask: url("/wp-content/themes/espinosa-temple/assets/img/ef-elephant.svg");
	--ef-noise: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .3 0 0 0 0 .22 0 0 0 0 .12 0 0 0 .16 0'/%3E%3C/filter%3E%3Crect width='220' height='220' filter='url(%23n)'/%3E%3C/svg%3E");
	--ef-blocks: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='80'%3E%3Cpath d='M0 39.5H160M0 79.5H160M60.5 0V40M140.5 0V40M20.5 40V80M100.5 40V80' stroke='%23705a35' stroke-opacity='.22' stroke-width='2' fill='none'/%3E%3Cpath d='M0 41.5H160M62.5 0V40M142.5 0V40M22.5 40V80M102.5 40V80' stroke='%23fff' stroke-opacity='.18' stroke-width='1' fill='none'/%3E%3C/svg%3E");
	--ef-grain: repeating-linear-gradient(0deg, rgba(0, 0, 0, .09) 0 1px, transparent 1px 5px), repeating-linear-gradient(0deg, rgba(255, 255, 255, .05) 0 2px, transparent 2px 13px), repeating-linear-gradient(180deg, transparent 0 46px, rgba(0, 0, 0, .38) 46px 48px);
	--ef-vine-line: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='14' viewBox='0 0 60 14'%3E%3Cpath d='M0 9 Q15 2 30 8 T60 8' fill='none' stroke='%23365224' stroke-width='2.4' stroke-linecap='round'/%3E%3Cpath d='M18 5 q4 -6 10 -3 q-4 5 -10 3z M44 9 q5 4 10 1 q-5 -5 -10 -1z' fill='%235F7E3A'/%3E%3C/svg%3E");
}

html { scroll-padding-top: calc(var(--ef-header-h) + 1.5rem); -webkit-text-size-adjust: 100%; }
[class*="ef-"], [class*="ef-"]::before, [class*="ef-"]::after, .ef-form * { box-sizing: border-box; }
input, textarea, select { box-sizing: border-box; }
[hidden] { display: none !important; }
body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; overflow-x: clip; background-image: var(--ef-noise); font-feature-settings: "kern", "liga", "onum"; }
::selection { background: var(--ef-amber); color: var(--ef-ink); }
img { height: auto; }
:where(h1, h2, h3, h4) { text-wrap: balance; }
:where(p, li, dd) { text-wrap: pretty; }
:where(h1, h2) { text-shadow: 0 1px 0 rgba(255, 255, 255, .55); }
h1 em, h2 em, h3 em { font-style: normal; color: var(--ef-moss); background: var(--ef-vine-line) 0 100% / 56px 13px repeat-x; padding-bottom: .16em; }
a { text-underline-offset: .2em; text-decoration-thickness: 1.5px; }
:focus-visible { outline: 3px solid var(--ef-torch); outline-offset: 3px; border-radius: 4px; }
.screen-reader-text, .ef-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.ef-skip { position: absolute; left: 1rem; top: -100px; z-index: 1000; background: var(--ef-jungle); color: var(--ef-cream); padding: .7rem 1.2rem; border-radius: 6px; font-weight: 700; text-decoration: none; }
.ef-skip:focus { top: .75rem; color: var(--ef-cream); }
.ef-main { padding-top: 0 !important; padding-bottom: 0 !important; }
.ef-main > .wp-block-post-content > * { margin-block-start: 0; margin-block-end: 0; }

/* type roles: luggage-tag eyebrows (expedition labels), leads, typewriter notes */
.ef-eyebrow { position: relative; display: inline-flex !important; align-items: center; gap: .5rem; width: fit-content; font-family: var(--ef-journal); font-size: .86rem !important; font-weight: 400; letter-spacing: .04em; text-transform: uppercase; line-height: 1.3; color: var(--ef-ink); background: #EBDDB8 var(--ef-noise); border: 1.5px solid #9C7A45; padding: .38rem .95rem .38rem 1.7rem; margin-bottom: .2rem !important; clip-path: polygon(10px 0, 100% 0, 100% 100%, 10px 100%, 0 50%); border-radius: 0 4px 4px 0; }
.ef-eyebrow::before { content: ""; position: absolute; left: 10px; top: 50%; width: 8px; height: 8px; margin-top: -4px; border-radius: 50%; background: var(--ef-parch-dark); box-shadow: inset 0 0 0 1.5px #9C7A45; }
.ef-eyebrow a { color: inherit; text-decoration: none; }
.ef-eyebrow--center { margin-inline: auto !important; }
.ef-eyebrow--mint { background-color: #D7E2BF; }
.ef-lead { font-size: var(--wp--preset--font-size--md) !important; line-height: 1.6; color: var(--ef-ink-soft); max-width: 40rem; }
.ef-fine { font-size: .92rem !important; color: var(--ef-ink-soft); line-height: 1.6; }
.ef-hand, .ef-journal { font-family: var(--ef-journal); }
.ef-center { text-align: center; }
.ef-center .ef-lead, .ef-center > .ef-lead { margin-inline: auto; }

/* =====================================================================================================================
   BUTTONS: wooden planks (default), torch amber (main action), rope outline, stone
   ===================================================================================================================== */
.wp-element-button, .wp-block-button__link, .ef-pill, .ef-book, .ef-form input[type="submit"] { position: relative; background-image: var(--ef-grain), linear-gradient(180deg, #9B6633, #74481F); color: var(--ef-cream); border: 2px solid #2C1A0C; border-radius: 6px; text-shadow: 0 -1px 0 rgba(0, 0, 0, .55); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22), inset 0 -3px 0 rgba(0, 0, 0, .22), 0 4px 0 #2C1A0C, 0 9px 16px -6px rgba(20, 10, 0, .55); transition: transform .2s var(--ef-ease), box-shadow .2s, color .2s, filter .2s; text-decoration: none; }
.wp-block-button__link:hover, .ef-pill:hover, .ef-book:hover, .ef-form input[type="submit"]:hover { transform: translateY(-2px); color: var(--ef-amber); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22), inset 0 -3px 0 rgba(0, 0, 0, .22), 0 6px 0 #2C1A0C, 0 0 24px rgba(242, 154, 46, .45); }
.wp-block-button__link:active, .ef-pill:active { transform: translateY(3px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22), 0 1px 0 #2C1A0C; }
.wp-block-button.is-style-torch > .wp-block-button__link, .ef-pill--sun, .ef-book { background-image: radial-gradient(120% 80% at 50% 0%, #FFE3A1 0%, transparent 60%), linear-gradient(180deg, #F7C46A, #E08A22); color: #2A1305; text-shadow: 0 1px 0 rgba(255, 240, 200, .6); border-color: #6B3A0E; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), inset 0 -3px 0 rgba(120, 50, 0, .3), 0 4px 0 #6B3A0E, 0 0 0 rgba(242, 154, 46, 0); }
.wp-block-button.is-style-torch > .wp-block-button__link:hover, .ef-pill--sun:hover, .ef-book:hover { color: #2A1305; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), inset 0 -3px 0 rgba(120, 50, 0, .3), 0 6px 0 #6B3A0E, 0 0 28px rgba(242, 154, 46, .75); }
.wp-block-button.is-style-rope > .wp-block-button__link, .ef-pill--ghost { --rope-bg: var(--ef-parch); color: var(--ef-ink); text-shadow: none; border: 4px solid transparent; background: linear-gradient(var(--rope-bg), var(--rope-bg)) padding-box, repeating-linear-gradient(-45deg, var(--ef-rope-a) 0 5px, var(--ef-rope-b) 5px 9px) border-box; box-shadow: 0 6px 12px -6px rgba(20, 10, 0, .45); }
.wp-block-button.is-style-rope > .wp-block-button__link:hover, .ef-pill--ghost:hover { color: var(--ef-ember); box-shadow: 0 0 0 3px rgba(242, 154, 46, .35); }
.ef-on-dark .wp-block-button.is-style-rope > .wp-block-button__link, .ef-on-dark .ef-pill--ghost, .ef-cta .wp-block-button.is-style-rope > .wp-block-button__link, .ef-footer .ef-pill--ghost, .ef-hero .wp-block-button.is-style-rope > .wp-block-button__link, .ef-pagehead .wp-block-button.is-style-rope > .wp-block-button__link { --rope-bg: #1A2C1F; color: var(--ef-cream); }
.ef-on-dark .wp-block-button.is-style-rope > .wp-block-button__link:hover, .ef-cta .wp-block-button.is-style-rope > .wp-block-button__link:hover, .ef-footer .ef-pill--ghost:hover, .ef-hero .wp-block-button.is-style-rope > .wp-block-button__link:hover, .ef-pagehead .wp-block-button.is-style-rope > .wp-block-button__link:hover { color: var(--ef-amber); }
.wp-block-button.is-style-stone > .wp-block-button__link { background: var(--ef-stone) var(--ef-noise); color: var(--ef-ink); text-shadow: 0 1px 0 rgba(255, 255, 255, .5); border-color: var(--ef-chisel); box-shadow: inset 0 2px 0 rgba(255, 255, 255, .4), inset 0 -3px 0 rgba(80, 60, 30, .3), 0 4px 0 #6E5A36; }
.wp-block-button.is-style-stone > .wp-block-button__link:hover { color: var(--ef-ember); }
.wp-block-button.is-style-link > .wp-block-button__link { background: none; border: 0; box-shadow: none; padding: .2rem 0; border-radius: 0; color: var(--ef-moss); text-shadow: none; font-family: var(--ef-display); font-weight: 800; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .3em; }
.wp-block-button.is-style-link > .wp-block-button__link::after { content: " →"; }
.wp-block-button.is-style-link > .wp-block-button__link:hover { transform: none; color: var(--ef-ember); box-shadow: none; }
.ef-on-dark .wp-block-button.is-style-link > .wp-block-button__link { color: var(--ef-amber); }
.ef-pill { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; font-family: var(--ef-sign); font-size: 1rem; letter-spacing: .03em; padding: .8rem 1.35rem; cursor: pointer; line-height: 1.2; }
.ef-pill[aria-pressed="true"] { background-image: linear-gradient(180deg, #F7C46A, #E08A22); color: #2A1305; text-shadow: none; }

/* =====================================================================================================================
   HEADER: jungle top bar (scrolls away) + a dark wooden beam (sticks)
   ===================================================================================================================== */
.ef-topbar { background: var(--ef-jungle) url("/wp-content/themes/espinosa-temple/assets/art/leaves.svg"); color: var(--ef-cream); font-size: .86rem; }
.ef-topbar__row { max-width: var(--wp--style--global--wide-size); margin: 0 auto; padding: .45rem clamp(1rem, 4.5vw, 3rem); display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 40px; }
.ef-topbar p { margin: 0; }
.ef-topbar__links { display: flex; gap: 1.3rem; align-items: center; }
.ef-topbar a { color: var(--ef-cream); text-decoration: none; display: inline-flex; align-items: center; gap: .45rem; white-space: nowrap; }
.ef-topbar a:hover { color: var(--ef-amber); text-decoration: underline; }
.ef-topbar svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ef-topbar__social svg { width: 17px; height: 17px; }
@media (max-width: 860px) { .ef-topbar__addr, .ef-topbar__social { display: none !important; } }
@media (max-width: 420px) { .ef-topbar__links a:first-child { font-size: 0; gap: 0; } .ef-topbar__links a:first-child svg { width: 18px; height: 18px; } }
.ef-open { display: inline-flex; align-items: center; gap: .55rem; margin: 0; font-family: var(--ef-journal); letter-spacing: .02em; }
.ef-open__dot { width: 10px; height: 14px; border-radius: 50% 50% 45% 45% / 60% 60% 40% 40%; background: var(--ef-cream-soft); flex: none; }
.ef-open[data-state="open"] .ef-open__dot { background: radial-gradient(circle at 50% 70%, #FFF3B0, #F29A2E 60%, #C2410C); box-shadow: 0 0 10px 2px rgba(242, 154, 46, .7); animation: ef-flick 1.4s ease-in-out infinite alternate; }
.ef-open[data-state="lunch"] .ef-open__dot, .ef-open[data-state="later"] .ef-open__dot { background: var(--ef-amber); }
@keyframes ef-flick { 0% { transform: scaleY(1) rotate(-3deg); opacity: .9; } 50% { transform: scaleY(1.15) rotate(2deg); opacity: 1; } 100% { transform: scaleY(.92) rotate(-1deg); opacity: .85; } }

.wp-site-blocks > header.wp-block-template-part { position: sticky; top: -40px; z-index: 60; }
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: -8px; }
@media (max-width: 782px) { .admin-bar .wp-site-blocks > header.wp-block-template-part { top: 6px; } }
.ef-header { position: relative; isolation: isolate; border-bottom: 4px solid #2C1A0C; }
.ef-header::before { content: ""; position: absolute; inset: 0; z-index: -1; background-image: var(--ef-grain), linear-gradient(180deg, #5C3B20, #3E2714); }
.ef-header::after { content: ""; position: absolute; left: 0; right: 0; bottom: -10px; height: 6px; background: repeating-linear-gradient(-45deg, var(--ef-rope-a) 0 4px, var(--ef-rope-b) 4px 7px); box-shadow: 0 4px 8px rgba(0, 0, 0, .3); }
.ef-header.is-scrolled::after { box-shadow: 0 10px 18px rgba(0, 0, 0, .35); }
.ef-header__row { min-height: var(--ef-header-h); gap: 1.3rem !important; margin-inline: auto; }
.ef-brand { display: inline-flex; align-items: center; gap: .75rem; flex: none; text-decoration: none; color: var(--ef-cream); border-radius: 8px; }
.ef-brand__medal { width: 70px; height: 70px; border-radius: 50%; display: grid; place-items: center; background: radial-gradient(circle at 40% 35%, #DCC79C, #A98C5E 70%); border: 3px solid #2C1A0C; box-shadow: inset 0 0 0 4px rgba(255, 255, 255, .25), inset 0 0 0 6px rgba(90, 65, 30, .35), 0 3px 0 #1E1208; overflow: hidden; flex: none; }
.ef-brand__mark { width: 56px; height: auto; display: block; transform: translateY(2px); transition: transform .6s var(--ef-spring); }
.ef-brand:hover .ef-brand__mark { transform: translateY(2px) rotate(-8deg) scale(1.06); }
.ef-brand__word { display: grid; line-height: 1; }
.ef-brand__name { font-family: var(--ef-display); font-weight: 900; font-size: 1.6rem; letter-spacing: .04em; color: var(--ef-cream); text-shadow: 0 2px 0 #1E1208; }
.ef-brand__sub { font-family: var(--ef-sign); font-size: .74rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ef-amber); margin-top: .3rem; }
.ef-nav { flex: 1; color: var(--ef-cream); }
/* core makes item links inherit their parent's colour (with a 3-class selector), so colour the containers */
.ef-nav .wp-block-navigation__submenu-container { color: var(--ef-ink) !important; }
.ef-nav .is-menu-open .wp-block-navigation__submenu-container { color: var(--ef-cream-soft) !important; }
.ef-nav .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content, .ef-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:focus-visible { color: var(--ef-amber); }
.ef-nav .wp-block-navigation__container { gap: .2rem 1.6rem; }
.ef-nav .wp-block-navigation-item__content { color: var(--ef-cream); text-decoration: none; padding: .45rem 0; position: relative; font-family: var(--ef-display); font-size: .98rem; font-weight: 800; letter-spacing: .05em; text-shadow: 0 2px 0 #1E1208; }
.ef-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { white-space: nowrap; }
.ef-nav > .wp-block-navigation__responsive-container .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after { content: ""; position: absolute; left: -2px; right: -2px; bottom: -3px; height: 5px; border-radius: 3px; background: repeating-linear-gradient(-45deg, var(--ef-rope-a) 0 4px, var(--ef-rope-b) 4px 7px); transform: scaleX(0); transform-origin: left; transition: transform .35s var(--ef-ease); }
.ef-nav .wp-block-navigation-item__content:hover::after, .ef-nav .current-menu-item > .wp-block-navigation-item__content::after, .ef-nav [aria-current="page"]::after, .ef-nav .current-menu-ancestor > .wp-block-navigation-item__content::after { transform: scaleX(1) !important; }
.ef-nav .wp-block-navigation-item__content:hover { color: var(--ef-amber); }
.ef-nav .wp-block-navigation-item__description { display: none; }
.ef-nav .wp-block-navigation__submenu-container { border: 3px solid #4A2F1A !important; border-radius: 8px; padding: .55rem !important; min-width: 19rem !important; background: var(--ef-parch) var(--ef-noise) !important; box-shadow: 0 16px 30px rgba(20, 10, 0, .45); margin-top: .8rem; }
.ef-nav .wp-block-navigation__submenu-container::before { content: ""; position: absolute; left: 0; right: 0; top: -1.3rem; height: 1.3rem; }
.ef-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .6rem .85rem !important; border-radius: 6px; display: flex !important; flex-direction: column; align-items: flex-start; gap: .1rem; width: 100%; font-size: 1.02rem; color: var(--ef-ink); text-shadow: none; }
.ef-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__description { display: block; font-family: var(--ef-journal); font-size: .8rem; font-weight: 400; letter-spacing: 0; color: var(--ef-ink-soft); }
.ef-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover, .ef-nav .wp-block-navigation__submenu-container [aria-current="page"] { background: var(--ef-parch-dark); color: var(--ef-ember); }
.ef-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content::after { display: none; }
.ef-nav .wp-block-navigation__submenu-icon { margin-left: .3rem; color: var(--ef-amber); }
.ef-header__ctas { display: flex; align-items: center; gap: .6rem; flex: none; }
.ef-call { width: 48px; height: 48px; display: none; place-items: center; border-radius: 50%; border: 2px solid #2C1A0C; background: radial-gradient(circle at 40% 35%, #DCC79C, #A98C5E 70%); color: var(--ef-ink); flex: none; box-shadow: 0 3px 0 #1E1208; }
.ef-call:hover { color: var(--ef-ember); }
.ef-call svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ef-book { display: inline-flex; align-items: center; font-family: var(--ef-sign); font-size: 1rem; letter-spacing: .03em; padding: .75rem 1.2rem; white-space: nowrap; }
.ef-book__more { white-space: pre; }
@media (min-width: 1180px) and (max-width: 1340px) { .ef-nav .wp-block-navigation__container { column-gap: 1.1rem; } .ef-book__more { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); } }
@media (max-width: 1179px) {
	.ef-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.ef-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.ef-nav { flex: 0 0 auto; order: 3; }
	.ef-header__ctas { margin-left: auto; }
	.ef-call { display: grid; }
}
.ef-nav .wp-block-navigation__responsive-container-open { width: 48px; height: 48px; border-radius: 8px; background-image: var(--ef-grain), linear-gradient(180deg, #9B6633, #74481F); color: var(--ef-cream); align-items: center; justify-content: center; border: 2px solid #2C1A0C; box-shadow: 0 3px 0 #1E1208; }
.ef-nav .wp-block-navigation__responsive-container-open svg { width: 24px; height: 24px; }
.ef-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--ef-jungle) url("/wp-content/themes/espinosa-temple/assets/art/leaves.svg") !important; color: var(--ef-cream) !important; padding: 1.25rem clamp(1.25rem, 6vw, 3rem) 2.5rem; overflow-y: auto; animation: ef-fade .3s var(--ef-ease) !important; }
@keyframes ef-fade { from { opacity: 0; } to { opacity: 1; } }
.ef-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 4.5rem !important; }
.ef-nav .is-menu-open .wp-block-navigation__container { gap: .1rem !important; }
.ef-nav .is-menu-open .wp-block-navigation-item__content { color: var(--ef-cream) !important; font-size: clamp(1.7rem, 6.5vw, 2.3rem); padding: .15rem 0 !important; }
.ef-nav .is-menu-open .wp-block-navigation__submenu-container { background: transparent !important; box-shadow: none; border: 0 !important; border-left: 3px solid var(--ef-amber) !important; border-radius: 0 !important; padding: 0 0 0 1rem !important; margin: .2rem 0 .8rem !important; min-width: 0 !important; }
.ef-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-family: var(--ef-body); font-size: 1.08rem; font-weight: 600; letter-spacing: 0; padding: .32rem 0 !important; color: var(--ef-cream-soft) !important; }
.ef-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__description { display: none; }
.ef-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: none; color: var(--ef-amber) !important; }
.ef-nav .is-menu-open [aria-current="page"] { background: none; color: var(--ef-amber) !important; }
.ef-nav .is-menu-open .wp-block-navigation-item__content::after { display: none !important; }
.ef-nav .is-menu-open .wp-block-navigation__responsive-container-content, .ef-nav .is-menu-open .wp-block-navigation__container, .ef-nav .is-menu-open .wp-block-navigation-item, .ef-nav .is-menu-open .wp-block-navigation__submenu-container { align-items: flex-start !important; justify-content: flex-start !important; text-align: left !important; }
.ef-nav .ef-nav-cta { display: none !important; }
.ef-nav .is-menu-open .ef-nav-cta { display: block !important; }
.ef-nav .is-menu-open .ef-nav-cta--book { margin-top: 1.6rem !important; }
.ef-nav .is-menu-open .ef-nav-cta .wp-block-navigation-item__content { display: inline-flex !important; font-family: var(--ef-sign) !important; font-size: 1.05rem !important; padding: .85rem 1.3rem !important; border-radius: 6px; border: 2px solid #2C1A0C; background-image: var(--ef-grain), linear-gradient(180deg, #9B6633, #74481F); text-shadow: 0 -1px 0 rgba(0, 0, 0, .5); }
.ef-nav .is-menu-open .ef-nav-cta--book .wp-block-navigation-item__content { background-image: linear-gradient(180deg, #F7C46A, #E08A22); color: #2A1305 !important; text-shadow: none; }
.ef-nav .is-menu-open .ef-nav-cta--call .wp-block-navigation-item__content { margin-top: .6rem; }
.ef-nav .wp-block-navigation__responsive-container-close { width: 48px; height: 48px; top: 1rem !important; right: 1rem !important; border-radius: 50%; background: rgba(255, 255, 255, .12); color: var(--ef-cream); display: grid; place-items: center; }
.ef-nav .wp-block-navigation__responsive-container-close svg { fill: currentColor; }
@media (max-width: 600px) {
	:root { --ef-header-h: 78px; }
	.ef-brand__medal { width: 56px; height: 56px; }
	.ef-brand__mark { width: 44px; }
	.ef-brand__name { font-size: 1.25rem; }
	.ef-brand__sub { font-size: .6rem; }
	.ef-book { padding: .65rem .95rem; }
	.ef-book__more { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.ef-header__row { gap: .55rem !important; }
}
@media (max-width: 400px) { .ef-brand__sub { display: none; } .ef-brand { gap: .45rem; } .ef-call, .ef-nav .wp-block-navigation__responsive-container-open { width: 44px; height: 44px; } }

/* =====================================================================================================================
   SECTIONS: parchment (default), aged parchment, stone wall, jungle, night jungle, torchlit
   ===================================================================================================================== */
.ef-section { padding-block: var(--wp--preset--spacing--60) !important; position: relative; }
.ef-section--tight { padding-block: var(--wp--preset--spacing--50) !important; }
.ef-section--flush-top { padding-top: clamp(1.5rem, 1rem + 2vw, 3rem) !important; }
.ef-section--paper { background-color: var(--ef-parch-dark); background-image: var(--ef-noise), radial-gradient(ellipse at 50% 40%, transparent 50%, rgba(120, 85, 40, .16)); }
.ef-section--sky { background-color: var(--ef-stone); background-image: var(--ef-noise), var(--ef-blocks); }
.ef-section--mint, .ef-section--navy, .ef-section--sun { background-color: var(--ef-jungle); background-image: url("/wp-content/themes/espinosa-temple/assets/art/leaves.svg"); color: var(--ef-cream); }
.ef-section--sun { background-color: var(--ef-jungle-2); background-image: radial-gradient(ellipse at 80% 50%, rgba(242, 154, 46, .28), transparent 55%), url("/wp-content/themes/espinosa-temple/assets/art/leaves.svg"); }
.ef-section--mint :where(h1, h2, h3, h4), .ef-section--navy :where(h1, h2, h3, h4), .ef-section--sun :where(h1, h2, h3, h4), .ef-on-dark :where(h1, h2, h3, h4) { color: var(--ef-cream); text-shadow: 0 2px 0 rgba(0, 0, 0, .45); }
.ef-section--mint h2 em, .ef-section--navy h2 em, .ef-section--sun h2 em, .ef-on-dark h2 em, .ef-on-dark h1 em { color: var(--ef-amber); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='14' viewBox='0 0 60 14'%3E%3Cpath d='M0 9 Q15 2 30 8 T60 8' fill='none' stroke='%23A8C49A' stroke-width='2.4' stroke-linecap='round'/%3E%3Cpath d='M18 5 q4 -6 10 -3 q-4 5 -10 3z M44 9 q5 4 10 1 q-5 -5 -10 -1z' fill='%23A8C49A'/%3E%3C/svg%3E"); }
.ef-section--mint .ef-lead, .ef-section--navy .ef-lead, .ef-section--sun .ef-lead, .ef-on-dark .ef-lead, .ef-section--mint > p, .ef-section--sun .ef-split__copy > p { color: var(--ef-cream-soft); }
.ef-section--mint a:not([class]), .ef-section--sun a:not([class]), .ef-on-dark a:not([class]), .ef-section--mint .ef-more__all a, .ef-section--sun .ef-more__all a { color: var(--ef-amber); }
/* the elephant frieze: a carved stone band between sections (light sections); hanging vines on jungle sections */
.ef-section--edge { padding-top: calc(var(--wp--preset--spacing--60) + 26px) !important; }
.ef-section--edge::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 30px; background: url("/wp-content/themes/espinosa-temple/assets/art/frieze.svg") 0 0 / auto 30px repeat-x; border-bottom: 2px solid #5E4A2C; box-shadow: 0 4px 8px rgba(40, 25, 10, .25); z-index: 1; }
.ef-section--mint.ef-section--edge::before, .ef-section--sun.ef-section--edge::before, .ef-section--navy.ef-section--edge::before { height: 70px; background: url("/wp-content/themes/espinosa-temple/assets/art/vines.svg") 0 0 / auto 70px repeat-x; border: 0; box-shadow: none; }
.ef-section__head { margin-bottom: var(--wp--preset--spacing--50) !important; max-width: 46rem; }
.ef-section__head > * { margin-block: 0 !important; }
.ef-section__head > * + * { margin-top: 1rem !important; }
.ef-section__head.ef-center { margin-inline: auto !important; }
.ef-section__head.ef-center .ef-eyebrow { margin-inline: auto !important; }
.ef-section__head--row { max-width: none; display: flex; align-items: end; justify-content: space-between; gap: 1rem; flex-wrap: wrap; margin-bottom: var(--wp--preset--spacing--40) !important; }
.ef-section__head--row > * + * { margin-top: 0 !important; }
.ef-section__headcopy > * { margin-block: 0 !important; }
.ef-section__headcopy > * + * { margin-top: 1rem !important; }
.ef-more__all a { font-family: var(--ef-display); font-weight: 800; }
.ef-more > h2 { margin-bottom: 1.4rem !important; }
.ef-center-btns { margin-top: var(--wp--preset--spacing--40) !important; }
.js .ef-reveal { opacity: 0; transform: translateY(22px); transition: opacity .9s var(--ef-ease), transform .9s var(--ef-ease); transition-delay: calc(var(--i, 0) * 80ms); }
.js .ef-reveal.is-in, .ef-noreveal .ef-reveal { opacity: 1; transform: none; }
/* images: wooden frames and stone arches */
.wp-block-image.is-style-framed img, .ef-sticker { border: 10px solid transparent; border-image: none; background: var(--ef-wood); padding: 0; outline: 2px solid #2C1A0C; box-shadow: 0 0 0 10px #6A4220, 0 0 0 12px #2C1A0C, 0 18px 30px -8px rgba(20, 10, 0, .55); border-radius: 3px; }
.wp-block-image.is-style-arch img { border-radius: 999px 999px 8px 8px; border: 8px solid var(--ef-stone); box-shadow: 0 0 0 2px var(--ef-chisel), 0 16px 26px -8px rgba(20, 10, 0, .5); }
.wp-block-image figcaption { font-family: var(--ef-journal); font-size: .9rem; color: var(--ef-ink-soft); margin-top: .9rem; }
.ef-tilt-l { transform: rotate(-1.5deg); }
.ef-tilt-r { transform: rotate(1.5deg); }

/* =====================================================================================================================
   HOME HERO: the jungle temple (art/hero.svg) with the mascot in the glowing doorway, the golden elephant, the herd
   ===================================================================================================================== */
.ef-hero { position: relative; overflow: clip; isolation: isolate; background: #13241A; padding: 0 !important; }
.ef-stage { position: relative; width: 100%; aspect-ratio: 16 / 9; max-height: 900px; min-height: 640px; margin: 0 auto !important; max-width: none !important; }
.ef-stage__art { position: absolute; inset: 0; margin: 0 !important; max-width: none !important; }
.ef-stage__art svg { width: 100%; height: 100%; display: block; }
.ef-hero::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(90deg, rgba(14, 26, 16, .92) 0%, rgba(14, 26, 16, .78) 30%, rgba(14, 26, 16, .25) 52%, transparent 62%); }
.ef-hero__copy { position: absolute; z-index: 3; left: max(clamp(1rem, 4.5vw, 3rem), calc((100% - var(--wp--style--global--wide-size)) / 2)); top: 50%; transform: translateY(-52%); width: min(40rem, 46%); color: var(--ef-cream); }
.ef-hero__copy > * { margin-block: 0 !important; }
.ef-hero__copy > * + * { margin-top: 1.25rem !important; }
.ef-hero__copy .ef-lead { color: var(--ef-cream-soft); max-width: 33rem; }
.ef-hero__copy .wp-block-buttons { margin-top: 1.8rem !important; }
/* the hanging wooden sign (H1) */
.ef-hangsign { position: relative; margin-top: 3.6rem !important; padding: 1.2rem 1.6rem 1.3rem; background-image: var(--ef-grain), linear-gradient(180deg, #8A5A2E, #5E3B1C); border: 3px solid #2C1A0C; border-radius: 8px; box-shadow: inset 0 2px 0 rgba(255, 255, 255, .2), inset 0 -4px 0 rgba(0, 0, 0, .3), 0 14px 26px -8px rgba(0, 0, 0, .7); transform-origin: 50% -60px; animation: ef-sway 7s ease-in-out infinite; }
.ef-hangsign::before, .ef-hangsign::after { content: ""; position: absolute; top: -3.7rem; width: 6px; height: 3.7rem; background: repeating-linear-gradient(-30deg, var(--ef-rope-a) 0 4px, var(--ef-rope-b) 4px 7px); border-radius: 3px; }
.ef-hangsign::before { left: 14%; transform: rotate(8deg); transform-origin: bottom; }
.ef-hangsign::after { right: 14%; transform: rotate(-8deg); transform-origin: bottom; }
@keyframes ef-sway { 0%, 100% { transform: rotate(-.8deg); } 50% { transform: rotate(.8deg); } }
.ef-hangsign h1 { margin: 0; color: #F7E7C2 !important; font-size: clamp(2.1rem, 1.3rem + 3vw, 4rem) !important; line-height: 1.02; letter-spacing: .02em; text-shadow: 0 -2px 0 rgba(0, 0, 0, .6), 0 2px 0 rgba(255, 220, 160, .18) !important; }
.ef-hangsign h1 small { display: block; font-family: var(--ef-sign); font-size: .36em; letter-spacing: .12em; text-transform: uppercase; color: var(--ef-amber); margin-bottom: .35rem; text-shadow: 0 -1px 0 rgba(0, 0, 0, .6); }
.ef-hangsign h1 span { display: block; font-size: .5em; margin-top: .45rem; color: var(--ef-amber); font-weight: 700; letter-spacing: .03em; }
.ef-hangsign__nail { position: absolute; top: 10px; width: 10px; height: 10px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #E9D7A8, #6E5A36); box-shadow: 0 1px 1px rgba(0, 0, 0, .6); }
.ef-hangsign__nail--l { left: 12%; } .ef-hangsign__nail--r { right: 12%; }
.ef-hero__meta { display: flex !important; flex-wrap: wrap; align-items: center; gap: .6rem 1.2rem; margin-top: 1.5rem !important; font-size: .95rem; }
.ef-hero__meta .ef-open { background: rgba(14, 26, 16, .65); border: 1.5px solid rgba(240, 184, 96, .55); border-radius: 999px; padding: .35rem .95rem; color: var(--ef-cream); }
.ef-hero__meta a { color: var(--ef-amber); font-weight: 600; }
/* overlays placed in the stage's own coordinates (%), so they stay put as the art scales */
.ef-idol-mascot { position: absolute; z-index: 2; left: 69.4%; top: 71%; height: 26%; aspect-ratio: 520 / 618; transform: translate(-50%, -100%); padding: 0; border: 0; background: none; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.ef-idol-mascot img { width: 100%; height: 100%; object-fit: contain; display: block; filter: drop-shadow(0 0 22px rgba(255, 180, 70, .55)) drop-shadow(0 12px 10px rgba(0, 0, 0, .4)); animation: ef-hover 6s ease-in-out infinite; }
@keyframes ef-hover { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-3.5%); } }
.ef-idol-mascot.is-wiggle img { animation: ef-wiggle .9s var(--ef-spring); }
@keyframes ef-wiggle { 0% { transform: rotate(0) scale(1); } 20% { transform: rotate(-8deg) scale(1.05, .96); } 45% { transform: rotate(6deg) scale(.97, 1.05); } 70% { transform: rotate(-3deg) scale(1.02); } 100% { transform: rotate(0) scale(1); } }
.ef-idol-mascot:focus-visible { outline-offset: 4px; border-radius: 12px; }
.ef-bubble { position: absolute; z-index: 4; left: 77%; top: 31%; width: min(17rem, 22%); margin: 0; padding: .9rem 1.05rem; font-family: var(--ef-journal); font-size: 1rem; line-height: 1.4; color: var(--ef-ink); background: var(--ef-parch) var(--ef-noise); border: 1.5px solid #9C7A45; box-shadow: 0 12px 22px -8px rgba(0, 0, 0, .6); clip-path: polygon(0 2%, 8% 0, 30% 3%, 55% 0, 80% 2%, 100% 0, 99% 30%, 100% 62%, 98% 100%, 70% 97%, 42% 100%, 15% 98%, 0 100%, 2% 60%); transform: rotate(2deg); }
.ef-bubble.is-pop { animation: ef-pop .5s var(--ef-spring); }
@keyframes ef-pop { from { transform: rotate(2deg) scale(.6); opacity: 0; } to { transform: rotate(2deg) scale(1); opacity: 1; } }
.ef-bubble__tag { display: block; font-family: var(--ef-sign); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ef-ember); margin-bottom: .3rem; }
.ef-golden { position: absolute; z-index: 3; left: 47%; top: 84%; width: 6.5%; transform: translate(-50%, -100%); padding: 0; border: 0; background: none; cursor: pointer; }
.ef-golden svg { width: 100%; height: auto; display: block; filter: drop-shadow(0 0 10px rgba(255, 210, 110, .8)); animation: ef-glint 3s ease-in-out infinite; }
@keyframes ef-glint { 0%, 100% { filter: drop-shadow(0 0 6px rgba(255, 210, 110, .55)); } 50% { filter: drop-shadow(0 0 16px rgba(255, 220, 130, 1)); } }
.ef-golden__label { position: absolute; left: 50%; bottom: -1.9rem; transform: translateX(-50%); white-space: nowrap; font-family: var(--ef-journal); font-size: .78rem; color: var(--ef-cream); text-shadow: 0 1px 2px #000; }
.ef-boulder { position: absolute; z-index: 2; top: 74%; left: 100%; width: 11%; aspect-ratio: 1; border-radius: 50%; pointer-events: none; background: radial-gradient(circle at 35% 30%, #CFC2A2, #8C7E62 55%, #4E4433); box-shadow: inset -12px -14px 24px rgba(0, 0, 0, .45), 0 18px 18px -6px rgba(0, 0, 0, .55); opacity: 0; }
.ef-boulder::before { content: ""; position: absolute; inset: 18%; border-radius: 50%; border: 3px solid rgba(60, 50, 35, .45); border-left-color: transparent; border-bottom-color: transparent; }
.ef-boulder.is-rolling { opacity: 1; animation: ef-roll 2.8s cubic-bezier(.45, .05, .55, .95) forwards; }
@keyframes ef-roll { 0% { left: 100%; transform: rotate(0); } 100% { left: -14%; transform: rotate(-900deg); } }
.ef-stage.is-shaking .ef-stage__art { animation: ef-shake .25s linear 8; }
@keyframes ef-shake { 25% { transform: translate(2px, 1px); } 50% { transform: translate(-1px, -2px); } 75% { transform: translate(-2px, 1px); } }
/* scene motion: flames, glows, rays, fireflies, vines */
.ef-flame { transform-box: fill-box; transform-origin: 50% 100%; animation: ef-burn 1.1s ease-in-out infinite alternate; }
.ef-torch--b .ef-flame, .ef-torch--d .ef-flame { animation-duration: 1.35s; animation-delay: -.4s; }
@keyframes ef-burn { 0% { transform: scale(1, 1) skewX(-3deg); } 40% { transform: scale(.94, 1.08) skewX(3deg); } 100% { transform: scale(1.04, .95) skewX(-1deg); } }
.ef-glow { transform-box: fill-box; transform-origin: center; animation: ef-glowp 2.2s ease-in-out infinite alternate; }
@keyframes ef-glowp { from { opacity: .75; transform: scale(.94); } to { opacity: 1; transform: scale(1.06); } }
.ef-ray { animation: ef-rayp 9s ease-in-out infinite alternate; }
.ef-ray--1 { animation-delay: -3s; } .ef-ray--2 { animation-delay: -5s; } .ef-ray--3 { animation-delay: -7s; }
@keyframes ef-rayp { from { opacity: .25; } to { opacity: .65; } }
.ef-fly { animation: ef-flyp 5s ease-in-out infinite; }
.ef-fly--1 { animation-delay: -1.2s; animation-duration: 6s; } .ef-fly--2 { animation-delay: -2.5s; animation-duration: 7s; } .ef-fly--3 { animation-delay: -4s; }
@keyframes ef-flyp { 0%, 100% { opacity: 0; transform: translate(0, 0); } 30% { opacity: 1; } 50% { opacity: .9; transform: translate(14px, -18px); } 80% { opacity: .2; transform: translate(-8px, -30px); } }
.ef-carve { fill: #8E6E46; }
.ef-vines .ef-vine { transform-box: fill-box; transform-origin: 50% 0; animation: ef-vsway 8s ease-in-out infinite alternate; }
.ef-vines .ef-vine:nth-child(2n) { animation-duration: 10s; animation-delay: -4s; }
@keyframes ef-vsway { from { transform: rotate(-1.4deg); } to { transform: rotate(1.4deg); } }
/* the herd walking along the jungle path */
.ef-walkway { position: absolute; z-index: 2; left: 0; right: 0; bottom: 3.4%; height: 11%; overflow: hidden; pointer-events: none; margin: 0 !important; max-width: none !important; }
.ef-walker { position: absolute; bottom: 0; height: 100%; left: -40%; animation: ef-cross 70s linear infinite; }
.ef-walker svg { height: 100%; width: auto; display: block; overflow: visible; }
@keyframes ef-cross { from { left: -40%; } to { left: 104%; } }
.ef-el__leg { transform-box: fill-box; transform-origin: 50% 6%; animation: ef-step .8s ease-in-out infinite alternate; }
.ef-el__leg--b { animation-direction: alternate-reverse; }
@keyframes ef-step { from { transform: rotate(-13deg); } to { transform: rotate(13deg); } }
.ef-el__top { animation: ef-bob .4s ease-in-out infinite alternate; }
@keyframes ef-bob { from { transform: translateY(0); } to { transform: translateY(-2.5px); } }
.ef-el__tail { fill: none; stroke-width: 5; stroke-linecap: round; }
.ef-el__tuft { fill: #2A2520; }
.ef-el__trunk { fill: none; stroke-width: 15; stroke-linecap: round; }
.ef-el__nails ellipse { fill: #E8DFC6; }
.ef-el__eye { fill: #1E1A14; }
.ef-el__glint { fill: #fff; }
.ef-el__cheek { fill: #D9A08A; opacity: .5; }
.ef-el__hair { fill: #1E1A14; }
.ef-el__tusk { fill: none; stroke: #F3EAD3; stroke-width: 5.5; stroke-linecap: round; }
.ef-el__heart { fill: #C9573A; stroke: #2A1E12; stroke-width: 2; }
.ef-el__cap { fill: #C9783A; }
.ef-el__brim { fill: #7A4518; }
.ef-el__pack { fill: #8B5A2B; stroke: #2C1A0C; stroke-width: 2.5; }
.ef-el__pocket { fill: #C79A5E; stroke: #2C1A0C; stroke-width: 2; }
.ef-el__strap { fill: none; stroke: #5A3A1E; stroke-width: 5; stroke-linecap: round; }
.ef-el__bow { fill: #E2B341; }
.ef-el__glass { fill: none; stroke: #2A1E12; stroke-width: 2.5; }
.ef-hero__motion { position: absolute; z-index: 6; right: clamp(1rem, 3vw, 2.5rem); bottom: 18px; margin: 0 !important; max-width: none !important; }
.ef-hero__credit { position: absolute; z-index: 3; left: 50%; bottom: 8px; transform: translateX(-50%); margin: 0 !important; font-family: var(--ef-journal); font-size: .74rem; color: rgba(244, 236, 214, .7); }
@media (max-width: 900px) {
	.ef-hero { display: flex; flex-direction: column; }
	.ef-hero::after { display: none; }
	.ef-hero__copy { position: relative; left: auto; top: auto; transform: none; width: auto; order: -1; padding: 1.4rem clamp(1rem, 4.5vw, 3rem) 2rem; background: #13241A url("/wp-content/themes/espinosa-temple/assets/art/leaves.svg"); }
	.ef-stage { width: 190%; max-width: none; min-height: 0; margin-left: -88% !important; }
	.ef-bubble { left: 54%; top: 6%; width: 18%; font-size: .78rem; padding: .6rem .7rem; }
	.ef-golden__label { display: none; }
}

/* one pause button for everything that moves (WCAG 2.2.2), remembered per visitor */
.ef-motion { width: 42px; height: 42px; border-radius: 50%; border: 2px solid #2C1A0C; background: radial-gradient(circle at 40% 35%, #DCC79C, #A98C5E 70%); color: var(--ef-ink); display: inline-grid; place-items: center; cursor: pointer; padding: 0; box-shadow: 0 3px 0 #1E1208; }
.ef-motion:hover { color: var(--ef-ember); }
.ef-motion svg { width: 13px; height: 13px; fill: currentColor; }
.ef-motion__play { display: none; }
.ef-paused .ef-motion__pause { display: none; }
.ef-paused .ef-motion__play { display: block; }
.ef-paused :is(.ef-flame, .ef-glow, .ef-ray, .ef-fly, .ef-vine, .ef-walker, .ef-el__leg, .ef-el__top, .ef-idol-mascot img, .ef-golden svg, .ef-hangsign, .ef-open__dot, .ef-footer__walk, .ef-msg__flow, .ef-cta__torch *) { animation-play-state: paused !important; }

/* =====================================================================================================================
   INTERIOR PAGE HEADS: a jungle clearing (art/head.svg), the title, and a stone arch with a photo or a logo
   ===================================================================================================================== */
.ef-pagehead { position: relative; overflow: clip; isolation: isolate; background: radial-gradient(ellipse at 75% 40%, rgba(242, 154, 46, .22), transparent 55%), linear-gradient(180deg, #2C4A30, #1A2E1F); color: var(--ef-cream); padding-top: clamp(2.6rem, 2rem + 3vw, 5rem) !important; padding-bottom: clamp(2.6rem, 2rem + 3vw, 5rem) !important; }
.ef-pagehead::before { content: ""; position: absolute; inset: 0; z-index: -1; background: url("/wp-content/themes/espinosa-temple/assets/art/head.svg") center / cover no-repeat; opacity: .95; }
.ef-pagehead::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 30px; background: url("/wp-content/themes/espinosa-temple/assets/art/frieze.svg") 0 0 / auto 30px repeat-x; border-top: 2px solid #5E4A2C; }
.ef-pagehead--paper, .ef-pagehead--mint, .ef-pagehead--articles { background: radial-gradient(ellipse at 75% 40%, rgba(242, 154, 46, .22), transparent 55%), linear-gradient(180deg, #2C4A30, #1A2E1F); }
.ef-pagehead__inner { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: center; margin-inline: auto !important; }
.ef-pagehead__copy > * { margin-block: 0 !important; }
.ef-pagehead__copy > * + * { margin-top: 1.2rem !important; }
.ef-pagehead h1, .ef-pagehead .wp-block-query-title { color: var(--ef-cream); font-size: clamp(2.4rem, 1.5rem + 3.4vw, 4.4rem) !important; text-shadow: 0 3px 0 rgba(0, 0, 0, .5); }
.ef-pagehead h1 em { color: var(--ef-amber); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='14' viewBox='0 0 60 14'%3E%3Cpath d='M0 9 Q15 2 30 8 T60 8' fill='none' stroke='%23A8C49A' stroke-width='2.4' stroke-linecap='round'/%3E%3Cpath d='M18 5 q4 -6 10 -3 q-4 5 -10 3z M44 9 q5 4 10 1 q-5 -5 -10 -1z' fill='%23A8C49A'/%3E%3C/svg%3E"); }
.ef-pagehead .ef-lead, .ef-pagehead .wp-block-term-description { color: var(--ef-cream-soft); }
.ef-pagehead a:not([class]) { color: var(--ef-amber); }
.ef-pagehead__art { position: relative; display: grid; place-items: center; min-height: 280px; }
.ef-pagehead__art::before { content: ""; position: absolute; width: min(86%, 320px); aspect-ratio: 4 / 5; border-radius: 999px 999px 10px 10px; background: radial-gradient(ellipse at 50% 70%, #E08A22 0%, #7A3D10 55%, #2A160A 100%); border: 16px solid #BFA57C; box-shadow: inset 0 0 0 3px #6E5034, 0 0 0 3px #6E5034, inset 0 0 40px rgba(0, 0, 0, .5), 0 20px 30px -10px rgba(0, 0, 0, .6); }
.ef-pagehead__art img { position: relative; width: min(100%, 290px); height: auto; filter: drop-shadow(0 0 20px rgba(255, 180, 70, .5)) drop-shadow(0 12px 12px rgba(0, 0, 0, .4)); }
.ef-pagehead__art--photo::before { display: none; }
.ef-pagehead__art--photo img { width: min(88%, 300px); aspect-ratio: 4 / 5; object-fit: cover; border-radius: 999px 999px 10px 10px; border: 14px solid #BFA57C; box-shadow: 0 0 0 3px #6E5034, inset 0 0 0 3px #6E5034, 0 20px 30px -10px rgba(0, 0, 0, .6); filter: sepia(.12) saturate(1.05); }
@media (max-width: 820px) {
	.ef-pagehead__inner { grid-template-columns: minmax(0, 1fr); }
	.ef-pagehead__art { order: -1; min-height: 0; width: 210px; margin: 0 auto; }
	.ef-pagehead__art img { width: 190px; }
	.ef-pagehead__art--photo img { width: 190px; }
}

/* =====================================================================================================================
   CARDS: sandstone tablets (default), parchment notes, field-note post cards
   ===================================================================================================================== */
.ef-card { position: relative; color: var(--ef-ink); background: var(--ef-stone) var(--ef-noise); border: 2px solid var(--ef-chisel); border-radius: var(--ef-radius); padding: clamp(1.25rem, 1rem + 1vw, 1.8rem) !important; box-shadow: inset 0 0 0 5px rgba(255, 255, 255, .14), inset 0 0 0 7px rgba(110, 80, 52, .28), 0 12px 22px -10px rgba(30, 20, 10, .55); transition: transform .3s var(--ef-ease), box-shadow .3s; }
.ef-card > * { margin-block: 0 !important; }
.ef-card > * + * { margin-top: .8rem !important; }
.ef-card h3 { font-size: clamp(1.3rem, 1.1rem + .6vw, 1.6rem); }
.ef-card p, .ef-card li { color: #3D2E1C; }
.ef-card--mint { background-color: #C3C9A0; }
.ef-card--peach, .ef-card--sky { background-color: var(--ef-parch); border-color: #A8875A; }
.ef-card--sky { background-color: #DCD3BC; }
.ef-card__icon { width: 64px; height: 64px; border-radius: 50%; display: grid; place-items: center; background: radial-gradient(circle at 40% 35%, #F7D58C, #C98A2E 70%); border: 2px solid #6B3A0E; box-shadow: inset 0 2px 0 rgba(255, 255, 255, .45), 0 3px 0 #6B3A0E; }
.ef-card__icon svg { width: 32px; height: 32px; fill: none; stroke: #2A1305; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
a.ef-card { display: block; color: var(--ef-ink); text-decoration: none; }
a.ef-card h3 { text-decoration: underline; text-decoration-color: transparent; text-decoration-thickness: 2px; text-underline-offset: .2em; transition: text-decoration-color .2s; }
a.ef-card:hover { transform: translateY(-4px); box-shadow: inset 0 0 0 5px rgba(255, 255, 255, .14), inset 0 0 0 7px rgba(110, 80, 52, .28), 0 0 0 3px rgba(242, 154, 46, .55), 0 18px 28px -10px rgba(30, 20, 10, .6); }
a.ef-card:hover h3 { text-decoration-color: var(--ef-ember); }
.ef-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); gap: clamp(1rem, 2vw, 1.6rem); }
@media (min-width: 900px) { .ef-cards--ways, .ef-cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.ef-cards--ways .ef-card h3 { margin-top: 1rem !important; }
/* field notes: parchment with a strip of tape */
.ef-card--post, .ef-card--loop { padding: 0 !important; background: #F7EDD5 var(--ef-noise); border: 1px solid #C4A774; border-radius: 3px; box-shadow: 0 1px 0 #fff inset, 0 14px 22px -12px rgba(40, 25, 10, .55); overflow: visible; }
.ef-card--post::before, .ef-card--loop::before { content: ""; position: absolute; z-index: 2; top: -11px; left: 50%; width: 92px; height: 24px; transform: translateX(-50%) rotate(-3deg); background: rgba(232, 220, 170, .78); box-shadow: 0 1px 2px rgba(0, 0, 0, .15); }
.ef-card--post:nth-child(even)::before { transform: translateX(-50%) rotate(4deg); }
.ef-card--post > * + *, .ef-card--loop > * + * { margin-top: 0 !important; }
.ef-card__link { display: flex; flex-direction: column; height: 100%; color: var(--ef-ink); text-decoration: none; }
.ef-card__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; margin: .7rem .7rem 0 !important; background: var(--ef-parch-dark); border: 1px solid #C4A774; }
.ef-card__media img, .ef-card__img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; transition: transform .6s var(--ef-ease); filter: sepia(.08); }
.ef-card__media--none { background: var(--ef-parch-dark) var(--ef-blocks); }
.ef-card--post:hover, .ef-card--loop:hover { transform: translateY(-4px) rotate(-.3deg); box-shadow: 0 1px 0 #fff inset, 0 20px 28px -12px rgba(40, 25, 10, .6); }
.ef-card--post:hover .ef-card__media img, .ef-card--loop:hover .ef-card__media img { transform: scale(1.05); }
.ef-card__body { display: flex; flex-direction: column; gap: .4rem; padding: 1rem 1.2rem 1.3rem; }
.ef-card__body > * { margin: 0 !important; }
.ef-card__kicker { font-family: var(--ef-journal); font-size: .8rem; letter-spacing: .05em; text-transform: uppercase; color: var(--ef-ember); }
.ef-card__title { font-family: var(--ef-display); font-size: 1.24rem !important; font-weight: 800; line-height: 1.15; }
.ef-card__title a { color: var(--ef-ink); text-decoration: none; }
.ef-card__title a::after { content: ""; position: absolute; inset: 0; }
.ef-card__text, .ef-card__text p { font-size: .97rem; color: var(--ef-ink-soft); line-height: 1.55; }
.ef-card--loop { height: 100%; display: flex; flex-direction: column; }
.ef-card--loop .wp-block-post-featured-image { margin: .7rem .7rem 0; }
.ef-card--loop .wp-block-post-excerpt__more-text { display: none; }
.ef-pager { margin-top: var(--wp--preset--spacing--50) !important; gap: .4rem; font-family: var(--ef-display); font-weight: 800; flex-wrap: wrap; }
.ef-pager a, .ef-pager .page-numbers { display: inline-grid; place-items: center; min-width: 46px; height: 46px; padding: 0 .9rem; border: 2px solid var(--ef-chisel); border-radius: 50%; background: var(--ef-stone) var(--ef-noise); color: var(--ef-ink); text-decoration: none; box-shadow: inset 0 2px 0 rgba(255, 255, 255, .35), 0 3px 0 #6E5A36; }
.ef-pager .wp-block-query-pagination-previous, .ef-pager .wp-block-query-pagination-next { border-radius: 6px; }
.ef-pager .page-numbers.current { background: linear-gradient(180deg, #F7C46A, #E08A22); border-color: #6B3A0E; }
.ef-pager .page-numbers.dots { border: 0; box-shadow: none; background: none; min-width: 0; }
.ef-pager a:hover { color: var(--ef-ember); }
/* chips: river stones */
.ef-chips { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; padding: 0; margin: 0; }
.ef-chips--list li { margin: 0; }
.ef-chip { display: inline-flex; align-items: center; gap: .45rem; font: inherit; font-family: var(--ef-display); font-weight: 800; font-size: .96rem; color: var(--ef-ink); background: var(--ef-stone) var(--ef-noise); border: 2px solid var(--ef-chisel); border-radius: 999px; padding: .5rem 1.05rem; text-decoration: none; cursor: pointer; box-shadow: inset 0 2px 0 rgba(255, 255, 255, .35), 0 3px 0 #6E5A36; transition: transform .2s var(--ef-ease), background .2s, box-shadow .2s; }
.ef-chip:hover { transform: translateY(-2px); color: var(--ef-ember); }
.ef-chip.is-on, .ef-chip[aria-pressed="true"], .ef-chip[aria-current="page"] { background: linear-gradient(180deg, #F7C46A, #E08A22); border-color: #6B3A0E; box-shadow: inset 0 2px 0 rgba(255, 255, 255, .45), 0 3px 0 #6B3A0E, 0 0 16px rgba(242, 154, 46, .45); color: #2A1305; }
.ef-chip--sun, .ef-chip--all { background: #E9D9B2 var(--ef-noise); }
.ef-chip__n { display: inline-grid; place-items: center; min-width: 1.6em; height: 1.6em; border-radius: 999px; background: var(--ef-wood); color: var(--ef-cream); font-size: .78rem; }
.ef-search { max-width: 34rem; }
.ef-search .wp-block-search__inside-wrapper { border: 3px solid #2C1A0C !important; border-radius: 8px; background: var(--ef-parch); padding: 4px !important; box-shadow: 0 10px 20px -10px rgba(0, 0, 0, .6); }
.ef-search .wp-block-search__input { border: 0 !important; background: transparent; font: inherit; font-family: var(--ef-journal); font-size: 1rem; padding: .6rem 1rem !important; min-width: 0; color: var(--ef-ink); }
.ef-search .wp-block-search__input:focus { outline: none; }
.ef-search .wp-block-search__inside-wrapper:focus-within { outline: 3px solid var(--ef-torch); outline-offset: 3px; }
.ef-search .wp-block-search__button { margin: 0 !important; border-radius: 5px !important; box-shadow: none !important; padding: .6rem 1.1rem !important; }
.ef-search--center { margin-inline: auto !important; }

/* =====================================================================================================================
   "WHO'S JOINING THE EXPEDITION?" (the herd picker)
   ===================================================================================================================== */
.ef-herd { display: grid; gap: clamp(1.2rem, 2.5vw, 2rem); }
.ef-herd__ask { font-family: var(--ef-journal); font-size: 1.1rem; margin: 0 0 .9rem; }
.ef-section--mint .ef-herd__ask, .ef-section--mint .ef-herd__sum { color: var(--ef-cream); }
.ef-herd__btns { display: flex; flex-wrap: wrap; gap: .6rem; }
.ef-herd__btn { display: inline-flex; align-items: center; gap: .55rem; font-family: var(--ef-sign); font-size: 1rem; letter-spacing: .02em; color: var(--ef-cream); background-image: var(--ef-grain), linear-gradient(180deg, #9B6633, #74481F); border: 2px solid #2C1A0C; border-radius: 6px; padding: .65rem 1.1rem .65rem .75rem; cursor: pointer; text-shadow: 0 -1px 0 rgba(0, 0, 0, .5); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22), 0 4px 0 #2C1A0C; transition: transform .2s var(--ef-ease), box-shadow .2s; }
.ef-herd__btn:hover { transform: translateY(-2px); color: var(--ef-amber); }
.ef-herd__btn[aria-pressed="true"] { background-image: linear-gradient(180deg, #F7C46A, #E08A22); color: #2A1305; text-shadow: none; border-color: #6B3A0E; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .5), 0 4px 0 #6B3A0E, 0 0 20px rgba(242, 154, 46, .5); }
.ef-herd__plus { width: 24px; height: 24px; border-radius: 50%; background: #2C1A0C; position: relative; flex: none; transition: transform .35s var(--ef-spring); }
.ef-herd__plus::before, .ef-herd__plus::after { content: ""; position: absolute; left: 50%; top: 50%; width: 11px; height: 2.5px; background: var(--ef-cream); border-radius: 2px; transform: translate(-50%, -50%); }
.ef-herd__plus::after { transform: translate(-50%, -50%) rotate(90deg); }
.ef-herd__btn[aria-pressed="true"] .ef-herd__plus { transform: rotate(45deg); }
.ef-herd__stage { position: relative; min-height: 170px; background: radial-gradient(ellipse at 50% 120%, rgba(242, 154, 46, .25), transparent 60%), linear-gradient(180deg, #4C7048, #2B4630); border: 3px solid #2C1A0C; border-radius: 8px; overflow: hidden; display: flex; align-items: flex-end; justify-content: center; padding: 1rem 1rem 0; box-shadow: inset 0 0 40px rgba(0, 0, 0, .35); }
.ef-herd__stage::before { content: ""; position: absolute; inset: 0; background: url("/wp-content/themes/espinosa-temple/assets/art/head.svg") center bottom / cover no-repeat; opacity: .9; }
.ef-herd__line { position: relative; z-index: 1; display: flex; align-items: flex-end; justify-content: center; flex-wrap: nowrap; margin-bottom: 16px; }
.ef-herd__slot { display: block; margin: 0 -6px; animation: ef-join .55s var(--ef-spring); }
.ef-herd__slot svg { display: block; width: auto; overflow: visible; }
.ef-herd__slot[data-type="adult"] svg { height: 128px; } .ef-herd__slot[data-type="grand"] svg { height: 122px; } .ef-herd__slot[data-type="expecting"] svg { height: 118px; }
.ef-herd__slot[data-type="teen"] svg { height: 102px; } .ef-herd__slot[data-type="kid"] svg { height: 82px; } .ef-herd__slot[data-type="baby"] svg { height: 60px; }
@keyframes ef-join { from { transform: translateY(40px) scale(.6); opacity: 0; } to { transform: none; opacity: 1; } }
.ef-herd__ground { position: absolute; left: 0; right: 0; bottom: 0; height: 22px; background: #6E5636; border-top: 3px solid #3B2C1A; }
.ef-herd__stage .ef-el__leg, .ef-herd__stage .ef-el__top, .ef-herd__cardhead .ef-el__leg, .ef-herd__cardhead .ef-el__top { animation: none; }
.ef-herd__slot.is-happy .ef-el__top { animation: ef-bob .3s ease-in-out 4 alternate; }
.ef-herd__sum { margin: 0; font-family: var(--ef-display); font-size: clamp(1.1rem, 1rem + .6vw, 1.4rem); font-weight: 800; }
.ef-herd__cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 19rem), 1fr)); gap: clamp(1rem, 2vw, 1.5rem); }
.ef-herd__card { color: var(--ef-ink); background: var(--ef-parch) var(--ef-noise); border: 1px solid #C4A774; border-radius: 3px; box-shadow: 0 16px 26px -14px rgba(0, 0, 0, .7); padding: 1.3rem 1.35rem 1.4rem; animation: ef-join .5s var(--ef-spring); clip-path: polygon(0 1%, 6% 0, 40% 1.5%, 70% 0, 100% 1%, 99.5% 50%, 100% 99%, 60% 100%, 30% 98.5%, 0 100%, .5% 50%); }
.js .ef-herd__card[data-off] { display: none; }
.ef-herd__card > * { margin: 0; }
.ef-herd__card > * + * { margin-top: .7rem; }
.ef-herd__cardhead { display: flex; align-items: center; gap: .8rem; }
.ef-herd__cardhead svg { width: 74px; height: auto; flex: none; }
.ef-herd__card h3 { font-size: 1.4rem; margin: 0; color: var(--ef-ink) !important; text-shadow: none !important; }
p.ef-herd__line { font-size: 1rem; color: var(--ef-ink); font-weight: 500; margin: 0; }
.ef-herd__visit { font-size: .97rem; color: var(--ef-ink-soft); background: rgba(205, 190, 156, .45); border-left: 4px solid var(--ef-moss); padding: .65rem .85rem; }
.ef-herd__h { font-family: var(--ef-journal) !important; font-size: .82rem !important; letter-spacing: .05em; text-transform: uppercase; color: var(--ef-ember) !important; margin-top: 1rem !important; text-shadow: none !important; }
.ef-herd__why, .ef-herd__links { margin: .35rem 0 0 !important; padding-left: 1.15rem; font-size: .97rem; }
.ef-herd__why li, .ef-herd__links li { margin: .2rem 0; }
.ef-herd__links { list-style: none; padding: 0; }
.ef-herd__links a { font-weight: 600; color: var(--ef-moss); }
.ef-herd__links a::before { content: "➜ "; display: inline-block; margin-right: .2rem; text-decoration: none; color: var(--ef-ember); }

/* =====================================================================================================================
   KIDS: Spine Safari (an ancient tablet), the explorer's backpack, the message line
   ===================================================================================================================== */
.ef-spine { display: grid; grid-template-columns: minmax(0, 21rem) minmax(0, 1fr); gap: clamp(1.5rem, 5vw, 5rem); align-items: center; }
.ef-spine__fig { margin: 0; background: var(--ef-stone) var(--ef-noise); border: 2px solid var(--ef-chisel); border-radius: 999px 999px 12px 12px; box-shadow: inset 0 0 0 7px rgba(255, 255, 255, .14), inset 0 0 0 9px rgba(110, 80, 52, .3), 0 16px 26px -10px rgba(0, 0, 0, .55); padding: 2rem 1.2rem 1.2rem; }
.ef-spine__fig svg { display: block; width: 100%; max-height: 660px; }
.ef-spine__head circle:first-child { fill: #E2CBA0; stroke: #5B4630; stroke-width: 3; }
.ef-spine__eye { fill: #2A1E12; }
.ef-spine__smile { fill: none; stroke: #2A1E12; stroke-width: 3; stroke-linecap: round; }
.ef-spine__v rect, .ef-spine__v > path:not(.ef-spine__rib) { fill: #E3D6B8; stroke: #5B4630; stroke-width: 2.5; transition: fill .3s; }
.ef-spine__rib { fill: none; stroke: #A5946F; stroke-width: 5; stroke-linecap: round; transition: stroke .3s; }
.ef-spine__v text { font-family: var(--ef-display); font-weight: 900; font-size: 13px; fill: #2A1305; text-anchor: middle; opacity: 0; transition: opacity .2s; }
.ef-spine__v text.ef-spine__small { font-size: 10px; }
.ef-spine__v.is-lit rect, .ef-spine__v.is-lit > path:not(.ef-spine__rib) { fill: #E8B54A; }
.ef-spine__v.is-lit .ef-spine__rib { stroke: #D7A24A; }
.ef-spine__v.is-lit text { opacity: 1; }
.ef-spine__v.is-pop { animation: ef-vpop .35s var(--ef-spring); transform-box: fill-box; transform-origin: center; }
@keyframes ef-vpop { 50% { transform: scale(1.18); } }
.ef-spine__side { max-width: 38rem; }
.ef-spine__side > * { margin: 0; }
.ef-spine__side > * + * { margin-top: 1.3rem; }
.ef-spine__count { font-family: var(--ef-display); font-weight: 900; font-size: clamp(2.4rem, 1.8rem + 2.4vw, 3.8rem); line-height: 1; }
.ef-spine__count [data-ef-count] { color: var(--ef-ember); display: inline-block; min-width: 1.3ch; }
.ef-spine__count [data-ef-count-label] { font-size: .42em; color: var(--ef-ink-soft); }
.ef-spine__chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.ef-spine__facts { min-height: 7.5rem; }
.ef-spine__fact { margin: 0; background: var(--ef-parch) var(--ef-noise); border: 1px solid #C4A774; border-left: 6px solid var(--ef-moss); padding: 1rem 1.2rem; font-family: var(--ef-journal); font-size: 1.05rem; line-height: 1.5; box-shadow: 0 10px 18px -10px rgba(0, 0, 0, .45); animation: ef-join .45s var(--ef-spring); }
.ef-spine__badge { display: none; align-items: center; gap: .9rem; margin-top: 1.2rem; font-family: var(--ef-display); font-weight: 800; }
.ef-spine.is-done .ef-spine__badge { display: flex; animation: ef-join .6s var(--ef-spring); }
.ef-spine__badge svg { width: 74px; height: 74px; flex: none; }
@media (max-width: 760px) { .ef-spine { grid-template-columns: minmax(0, 1fr); } .ef-spine__fig { max-width: 300px; margin: 0 auto; } }
.ef-pack { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 1.5rem clamp(1.5rem, 4vw, 3.5rem); align-items: center; background: var(--ef-parch) var(--ef-noise); border: 1px solid #C4A774; box-shadow: 0 18px 30px -14px rgba(0, 0, 0, .55); padding: clamp(1.3rem, 1rem + 2vw, 2.4rem); position: relative; }
.ef-pack::before { content: ""; position: absolute; top: -12px; left: 8%; width: 110px; height: 26px; background: rgba(232, 220, 170, .8); transform: rotate(-4deg); }
.ef-pack__controls { display: grid; gap: 1.4rem; }
.ef-pack__field { display: grid; grid-template-columns: 1fr auto; align-items: baseline; gap: .4rem 1rem; }
.ef-pack__field label { font-family: var(--ef-display); font-weight: 800; font-size: 1.1rem; }
.ef-pack__field output { font-family: var(--ef-display); font-weight: 900; font-size: 1.6rem; color: var(--ef-ember); }
.ef-pack__field input { grid-column: 1 / -1; width: 100%; accent-color: #B5651D; height: 30px; cursor: pointer; }
.ef-pack__tip { margin: 0; font-family: var(--ef-journal); font-size: .9rem; color: var(--ef-ink-soft); }
.ef-pack__fig { margin: 0; background: linear-gradient(180deg, #5E8459, #2E4A32); border: 3px solid #2C1A0C; border-radius: 6px; overflow: hidden; }
.ef-pack__svg { display: block; width: 100%; height: auto; }
.ef-pack__ground { stroke: #6E5636; stroke-width: 10; }
.ef-pack__lean { transform-box: fill-box; transform-origin: 70% 100%; transition: transform .6s var(--ef-spring); }
.ef-pack__fig .ef-el__leg, .ef-pack__fig .ef-el__top { animation: none; }
.ef-pack__fig .ef-el__pack, .ef-pack__fig .ef-el__pocket { transform-box: fill-box; transform-origin: 80% 100%; transition: transform .5s var(--ef-spring); transform: scale(var(--pack, 1)); }
.ef-pack[data-zone="heavy"] .ef-pack__lean { transform: rotate(4deg); }
.ef-pack[data-zone="too"] .ef-pack__lean { transform: rotate(9deg) translateY(3px); }
.ef-pack__result { grid-column: 1 / -1; display: grid; gap: .9rem; }
.ef-pack__meter { position: relative; height: 26px; border: 2px solid #2C1A0C; border-radius: 4px; display: flex; margin-bottom: 1.1rem; }
.ef-pack__zone { height: 100%; }
.ef-pack__zone--ok { width: 40%; background: #8FAE6E; }
.ef-pack__zone--heavy { width: 20%; background: #E8B54A; }
.ef-pack__zone--too { width: 40%; background: #C9573A; }
.ef-pack__mark { position: absolute; top: -9px; left: var(--at, 0%); width: 6px; height: 40px; margin-left: -3px; border-radius: 2px; background: #2C1A0C; transition: left .4s var(--ef-spring); }
.ef-pack__tick { position: absolute; top: calc(100% + 4px); left: var(--at); transform: translateX(-50%); font-family: var(--ef-journal); font-size: .8rem; color: var(--ef-ink-soft); }
.ef-pack__verdict { margin: 0; font-size: 1.08rem; }
.ef-pack__verdict strong { font-family: var(--ef-display); }
@media (max-width: 760px) { .ef-pack { grid-template-columns: minmax(0, 1fr); } }
.ef-pack-tips { margin-top: var(--wp--preset--spacing--50) !important; }
.ef-pack-tips h3 { font-size: 1.4rem; margin-bottom: .8rem; }
.ef-msg { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: center; }
.ef-msg__fig { margin: 0; background: #F3E6C4 var(--ef-noise); border: 1px solid #B9955E; box-shadow: inset 0 0 50px rgba(150, 105, 50, .25), 0 16px 26px -12px rgba(0, 0, 0, .55); padding: 1rem; }
.ef-msg__fig svg { display: block; width: 100%; height: auto; overflow: visible; }
.ef-msg__brain path:first-child { fill: #E7C9A2; stroke: #5B4630; stroke-width: 3; }
.ef-msg__fold { fill: none; stroke: #7A3418; stroke-width: 2.5; stroke-linecap: round; }
.ef-msg__cord { stroke: #A5946F; stroke-width: 10; stroke-linecap: round; }
.ef-msg__v { fill: #EADDBE; stroke: #5B4630; stroke-width: 2.5; transition: transform .5s var(--ef-spring), fill .3s; }
.ef-msg__nerve { fill: none; stroke: #A5946F; stroke-width: 7; stroke-linecap: round; }
.ef-msg__flow { fill: none; stroke: #E08A22; stroke-width: 7; stroke-linecap: round; stroke-dasharray: 2 22; animation: ef-flow 1.1s linear infinite; }
@keyframes ef-flow { to { stroke-dashoffset: -24; } }
.ef-msg__hand path:first-child { fill: #E7C9A2; stroke: #5B4630; stroke-width: 3; }
.ef-msg__finger { fill: none; stroke: #5B4630; stroke-width: 9; stroke-linecap: round; }
.ef-msg__zap path { fill: none; stroke: #B5462A; stroke-width: 4; stroke-linecap: round; stroke-linejoin: round; opacity: 0; transition: opacity .3s; }
.ef-msg.is-pinched .ef-msg__v--pinch { transform: translateX(14px); fill: #E8B54A; }
.ef-msg.is-pinched .ef-msg__flow--nerve { opacity: .28; animation-duration: 3.4s; stroke-dasharray: 2 40; }
.ef-msg.is-pinched .ef-msg__zap path { opacity: 1; animation: ef-zap .5s steps(2) infinite; }
@keyframes ef-zap { 50% { opacity: .2; } }
.ef-msg__side > * { margin: 0; }
.ef-msg__side > * + * { margin-top: 1rem; }
.ef-msg__state { font-family: var(--ef-display); font-size: clamp(1.35rem, 1.1rem + 1vw, 1.9rem); line-height: 1.2; }
.ef-msg__state strong { color: var(--ef-ember); }
@media (max-width: 760px) { .ef-msg { grid-template-columns: minmax(0, 1fr); } }

/* =====================================================================================================================
   HOURS (a carved tablet), THE TREASURE MAP, TIMELINE (stepping stones), STEPS (Roman numerals), STORIES (pinned notes)
   ===================================================================================================================== */
.ef-hours { margin: 0; display: grid; gap: .55rem; background: var(--ef-stone) var(--ef-noise); border: 2px solid var(--ef-chisel); border-radius: 10px; padding: 1.2rem 1.2rem 1.3rem; box-shadow: inset 0 0 0 5px rgba(255, 255, 255, .14), inset 0 0 0 7px rgba(110, 80, 52, .28), 0 12px 22px -10px rgba(0, 0, 0, .5); color: var(--ef-ink); }
.ef-hours__head { display: grid; grid-template-columns: 3.4rem minmax(0, 1fr); font-family: var(--ef-journal); font-size: .76rem; color: var(--ef-ink-soft); }
.ef-hours__scale { display: flex; justify-content: space-between; }
.ef-hours__row { display: grid; grid-template-columns: 3.4rem minmax(0, 1fr); align-items: center; }
.ef-hours__day { font-family: var(--ef-display); font-weight: 900; font-size: .98rem; }
.ef-hours__day abbr { text-decoration: none; }
.ef-hours__track { position: relative; height: 34px; border-radius: 4px; background: repeating-linear-gradient(90deg, rgba(90, 70, 40, .14) 0 1px, transparent 1px calc(100% / 12)), rgba(255, 255, 255, .25); border: 2px solid #8C7A55; box-shadow: inset 0 2px 4px rgba(0, 0, 0, .15); }
.ef-hours__bar { position: absolute; top: 3px; bottom: 3px; left: var(--from); width: var(--len); border-radius: 3px; background: #8FAE6E; border: 2px solid #3E5B2A; display: flex; align-items: center; justify-content: center; font-family: var(--ef-sign); font-size: .78rem; color: #1E2E12; white-space: nowrap; overflow: hidden; }
.ef-hours__bar--pm { background: #E8B54A; border-color: #7A4F12; color: #2A1305; }
.ef-hours__lunch { position: absolute; top: 0; bottom: 0; left: var(--from); width: var(--len); display: flex; align-items: center; justify-content: center; font-family: var(--ef-journal); font-size: .74rem; color: var(--ef-ink-soft); }
.ef-hours__closed { position: absolute; inset: 0; display: flex; align-items: center; padding-left: 1rem; font-family: var(--ef-journal); font-size: .84rem; color: var(--ef-ink-soft); }
.ef-hours__row.is-today .ef-hours__day { color: var(--ef-ember); }
.ef-hours__row.is-today .ef-hours__track { box-shadow: 0 0 0 3px rgba(242, 154, 46, .55); }
.ef-hours__now { position: absolute; top: -6px; bottom: -6px; width: 3px; margin-left: -1.5px; background: var(--ef-ember); border-radius: 2px; left: var(--now); display: none; z-index: 2; }
.ef-hours__now.is-on { display: block; }
@media (max-width: 460px) { .ef-hours__bar { font-size: 0; } .ef-hours__lunch { font-size: 0; } }
.ef-hourlist { margin: 0; display: grid; gap: .3rem; }
.ef-hourlist > div { display: grid; grid-template-columns: 6.2rem minmax(0, 1fr); gap: .6rem; }
.ef-hourlist dt { font-weight: 700; }
.ef-hourlist dd { margin: 0; }
.ef-hourlist dd span { display: block; white-space: nowrap; }
.ef-hourlist > div.is-today dt::after { content: " · today"; font-weight: 500; opacity: .85; }
/* the map as a treasure map */
.ef-map { position: relative; margin: 0; border: 1px solid #B9955E; overflow: hidden; aspect-ratio: 4 / 3; background: #EBDCB5; box-shadow: inset 0 0 60px rgba(120, 80, 30, .35), 0 18px 30px -12px rgba(0, 0, 0, .55); transform: rotate(-.6deg); }
.ef-map::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: var(--ef-noise), radial-gradient(ellipse at 50% 50%, transparent 55%, rgba(110, 70, 25, .35)); }
.ef-map__svg { display: block; width: 100%; height: 100%; }
.ef-map .m-land { fill: #EBDCB5; }
.ef-map .m-park { fill: #B9C58E; opacity: .8; }
.ef-map .m-campus { fill: #D9C9A4; }
.ef-map .m-water { fill: #A9C3B6; }
.ef-map .m-river { fill: none; stroke: #8FB2A6; stroke-width: 14; stroke-linecap: round; stroke-linejoin: round; }
.ef-map .m-road { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.ef-map .m-road--minor { stroke: #B89A6A; stroke-width: 1.6; opacity: .7; }
.ef-map .m-road--major { stroke: #8E6B3E; stroke-width: 2.6; }
.ef-map .m-road--link { stroke: #8E6B3E; stroke-width: 2; opacity: .6; }
.ef-map .m-road--hwy { stroke: #5B4630; stroke-width: 6; }
.ef-map .m-road--folsom { stroke: #9E3B22; stroke-width: 5; stroke-dasharray: 12 7; }
.ef-map .m-rail { fill: none; stroke: #365224; stroke-width: 2; stroke-dasharray: 2 5; }
.ef-map text { font-family: "Special Elite", monospace; }
.ef-map .m-label { font-size: 15px; fill: #5B4630; }
.ef-map .m-label--area { font-size: 15px; letter-spacing: .25em; fill: #7A6145; font-family: Cinzel, serif; font-weight: 800; }
.ef-map .m-label--park { fill: #365224; font-size: 14px; }
.ef-map .m-label--water { fill: #3B6156; font-style: italic; }
.ef-map .m-label--road { fill: #7A3418; }
.ef-map .m-shield rect { fill: #5B4630; }
.ef-map .m-shield text { fill: #F4ECD6; font-size: 14px; }
.ef-map .m-pin__dot { fill: none; stroke: #B5462A; stroke-width: 0; }
.ef-map .m-pin__halo { fill: rgba(181, 70, 42, .12); }
.ef-map .m-pin__pulse { fill: none; stroke: #B5462A; stroke-width: 3; transform-box: fill-box; transform-origin: center; animation: ef-ping 2.4s var(--ef-ease) infinite; }
.ef-map .m-x { stroke: #B5462A; stroke-width: 6; stroke-linecap: round; }
@keyframes ef-ping { from { transform: scale(.6); opacity: .9; } to { transform: scale(2.6); opacity: 0; } }
.ef-paused .ef-map .m-pin__pulse { animation: none; opacity: 0; }
.ef-map .m-flag rect { fill: #4A2F1A; }
.ef-map .m-flag text { fill: #F4ECD6; font-size: 15px; }
.ef-map .m-compass circle { fill: #F2E6C9; stroke: #5B4630; stroke-width: 2; }
.ef-map .m-compass path { fill: #9E3B22; }
.ef-map .m-compass text { font-size: 14px; fill: #5B4630; }
.ef-map .m-credit { font-size: 12px; fill: #5B4630; }
.ef-map__legend { display: flex; flex-wrap: wrap; gap: .5rem 1.2rem; list-style: none; padding: 0; margin: 1.3rem 0 0; font-family: var(--ef-journal); font-size: .88rem; }
.ef-map__legend li { display: inline-flex; align-items: center; gap: .45rem; margin: 0; }
.ef-map__legend i { width: 26px; height: 6px; border-radius: 3px; display: inline-block; }
.ef-timeline { list-style: none; margin: 0; padding: 0; position: relative; display: grid; gap: 1.1rem; }
.ef-timeline::before { content: ""; position: absolute; left: 31px; top: 10px; bottom: 10px; width: 6px; border-radius: 3px; background: repeating-linear-gradient(-30deg, var(--ef-rope-a) 0 4px, var(--ef-rope-b) 4px 7px); }
.ef-timeline li { position: relative; display: grid; grid-template-columns: 68px minmax(0, 1fr); gap: 1rem; align-items: start; margin: 0; }
.ef-timeline__yr { position: relative; z-index: 1; width: 68px; height: 68px; border-radius: 50%; display: grid; place-items: center; text-align: center; line-height: 1.05; padding: 4px; background: radial-gradient(circle at 40% 35%, #DCC79C, #A98C5E 70%); border: 2px solid #5E4A2C; font-family: var(--ef-display); font-weight: 900; font-size: .92rem; color: #2A1E12; box-shadow: inset 0 2px 0 rgba(255, 255, 255, .45), 0 3px 0 #5E4A2C; }
.ef-timeline__body { background: var(--ef-parch) var(--ef-noise); border: 1px solid #C4A774; padding: .95rem 1.15rem; box-shadow: 0 10px 18px -10px rgba(0, 0, 0, .5); color: var(--ef-ink); }
.ef-timeline__body h3 { font-size: 1.2rem; margin: 0 0 .3rem; color: var(--ef-ink) !important; text-shadow: none !important; }
.ef-timeline__body p { margin: 0; font-size: .98rem; color: var(--ef-ink-soft); }
.ef-steps { counter-reset: s; list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: clamp(1rem, 2vw, 1.5rem); }
.ef-steps > li { counter-increment: s; position: relative; margin: 0; color: var(--ef-ink); background: var(--ef-stone) var(--ef-noise); border: 2px solid var(--ef-chisel); border-radius: 10px; box-shadow: inset 0 0 0 5px rgba(255, 255, 255, .14), inset 0 0 0 7px rgba(110, 80, 52, .28), 0 12px 22px -10px rgba(0, 0, 0, .55); padding: 1.3rem 1.3rem 1.4rem; }
.ef-steps > li::before { content: counter(s, upper-roman); display: block; font-family: var(--ef-display); font-weight: 900; font-size: 2.4rem; line-height: 1; color: #6E5034; text-shadow: 0 2px 0 rgba(255, 255, 255, .5), 0 -1px 0 rgba(0, 0, 0, .25); margin-bottom: .7rem; }
.ef-steps h3 { font-size: 1.3rem; margin: 0 0 .4rem; color: var(--ef-ink) !important; text-shadow: none !important; }
.ef-steps p { margin: 0; color: #3D2E1C; font-size: .98rem; }
.ef-steps--stack { grid-template-columns: minmax(0, 1fr); }
.ef-steps--stack > li { display: grid; grid-template-columns: 60px minmax(0, 1fr); column-gap: 1rem; align-items: start; }
.ef-steps--stack > li::before { grid-row: span 2; margin: 0; }
.ef-stories { columns: 3 19rem; column-gap: clamp(1rem, 2vw, 1.6rem); }
.ef-story { break-inside: avoid; margin: 0 0 clamp(1.2rem, 2vw, 1.8rem); color: var(--ef-ink); background: #F7EDD5 var(--ef-noise); border: 1px solid #C4A774; box-shadow: 0 14px 22px -12px rgba(0, 0, 0, .6); padding: 1.6rem 1.4rem 1.3rem; position: relative; transform: rotate(-.6deg); }
.ef-story:nth-child(2n) { transform: rotate(.7deg); }
.ef-story::before { content: ""; position: absolute; top: 9px; left: 50%; width: 16px; height: 16px; margin-left: -8px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #F0D38A, #9C6A12); box-shadow: 0 2px 2px rgba(0, 0, 0, .4); }
.ef-story h3 { font-size: 1.25rem; margin: .4rem 0 .6rem; color: var(--ef-ink) !important; text-shadow: none !important; }
.ef-story p { margin: 0 0 .7rem; font-size: 1rem; }
.ef-story__by { font-family: var(--ef-journal); font-size: .9rem; color: var(--ef-ember); margin: .4rem 0 0 !important; }
.ef-stars { color: #B5651D; letter-spacing: .1em; font-size: 1.05rem; margin-top: .3rem !important; }
.ef-quote { margin: 0; padding: 0; border: 0; }
.ef-quote p { font-family: var(--ef-display); font-weight: 800; font-size: clamp(1.3rem, 1.1rem + 1vw, 1.9rem); line-height: 1.25; }
.ef-quote cite { display: block; margin-top: .8rem; font-style: normal; font-family: var(--ef-journal); color: var(--ef-ember); }
.ef-quote--small p { font-size: clamp(1.05rem, 1rem + .5vw, 1.3rem); }
.ef-quote--small { margin-top: 1.6rem !important; padding-left: 1.1rem; border-left: 5px solid var(--ef-moss); }
.ef-quote--story { background: #F7EDD5 var(--ef-noise); border: 1px solid #C4A774; box-shadow: 0 16px 26px -12px rgba(0, 0, 0, .65); padding: 1.5rem 1.6rem; margin-top: 1.4rem !important; color: var(--ef-ink); }
.ef-quote--story p { font-family: var(--ef-body); font-weight: 500; font-size: clamp(1.05rem, 1rem + .4vw, 1.2rem); line-height: 1.65; }
.ef-stat { display: grid; gap: .15rem; }
.ef-stat strong { font-family: var(--ef-display); font-weight: 900; font-size: clamp(2.5rem, 2rem + 2vw, 3.6rem); line-height: 1; color: #6E5034; text-shadow: 0 2px 0 rgba(255, 255, 255, .6); }
.ef-stat span { font-family: var(--ef-journal); color: var(--ef-ink-soft); font-size: .95rem; }
.ef-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); gap: 1.4rem; }
.ef-docs { list-style: none; padding: 0; margin: 0; display: grid; gap: .8rem; }
.ef-docs li { margin: 0; }
.ef-docs a { display: flex; align-items: center; gap: .9rem; color: var(--ef-ink); background: #F7EDD5 var(--ef-noise); border: 1px solid #C4A774; padding: .9rem 1.1rem; text-decoration: none; font-weight: 700; box-shadow: 0 8px 14px -8px rgba(0, 0, 0, .45); transition: transform .25s var(--ef-ease); }
.ef-docs a:hover { transform: translateX(4px); color: var(--ef-ember); }
.ef-docs svg { width: 30px; height: 30px; flex: none; fill: none; stroke: var(--ef-ink); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ef-docs small { display: block; font-family: var(--ef-journal); font-weight: 400; color: var(--ef-ink-soft); }
.ef-list-check { list-style: none; padding: 0; margin: 0; display: grid; gap: .55rem; }
.ef-list-check li { position: relative; padding-left: 2rem; margin: 0; }
.ef-list-check li::before { content: ""; position: absolute; left: 0; top: .3em; width: 1.25rem; height: 1.25rem; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 1 C14 5 18 8 10 19 C2 8 6 5 10 1Z' fill='%23365224'/%3E%3Cpath d='M10 4 V16' stroke='%23A8C49A' stroke-width='1.4'/%3E%3C/svg%3E") center / contain no-repeat; }
.ef-section--mint .ef-list-check li::before { filter: brightness(1.8); }
.ef-list-five { counter-reset: q; list-style: none; padding: 0; margin: 0; display: grid; gap: .55rem; }
.ef-list-five li { counter-increment: q; display: flex; align-items: center; gap: .8rem; margin: 0; font-family: var(--ef-display); font-weight: 800; font-size: 1.1rem; }
.ef-list-five li::before { content: counter(q, upper-roman); display: grid; place-items: center; width: 42px; height: 42px; flex: none; border-radius: 50%; background: radial-gradient(circle at 40% 35%, #DCC79C, #A98C5E 70%); border: 2px solid #5E4A2C; font-size: .95rem; }
.ef-qs { counter-reset: q; list-style: none; padding: 0; margin: 0; display: grid; gap: .8rem; }
.ef-qs li { counter-increment: q; display: flex; align-items: center; gap: 1rem; margin: 0; color: var(--ef-ink); background: #F7EDD5 var(--ef-noise); border: 1px solid #C4A774; padding: .55rem 1.3rem .55rem .55rem; box-shadow: 0 10px 18px -10px rgba(0, 0, 0, .55); font-family: var(--ef-display); font-weight: 800; font-size: clamp(1.05rem, 1rem + .5vw, 1.3rem); }
.ef-qs li:nth-child(odd) { margin-left: clamp(0rem, 3vw, 2.5rem); }
.ef-qs li::before { content: counter(q, upper-roman); display: grid; place-items: center; width: 50px; height: 50px; flex: none; border-radius: 50%; background: radial-gradient(circle at 40% 35%, #F7D58C, #C98A2E 70%); border: 2px solid #6B3A0E; font-size: 1.05rem; }

/* =====================================================================================================================
   CONTACT + FORMS (Ninja Forms on a parchment sheet)
   ===================================================================================================================== */
.ef-contact { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, .85fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: start; }
.ef-contact__form { background: #F7EDD5 var(--ef-noise); border: 1px solid #C4A774; box-shadow: 0 22px 36px -16px rgba(0, 0, 0, .55); padding: clamp(1.3rem, 1rem + 2vw, 2.4rem); position: relative; }
.ef-contact__form::before { content: ""; position: absolute; top: -12px; right: 10%; width: 120px; height: 26px; background: rgba(232, 220, 170, .82); transform: rotate(3deg); }
.ef-contact__form > * { margin-block: 0 !important; }
.ef-contact__form > * + * { margin-top: 1rem !important; }
.ef-form__title { font-size: clamp(1.6rem, 1.3rem + 1vw, 2.2rem) !important; margin: 0 0 .8rem !important; }
.ef-aside { display: grid; gap: 1.2rem; position: sticky; top: calc(var(--ef-header-h) + 1.5rem); }
.ef-aside .ef-card > * + * { margin-top: .6rem !important; }
.ef-aside .ef-card h3 { font-size: 1.25rem; }
@media (max-width: 900px) { .ef-contact { grid-template-columns: minmax(0, 1fr); } .ef-aside { position: static; } }
.ef-form .nf-form-content { padding: 0; max-width: none; }
.ef-form .nf-before-form-content { display: none; }
.ef-form nf-fields-wrap { display: flex; flex-wrap: wrap; gap: 0 1.1rem; }
.ef-form nf-field { flex: 1 1 100%; min-width: 0; }
.ef-form nf-field:has(.ef-half) { flex: 1 1 calc(50% - .55rem); }
@media (max-width: 560px) { .ef-form nf-field:has(.ef-half) { flex-basis: 100%; } }
.ef-form .nf-field-container { margin-bottom: 1.15rem !important; }
.ef-form .nf-field-label label, .ef-form .nf-field-label { font-family: var(--ef-display); font-size: 1rem; font-weight: 800; color: var(--ef-ink); margin-bottom: .4rem; }
.ef-form .ninja-forms-req-symbol { color: var(--ef-ember); }
.ef-form input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]), .ef-form select, .ef-form textarea { width: 100%; font: inherit; font-family: var(--ef-journal); font-size: 1.02rem; color: var(--ef-ink); background: rgba(255, 252, 240, .7); border: 0; border-bottom: 2px solid #8C7A55; border-radius: 0; padding: .7rem .4rem; transition: background .2s, border-color .2s; }
.ef-form textarea { min-height: 7.5rem; resize: vertical; border: 2px solid #8C7A55; background-image: repeating-linear-gradient(180deg, transparent 0 27px, rgba(140, 122, 85, .28) 27px 28px); line-height: 28px; }
.ef-form input:focus, .ef-form select:focus, .ef-form textarea:focus { outline: none; background-color: #fff; border-color: #B5651D; box-shadow: 0 3px 0 -1px #F29A2E; }
.ef-form .nf-field-description { font-size: .88rem; color: var(--ef-ink-soft); margin-top: .35rem; }
.ef-form .nf-error .ninja-forms-field { border-color: #9A3824 !important; }
.ef-form .nf-error-msg, .ef-form .nf-error-wrap { color: #8A2E1C; font-size: .9rem; font-weight: 600; margin-top: .35rem; }
.ef-form .ef-chips-field ul { list-style: none; padding: 0; margin: .2rem 0 0; display: flex; flex-wrap: wrap; gap: .45rem; }
.ef-form .ef-chips-field li { position: relative; margin: 0 !important; }
.ef-form .ef-chips-field li input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ef-form .ef-chips-field li label { display: inline-flex !important; align-items: center; padding: .45rem .95rem; border-radius: 999px; border: 2px solid var(--ef-chisel); background: var(--ef-stone) var(--ef-noise); font-family: var(--ef-display); font-size: .95rem; font-weight: 800; cursor: pointer; margin: 0 !important; box-shadow: inset 0 2px 0 rgba(255, 255, 255, .35), 0 2px 0 #6E5A36; transition: background .2s; }
.ef-form .ef-chips-field li label:hover { color: var(--ef-ember); }
.ef-form .ef-chips-field li input:checked + label, .ef-form .ef-chips-field li label.nf-checked-label { background: linear-gradient(180deg, #F7C46A, #E08A22); border-color: #6B3A0E; color: #2A1305; }
.ef-form .ef-chips-field li input:focus-visible + label { outline: 3px solid var(--ef-torch); outline-offset: 2px; }
.ef-form input[type="submit"] { font: inherit; font-family: var(--ef-sign); font-size: 1.08rem; letter-spacing: .03em; padding: .95rem 2rem; cursor: pointer; background-image: linear-gradient(180deg, #F7C46A, #E08A22); color: #2A1305; text-shadow: none; border-color: #6B3A0E; }
.ef-form .nf-form-fields-required { display: none; }
.ef-form .nf-pass .ninja-forms-field { border-color: #8C7A55; }
.ef-note { border: 1.5px dashed #9C7A45; padding: .85rem 1.1rem; font-family: var(--ef-journal); font-size: .92rem; color: var(--ef-ink-soft); background: rgba(235, 221, 184, .6); }
/* the happy screen: the golden elephant on a stone disc, then a confetti of little elephants and leaves */
.ef-success { text-align: center; padding: 1.2rem 0 .4rem; outline: none; }
.ef-success__badge { width: 140px; height: 140px; margin: 0 auto 1.1rem; }
.ef-success__badge svg { width: 100%; height: 100%; overflow: visible; }
.ef-success__disc { fill: #5E8459; stroke: #2C1A0C; stroke-width: 3; transform-box: fill-box; transform-origin: center; animation: ef-pop .6s var(--ef-spring) both; }
.ef-success__el { fill: #E8C25A; transform-box: fill-box; transform-origin: 50% 100%; animation: ef-join .7s var(--ef-spring) .25s both; }
.ef-success__tick { fill: #F29A2E; stroke: #2C1A0C; stroke-width: 3; }
.ef-success__tick path { fill: none; stroke: #2C1A0C; stroke-width: 5; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 40; stroke-dashoffset: 40; animation: ef-draw .5s var(--ef-ease) .8s forwards; }
@keyframes ef-draw { to { stroke-dashoffset: 0; } }
.ef-success__eyebrow { margin: 0 auto !important; }
.ef-success__title { font-family: var(--ef-display); font-size: clamp(2.1rem, 1.6rem + 2.2vw, 3.2rem); font-weight: 900; line-height: 1.02; margin: .8rem 0 .9rem; }
.ef-success__title span { display: block; color: var(--ef-moss); }
.ef-success__lead { color: var(--ef-ink-soft); max-width: 30rem; margin: 0 auto; }
.ef-success__note { font-size: .96rem; margin: 1rem 0 0; }
.ef-success__links { display: flex; flex-wrap: wrap; justify-content: center; gap: .9rem; margin-top: 1.6rem; }
.ef-confetti { position: fixed; inset: 0; pointer-events: none; z-index: 9999; width: 100%; height: 100%; }

/* =====================================================================================================================
   ARTICLES (single post) + PROSE
   ===================================================================================================================== */
.ef-article { padding-top: clamp(2rem, 1.5rem + 2vw, 3.6rem) !important; padding-bottom: var(--wp--preset--spacing--60) !important; }
.ef-article__head { max-width: 58rem !important; margin-inline: auto !important; margin-bottom: clamp(1.5rem, 1rem + 2vw, 2.8rem) !important; }
.ef-article__head > * { margin-block: 0 !important; }
.ef-article__head > * + * { margin-top: 1.1rem !important; }
.ef-article__meta { gap: .6rem 1rem !important; align-items: center; font-family: var(--ef-journal); color: var(--ef-ink-soft); }
.ef-article__meta > * { margin: 0 !important; }
.ef-article__cat a { display: inline-flex; font-family: var(--ef-journal); font-size: .84rem; letter-spacing: .05em; text-transform: uppercase; color: var(--ef-ink); background: #EBDDB8; padding: .3rem .85rem; text-decoration: none; border: 1.5px solid #9C7A45; }
.ef-article__title { font-size: clamp(2.2rem, 1.5rem + 3vw, 3.9rem) !important; }
.ef-article__img { margin-top: 1.8rem !important; }
.ef-article__img img { border: 10px solid #F7EDD5; outline: 1px solid #C4A774; box-shadow: 0 22px 34px -16px rgba(0, 0, 0, .6); transform: rotate(-.4deg); }
.ef-prose { font-size: 1.12rem; }
.ef-prose > * { margin-block-start: 1.15em; }
.ef-prose h2 { font-size: clamp(1.55rem, 1.25rem + 1vw, 2.05rem); margin-top: 2.2em; }
.ef-prose h3 { font-size: clamp(1.25rem, 1.1rem + .6vw, 1.5rem); margin-top: 1.8em; }
.ef-prose h4 { margin-top: 1.6em; }
.ef-prose :is(ul, ol) { padding-left: 1.3em; }
.ef-prose li { margin: .35em 0; }
.ef-prose li::marker { color: var(--ef-ember); font-weight: 700; }
.ef-prose img { max-width: 100%; border: 8px solid #F7EDD5; outline: 1px solid #C4A774; }
.ef-prose .wp-block-separator, .ef-prose hr { border: 0; height: 26px; background: url("/wp-content/themes/espinosa-temple/assets/art/frieze.svg") center / auto 26px repeat-x; margin-block: 2.4em; opacity: .85; }
.ef-prose blockquote { border-left: 5px solid var(--ef-moss); padding-left: 1.2rem; margin-left: 0; font-style: italic; }
.ef-prose iframe { max-width: 100%; border: 4px solid #4A2F1A; }
.ef-prose .aligncenter { margin-inline: auto; display: block; }
.ef-article__note { display: flex; align-items: center; gap: 1.2rem; max-width: var(--wp--style--global--content-size); margin: clamp(2.5rem, 2rem + 2vw, 4rem) auto 0 !important; color: var(--ef-cream); background: var(--ef-jungle) url("/wp-content/themes/espinosa-temple/assets/art/leaves.svg"); border: 3px solid #2C1A0C; border-radius: 8px; box-shadow: 0 16px 26px -12px rgba(0, 0, 0, .6); padding: 1.2rem 1.4rem; }
.ef-article__note img { width: 76px; height: auto; flex: none; filter: drop-shadow(0 0 12px rgba(255, 180, 70, .5)); }
.ef-article__note p { margin: 0; color: var(--ef-cream-soft); }
.ef-article__note a { color: var(--ef-amber); }
.ef-article__notehead { font-family: var(--ef-display); font-weight: 900; font-size: 1.25rem; color: var(--ef-cream) !important; margin-bottom: .25rem !important; }
@media (max-width: 520px) { .ef-article__note { flex-direction: column; align-items: flex-start; } }

/* =====================================================================================================================
   CLOSING CALL TO ACTION (night jungle, the altar between two torches) + FOOTER (wooden board)
   ===================================================================================================================== */
.ef-cta { position: relative; background: radial-gradient(ellipse at 30% 60%, rgba(242, 154, 46, .3), transparent 50%), #102017 url("/wp-content/themes/espinosa-temple/assets/art/leaves.svg"); color: var(--ef-cream); padding-block: clamp(3.5rem, 2.5rem + 5vw, 7rem) !important; overflow: clip; isolation: isolate; }
.ef-cta::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 70px; background: url("/wp-content/themes/espinosa-temple/assets/art/vines.svg") 0 0 / auto 70px repeat-x; }
.ef-cta__inner { display: grid !important; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(1.5rem, 4vw, 4rem); align-items: center; margin-inline: auto !important; }
.ef-cta__altar { position: relative; display: grid; grid-template-columns: 1fr 2.4fr 1fr; align-items: end; justify-items: center; margin: 0 !important; max-width: none !important; }
.ef-cta__logo { grid-column: 2; grid-row: 1; position: relative; z-index: 1; width: 100%; max-width: 330px; height: auto; margin-bottom: 30px; filter: drop-shadow(0 0 30px rgba(255, 170, 60, .45)) drop-shadow(0 16px 14px rgba(0, 0, 0, .5)); }
.ef-cta__stone { grid-column: 2; grid-row: 1; width: 92%; height: 46px; background: var(--ef-stone) var(--ef-noise); border: 2px solid #5E4A2C; border-radius: 6px; box-shadow: inset 0 3px 0 rgba(255, 255, 255, .35), 0 8px 14px rgba(0, 0, 0, .5); align-self: end; }
.ef-cta__torch { grid-row: 1; width: 100%; max-width: 110px; align-self: end; }
.ef-cta__torch--l { grid-column: 1; } .ef-cta__torch--r { grid-column: 3; }
.ef-cta__torch svg { width: 100%; height: auto; display: block; overflow: visible; }
.ef-cta__copy > * { margin-block: 0 !important; }
.ef-cta__copy > * + * { margin-top: 1.2rem !important; }
.ef-cta h2 { color: var(--ef-cream) !important; font-size: clamp(2.4rem, 1.6rem + 3.4vw, 4.4rem) !important; text-shadow: 0 3px 0 rgba(0, 0, 0, .5) !important; }
.ef-cta h2 em { color: var(--ef-amber); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='14' viewBox='0 0 60 14'%3E%3Cpath d='M0 9 Q15 2 30 8 T60 8' fill='none' stroke='%23A8C49A' stroke-width='2.4' stroke-linecap='round'/%3E%3Cpath d='M18 5 q4 -6 10 -3 q-4 5 -10 3z M44 9 q5 4 10 1 q-5 -5 -10 -1z' fill='%23A8C49A'/%3E%3C/svg%3E"); }
.ef-cta .ef-lead { color: var(--ef-cream-soft); }
.ef-cta .wp-block-buttons { margin-top: 2rem !important; gap: 1rem; }
@media (max-width: 820px) { .ef-cta__inner { grid-template-columns: minmax(0, 1fr); text-align: center; } .ef-cta__altar { max-width: 420px !important; margin: 0 auto !important; } .ef-cta .wp-block-buttons { justify-content: center; } .ef-cta .ef-eyebrow { margin-inline: auto !important; } .ef-cta .ef-lead { margin-inline: auto; } }

.wp-site-blocks > footer.wp-block-template-part { margin-top: 0 !important; }
.ef-footer { position: relative; color: var(--ef-cream-soft); padding-top: 0 !important; padding-bottom: 2rem !important; font-size: .98rem; background-image: var(--ef-grain), linear-gradient(180deg, #4C311B, #2E1D0F); }
.ef-footer__herd { position: relative; height: 130px; max-width: none !important; margin-left: calc(-1 * var(--wp--style--root--padding-left, 1rem)) !important; margin-right: calc(-1 * var(--wp--style--root--padding-right, 1rem)) !important; background: linear-gradient(180deg, #2B4630 0, #1D3323 78%, #6E5636 78%, #5A4429 100%); overflow: hidden; border-bottom: 4px solid #2C1A0C; }
.ef-footer__bridge { position: absolute; left: 0; top: 2px; width: 100%; height: 70px; opacity: .9; }
.ef-footer__walk { position: absolute; z-index: 1; bottom: 14px; left: -40%; height: 74px; animation: ef-cross 95s linear infinite; animation-delay: -30s; }
.ef-footer__walk svg { height: 100%; width: auto; display: block; }
.ef-footer__inner { max-width: var(--wp--style--global--wide-size); margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, 1.4fr) minmax(0, 1.15fr) minmax(0, .85fr); gap: 2.4rem clamp(1.5rem, 2.6vw, 2.6rem); padding: clamp(2.2rem, 1.6rem + 2vw, 3.6rem) 0 2.8rem; }
.ef-footer p { margin: 0 0 .8rem; }
.ef-footer a { color: var(--ef-cream); }
.ef-footer a:hover { color: var(--ef-amber); }
.ef-footer a[href^="mailto:"], .ef-aside a[href^="mailto:"] { overflow-wrap: anywhere; }
.ef-footer__logo { display: inline-flex; align-items: center; gap: .9rem; color: var(--ef-cream) !important; text-decoration: none; font-family: var(--ef-display); font-size: 1.05rem; font-weight: 700; line-height: 1.1; }
.ef-footer__logo img { width: 78px; height: auto; flex: none; filter: drop-shadow(0 0 14px rgba(255, 170, 60, .35)); }
.ef-footer__logo strong { display: block; font-size: 1.6rem; font-weight: 900; letter-spacing: .04em; }
.ef-footer__line { margin-top: 1.2rem !important; max-width: 24rem; }
.ef-footer__btns { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.4rem !important; }
.ef-footer .ef-pill { font-size: .95rem; padding: .7rem 1.1rem; }
.ef-footer .ef-pill--ghost { --rope-bg: #3A2614; color: var(--ef-cream); }
.ef-footer__h { font-family: var(--ef-sign) !important; font-size: .9rem !important; letter-spacing: .08em; text-transform: uppercase; color: var(--ef-amber) !important; font-weight: 400 !important; margin: 0 0 1rem !important; text-shadow: 0 -1px 0 rgba(0, 0, 0, .6) !important; }
.ef-footer__small { font-size: .9rem; }
.ef-footer__nav ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; }
.ef-footer .ef-open { margin-top: 1rem; color: var(--ef-cream); }
.ef-footer .ef-hourlist > div { grid-template-columns: 5.6rem minmax(0, 1fr); gap: .4rem; font-size: .88rem; }
.ef-footer .ef-hourlist dt { color: var(--ef-cream); }
.ef-footer__base { max-width: var(--wp--style--global--wide-size); margin: 0 auto; display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; border-top: 2px solid rgba(0, 0, 0, .35); box-shadow: 0 1px 0 rgba(255, 255, 255, .06); padding-top: 1.5rem; font-size: .88rem; }
.ef-footer__base p { margin: 0; }
.ef-footer__tag { font-family: var(--ef-journal); color: var(--ef-amber); }
.ef-footer p a:not(.ef-pill) { text-decoration: underline; text-decoration-color: rgba(244, 236, 214, .45); }
@media (max-width: 1199px) { .ef-footer__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ef-footer__brand { grid-column: 1 / -1; } }
@media (max-width: 540px) { .ef-footer__inner { grid-template-columns: minmax(0, 1fr); } }

/* =====================================================================================================================
   PAGE PIECES + MISC
   ===================================================================================================================== */
.ef-404 { min-height: 64vh; display: grid; place-items: center; text-align: center; }
.ef-404 h1 { font-size: clamp(2.4rem, 1.7rem + 3vw, 4.2rem); }
.ef-404 .ef-lead { margin-inline: auto; }
.ef-404__art img { width: 180px; height: auto; filter: drop-shadow(0 10px 10px rgba(0, 0, 0, .3)); }
.ef-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(1.5rem, 4vw, 4.5rem); align-items: center; }
.ef-split--top { align-items: start; }
.ef-split > * { margin-block: 0 !important; }
.ef-split__copy > * { margin-block: 0 !important; }
.ef-split__copy > * + * { margin-top: 1.1rem !important; }
@media (max-width: 860px) { .ef-split { grid-template-columns: minmax(0, 1fr); } }
.ef-polaroids { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; align-items: start; }
.ef-polaroids figure { margin: 0; background: #F7EDD5; border: 1px solid #C4A774; padding: .6rem .6rem .9rem; box-shadow: 0 14px 22px -12px rgba(0, 0, 0, .6); }
.ef-polaroids figure:nth-child(1) { transform: rotate(-2.5deg); }
.ef-polaroids figure:nth-child(2) { transform: rotate(1.5deg) translateY(1.2rem); }
.ef-polaroids figure:nth-child(3) { transform: rotate(-1deg); }
.ef-polaroids img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; display: block; filter: sepia(.1); }
.ef-polaroids figcaption { font-family: var(--ef-journal); font-size: .9rem; text-align: center; margin-top: .55rem; line-height: 1.3; color: var(--ef-ink); }
@media (max-width: 640px) { .ef-polaroids { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .ef-polaroids figure:nth-child(3) { display: none; } }
.ef-portrait { position: relative; margin: 0; width: 100%; max-width: 27rem; }
.ef-portrait img { width: 100%; height: auto; display: block; }
.ef-portrait__tag { position: absolute; right: -4%; bottom: 8%; font-family: var(--ef-journal); background: #EBDDB8; border: 1.5px solid #9C7A45; padding: .5rem 1rem; box-shadow: 0 8px 14px -6px rgba(0, 0, 0, .5); font-size: .95rem; transform: rotate(4deg); color: var(--ef-ink); }
@media (max-width: 860px) { .ef-portrait { margin-inline: auto; width: 82%; } }
.ef-portrait-col { display: flex; justify-content: center; }
.ef-kidsart { display: grid; place-items: center; position: relative; }
.ef-kidsart::before { content: ""; position: absolute; width: min(86%, 330px); aspect-ratio: 4 / 5; border-radius: 999px 999px 10px 10px; background: radial-gradient(ellipse at 50% 70%, #E08A22 0%, #7A3D10 55%, #2A160A 100%); border: 16px solid #BFA57C; box-shadow: inset 0 0 0 3px #6E5034, 0 0 0 3px #6E5034, 0 20px 30px -10px rgba(0, 0, 0, .6); }
.ef-kidsart img { position: relative; width: min(100%, 320px); height: auto; filter: drop-shadow(0 0 20px rgba(255, 180, 70, .45)) drop-shadow(0 14px 12px rgba(0, 0, 0, .4)); }
@media (max-width: 860px) { .ef-kidsart img { width: 230px; } .ef-kidsart::before { width: 240px; } }
.ef-logos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1rem, 2.5vw, 2rem); align-items: end; }
.ef-logos figure { margin: 0; text-align: center; }
.ef-logos img { width: 100%; height: auto; display: block; filter: drop-shadow(0 14px 14px rgba(27, 20, 10, .35)); transition: transform .5s var(--ef-spring); }
.ef-logos figure:hover img { transform: translateY(-8px) rotate(-3deg); }
.ef-logos figcaption { font-family: var(--ef-journal); font-size: 1rem; margin-top: .8rem; color: var(--ef-ink); }
.ef-logos__disc { display: grid; place-items: center; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 40% 35%, #DCC79C, #A98C5E 70%); border: 3px solid #5E4A2C; box-shadow: inset 0 0 0 6px rgba(255, 255, 255, .2), 0 10px 18px -8px rgba(0, 0, 0, .55); }
.ef-logos__disc img { width: 62%; filter: none; }
@media (max-width: 760px) { .ef-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ef-stack { display: grid; gap: clamp(1.5rem, 3vw, 2.5rem); }
.ef-photo { margin: 0; }
.ef-photo img { width: 100%; height: auto; display: block; }
.ef-photo figcaption { font-family: var(--ef-journal); font-size: .95rem; margin-top: 1.2rem; color: var(--ef-ink); }
.ef-amy { margin: 0 auto; width: min(100%, 16rem); }
.ef-amy img { width: 100%; height: auto; aspect-ratio: 3 / 4; object-fit: cover; display: block; border-radius: 999px 999px 8px 8px; border: 12px solid #BFA57C; box-shadow: 0 0 0 2px #6E5034, inset 0 0 0 2px #6E5034, 0 18px 28px -12px rgba(0, 0, 0, .6); }
.ef-icon { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ef-video { aspect-ratio: 16 / 9; border: 10px solid #4A2F1A; outline: 2px solid #2C1A0C; overflow: hidden; box-shadow: 0 22px 34px -16px rgba(0, 0, 0, .65); background: #13241A; }
.ef-video iframe { width: 100%; height: 100%; border: 0; display: block; }
.ef-video__poster { width: 100%; height: 100%; display: grid; place-items: center; background: #13241A center / cover; border: 0; cursor: pointer; font: inherit; position: relative; }
.ef-video__poster span { display: inline-flex; align-items: center; gap: .7rem; font-family: var(--ef-sign); letter-spacing: .03em; color: #2A1305; background: linear-gradient(180deg, #F7C46A, #E08A22); border: 2px solid #6B3A0E; border-radius: 6px; padding: .8rem 1.3rem; box-shadow: 0 4px 0 #6B3A0E, 0 0 24px rgba(242, 154, 46, .6); }
.ef-video__poster svg { width: 18px; height: 18px; fill: currentColor; }

@media (prefers-reduced-motion: reduce) {
	:is(.ef-flame, .ef-glow, .ef-ray, .ef-fly, .ef-vine, .ef-walker, .ef-footer__walk, .ef-el__leg, .ef-el__top, .ef-idol-mascot img, .ef-golden svg, .ef-hangsign, .ef-open__dot, .ef-msg__flow) { animation: none !important; }
	.ef-walker, .ef-footer__walk { left: auto; right: 4%; }
	.js .ef-reveal { opacity: 1; transform: none; transition: none; }
	.ef-herd__slot, .ef-herd__card, .ef-spine__fact { animation: none; }
	.ef-golden { display: none; }
}
.ef-paused .ef-walker, .ef-paused .ef-footer__walk { animation: none; left: auto; right: 4%; }

/* contrast guards: labels and light cards keep dark ink even inside jungle sections */
.ef-eyebrow, .ef-section--sun .ef-split__copy > p.ef-eyebrow, .ef-section--mint p.ef-eyebrow { color: var(--ef-ink) !important; }
:is(.ef-herd__card, .ef-card, .ef-story, .ef-timeline__body, .ef-spine__fact, .ef-pack, .ef-quote--story, .ef-docs, .ef-qs, .ef-contact__form) a:not([class]) { color: var(--ef-moss); }
:is(.ef-herd__card, .ef-card, .ef-story, .ef-timeline__body, .ef-spine__fact, .ef-pack, .ef-quote--story, .ef-contact__form) a:not([class]):hover { color: var(--ef-ember); }
.ef-herd__links a { color: var(--ef-moss) !important; }
.ef-footer .ef-pill--sun, .ef-footer .ef-pill--sun:hover { color: #2A1305; }
.ef-section--mint :is(.ef-card, .ef-herd__card, .ef-story) :where(h3, h4) { color: var(--ef-ink); text-shadow: none; }
@media (max-width: 480px) {
	.ef-call { display: none !important; }
	.ef-brand__medal { width: 50px; height: 50px; }
	.ef-brand__mark { width: 40px; }
	.ef-brand__name { font-size: 1.12rem; letter-spacing: .02em; }
	.ef-book { padding: .6rem .8rem; font-size: .92rem; }
}
.ef-form input[type="submit"] { max-width: 100%; white-space: normal; }
@media (max-width: 480px) { .ef-form input[type="submit"] { padding: .9rem 1.2rem; width: 100%; } }
.ef-404 > .wp-block-group { width: 100%; min-width: 0; }

/* small dropdowns: the submenu text starts exactly under the parent item's text and the box opens to the right
   (parent link padding 0 − border 3px − container padding .55rem − link padding .85rem); core right-aligns otherwise */
.ef-nav .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container { left: calc(0px - 3px - .55rem - .85rem) !important; right: auto !important; }
.ef-nav .wp-block-navigation__submenu-container::before { left: -12px; right: -12px; }
.ef-nav .is-menu-open .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container { left: auto !important; }
