/*
 * EaselEye Colour Studio: vivid and playful. Cream paper, inky outlines, hard shadows,
 * a living colour mesh and bouncy motion.
 * Sections: tokens, base, Kadence, header, buttons, homepage, inner pages, WooCommerce,
 * blog, footer, trail, responsive, reduced motion.
 */

/* ---------- Tokens ---------- */
:root {
	--ee-cream: #fff8ef;
	--ee-paper: #fbf1e3;
	--ee-ink: #17132b;
	--ee-ink-soft: #5b5670;
	--ee-rule: rgba(23, 19, 43, 0.12);
	--ee-magenta: #ff3d8b;
	--ee-orange: #ff8a3d;
	--ee-sun: #ffd23f;
	--ee-violet: #6b4dff;
	--ee-cyan: #2ec5d3;
	--ee-mint: #b8f2d0;
	--ee-pink: #ffc2dc;
	--ee-lilac: #d6ccff;
	--ee-display: "Syne", "Helvetica Neue", Arial, sans-serif;
	--ee-body: "DM Sans", "Helvetica Neue", Arial, sans-serif;
	--ee-serif: "Instrument Serif", Georgia, serif;
	--ee-bounce: cubic-bezier(0.34, 1.56, 0.64, 1);
	--ee-ease: cubic-bezier(0.16, 1, 0.3, 1);
	--ee-gut: clamp(16px, 4vw, 56px);
	--ee-max: 1380px;
	--ee-hdr: 96px;
	--ee-line: 3px solid var(--ee-ink);

	/* Map Kadence's palette and fonts onto the design so blocks, forms and WooCommerce follow it. */
	--global-palette1: var(--ee-magenta);
	--global-palette2: var(--ee-violet);
	--global-palette3: var(--ee-ink);
	--global-palette4: #2a2540;
	--global-palette5: var(--ee-ink-soft);
	--global-palette6: #8a85a0;
	--global-palette7: #f3e8d8;
	--global-palette8: var(--ee-paper);
	--global-palette9: var(--ee-cream);
	--global-palette-highlight: var(--ee-magenta);
	--global-palette-highlight-alt: var(--ee-violet);
	--global-palette-btn-bg: var(--ee-magenta);
	--global-palette-btn-bg-hover: var(--ee-violet);
	--global-palette-btn: #fff;
	--global-palette-btn-hover: #fff;
	--global-body-font-family: var(--ee-body);
	--global-heading-font-family: var(--ee-display);
	--global-content-width: var(--ee-max);
}

/* ---------- Base ---------- */
html { background: var(--ee-cream); }
body { background: var(--ee-cream); color: var(--ee-ink); font: 400 17px/1.6 var(--ee-body); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
::selection { background: var(--ee-sun); color: var(--ee-ink); }
a { color: inherit; }
a:hover { color: var(--ee-magenta); }
:focus-visible { outline: 3px solid var(--ee-violet); outline-offset: 3px; }
h1, h2, h3, h4, h5, h6 { font-family: var(--ee-display); font-weight: 800; color: var(--ee-ink); letter-spacing: -0.04em; line-height: .95; }
h1 em, h2 em, h3 em, .ee-man__q em, .ee-cta__title em, .ee-shop-feature__title em {
	font-family: var(--ee-serif); font-weight: 400; font-style: italic; letter-spacing: -0.01em;
	background: linear-gradient(90deg, var(--ee-magenta), var(--ee-orange), var(--ee-violet), var(--ee-magenta)); background-size: 300% 100%;
	-webkit-background-clip: text; background-clip: text; color: transparent; animation: ee-flow 6s linear infinite; padding-right: .06em;
}
@keyframes ee-flow { to { background-position: 300% 0; } }
/* Split headings animate each word, and background-clip: text does not reach transformed
   children, so the gradient moves onto the words. */
.ee-words em, .ee-hero__title em { background: none; animation: none; color: inherit; }
.ee-words em .ee-wi, .ee-hero__title em .ee-wi {
	background: linear-gradient(90deg, var(--ee-magenta), var(--ee-orange), var(--ee-violet), var(--ee-magenta)); background-size: 300% 100%;
	-webkit-background-clip: text; background-clip: text; color: transparent; animation: ee-flow 6s linear infinite; padding-right: .06em;
}
.ee-comp__big em .ee-wi, .ee-news h2 em .ee-wi, .ee-cta__title em .ee-wi { background: none; -webkit-background-clip: border-box; background-clip: border-box; color: inherit; animation: none; }
img { max-width: 100%; height: auto; }
.ee-wrap { width: 100%; max-width: var(--ee-max); margin-inline: auto; padding-inline: var(--ee-gut); box-sizing: border-box; }
.ee-narrow { max-width: 980px; }
.ee-kicker {
	display: inline-flex; align-items: center; gap: 10px; margin: 0; padding: 9px 16px; border-radius: 999px;
	background: var(--ee-ink); color: var(--ee-cream); font: 700 12px/1 var(--ee-body); letter-spacing: .08em; text-transform: uppercase;
}
.ee-kicker::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--ee-sun); animation: ee-blink 1.2s steps(2) infinite; }
@keyframes ee-blink { 50% { opacity: .2; } }
.ee-arrow-link { margin: 0; }
.ee-arrow-link a {
	display: inline-flex; gap: 10px; align-items: center; padding: 12px 20px; border-radius: 999px; border: 2px solid var(--ee-ink);
	font-weight: 700; text-decoration: none; transition: background-color .3s, color .3s, transform .5s var(--ee-bounce);
}
.ee-arrow-link a::after { content: "→"; transition: transform .5s var(--ee-bounce); }
.ee-arrow-link a:hover { background: var(--ee-ink); color: var(--ee-cream); transform: rotate(-2deg); }
.ee-arrow-link a:hover::after { transform: translateX(4px) rotate(-30deg); }

/* Groups from the patterns lay themselves out; drop Kadence's and the editor's flow gaps inside them. */
[class*="ee-"] > *, .single-content [class*="ee-"] > * { margin-block: 0; }
.single-content .ee-ticks { margin: 0; padding: 0; }
.entry-content > .alignfull[class*="ee-"] { margin-block: 0; }

/* ---------- Kadence: content area, titles, boxes ---------- */
#inner-wrap { background: transparent; }
.site, #wrapper { background: var(--ee-cream); }
body:not(.ee-front) #inner-wrap { padding-top: var(--ee-hdr); }
.content-bg, .entry.content-bg, .loop-entry.content-bg, .content-style-boxed .entry, .woocommerce .content-bg { background: transparent; box-shadow: none; }
.entry-hero-container-inner, .entry-hero .entry-header { background: transparent; }
.entry-hero .entry-header { min-height: 0; padding-block: clamp(50px, 8vw, 110px) clamp(30px, 4vw, 56px); }
.entry-title, .page-title, .archive-title, .woocommerce-products-header__title { font: 800 clamp(52px, 8vw, 128px)/.9 var(--ee-display); letter-spacing: -0.05em; color: var(--ee-ink); }
.entry-hero .entry-title, .entry-hero .archive-title { max-width: 14ch; }
.archive-description, .term-description { color: var(--ee-ink-soft); max-width: 40em; font-size: 19px; }
.entry-meta, .entry-taxonomies, .posted-on, .kadence-breadcrumbs, .woocommerce-breadcrumb { font: 700 12px/1.6 var(--ee-body); letter-spacing: .08em; text-transform: uppercase; color: var(--ee-ink-soft); }
.entry-taxonomies a, .kadence-breadcrumbs a, .woocommerce-breadcrumb a { color: var(--ee-violet); text-decoration: none; }
/* Zero-specificity :where() so the theme's own paragraph classes set their colour. */
.entry-content :where(p, li) { color: var(--ee-ink-soft); }
.single-content h2 { font-size: clamp(34px, 4vw, 56px); }
.single-content h3 { font-size: clamp(26px, 2.6vw, 36px); }
.single-content blockquote, .wp-block-quote { border: var(--ee-line); border-radius: 24px; padding: 26px 30px; background: var(--ee-lilac); font: italic 400 clamp(24px, 2.4vw, 34px)/1.25 var(--ee-serif); color: var(--ee-ink); box-shadow: 8px 8px 0 var(--ee-ink); }
input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="url"], input[type="number"], input[type="search"], select, textarea {
	background-color: #fff; color: var(--ee-ink); border: 2px solid var(--ee-ink); border-radius: 14px; font: 500 16px/1.4 var(--ee-body); padding: 14px 16px;
}
select { padding-right: 40px; background-repeat: no-repeat; background-position: right 14px center; }
input:focus, select:focus, textarea:focus { border-color: var(--ee-violet); outline: none; box-shadow: 4px 4px 0 var(--ee-violet); }
label { color: var(--ee-ink-soft); font-size: 14px; font-weight: 500; }

/* ---------- Header: floating pill ---------- */
.ee-hdr { position: fixed; top: 14px; left: 0; right: 0; z-index: 100; transition: transform .6s var(--ee-ease); pointer-events: none; }
.admin-bar .ee-hdr { top: 46px; }
.ee-hdr.is-hidden { transform: translateY(-160%); }
.ee-hdr__in {
	pointer-events: auto; display: flex; align-items: center; gap: 16px; max-width: 1180px; width: calc(100% - 2 * var(--ee-gut)); padding: 8px 8px 8px 12px !important;
	background: rgba(255, 248, 239, .78); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); border: 1px solid var(--ee-rule); border-radius: 999px;
	box-shadow: 0 10px 40px -20px rgba(23, 19, 43, .35);
}
.ee-brand { display: flex; align-items: center; gap: 10px; font: 800 22px/1 var(--ee-display); letter-spacing: -0.04em; color: var(--ee-ink); text-decoration: none; white-space: nowrap; }
.ee-brand:hover { color: var(--ee-ink); }
.ee-brand__mark { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; animation: ee-wobble 6s ease-in-out infinite; }
.ee-brand__mono { display: grid; place-items: center; background: var(--ee-sun); border: 2px solid var(--ee-ink); font-size: 20px; }
@keyframes ee-wobble { 0%, 100% { rotate: 0deg; } 25% { rotate: -10deg; } 75% { rotate: 10deg; } }
.ee-nav { margin-left: auto; }
.ee-nav__list { display: flex; gap: 2px; list-style: none; margin: 0; padding: 0; }
.ee-nav__list a { display: block; padding: 10px 15px; border-radius: 999px; font-weight: 500; font-size: 15px; text-decoration: none; color: var(--ee-ink); transition: background-color .3s, color .3s; }
.ee-nav__list a:hover, .ee-nav__list .current-menu-item > a { background: var(--ee-ink); color: var(--ee-cream); }
.ee-hdr__tools { display: flex; align-items: center; gap: 6px; }
.ee-hdr__icon { position: relative; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; color: var(--ee-ink); transition: background-color .3s, transform .5s var(--ee-bounce); }
.ee-hdr__icon:hover { background: var(--ee-sun); color: var(--ee-ink); transform: rotate(-8deg); }
.ee-cart-count { position: absolute; top: 0; right: -2px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 10px; background: var(--ee-magenta); color: #fff; border: 2px solid var(--ee-cream); font: 700 10px/16px var(--ee-body); text-align: center; transition: transform .5s var(--ee-bounce); }
.ee-cart-count[data-count="0"] { transform: scale(0); }
.ee-cart-count.is-bump { animation: ee-bump .7s var(--ee-bounce); }
@keyframes ee-bump { 40% { transform: scale(1.6) rotate(-12deg); } }
.ee-menu-btn { display: none; align-items: center; justify-content: center; gap: 10px; height: 44px; padding: 0 18px; border-radius: 999px; border: 0; background: var(--ee-ink); color: var(--ee-cream); font: 700 14px/1 var(--ee-body); cursor: pointer; }
.ee-menu-btn i { position: relative; width: 16px; height: 2px; background: currentColor; border-radius: 2px; }
.ee-menu-btn i::before, .ee-menu-btn i::after { content: ""; position: absolute; left: 0; width: 100%; height: 2px; border-radius: 2px; background: currentColor; transition: transform .5s var(--ee-bounce); }
.ee-menu-btn i::before { top: -5px; } .ee-menu-btn i::after { top: 5px; }
.ee-menu-btn[aria-expanded="true"] i { background: transparent; }
.ee-menu-btn[aria-expanded="true"] i::before { transform: translateY(5px) rotate(45deg); }
.ee-menu-btn[aria-expanded="true"] i::after { transform: translateY(-5px) rotate(-45deg); }
.ee-menu { position: fixed; inset: 0; z-index: 99; display: flex; align-items: center; background: var(--ee-sun); clip-path: circle(0 at calc(100% - 60px) 50px); transition: clip-path .9s var(--ee-ease); }
.ee-menu[hidden] { display: flex; visibility: hidden; }
.ee-menu.is-open { clip-path: circle(150% at calc(100% - 60px) 50px); visibility: visible; }
.ee-menu__list { list-style: none; margin: 0; padding: 0; }
.ee-menu__list a { display: inline-block; padding: 4px 0; font: 800 clamp(44px, 11vw, 88px)/1 var(--ee-display); letter-spacing: -0.05em; color: var(--ee-ink); text-decoration: none; transform: translateY(40px) rotate(-6deg); opacity: 0; transition: transform .8s var(--ee-bounce), opacity .4s, color .3s; }
.ee-menu.is-open .ee-menu__list a { transform: none; opacity: 1; }
.ee-menu.is-open .ee-menu__list li:nth-child(2) a { transition-delay: .06s; }
.ee-menu.is-open .ee-menu__list li:nth-child(3) a { transition-delay: .12s; }
.ee-menu.is-open .ee-menu__list li:nth-child(4) a { transition-delay: .18s; }
.ee-menu.is-open .ee-menu__list li:nth-child(5) a { transition-delay: .24s; }
.ee-menu.is-open .ee-menu__list li:nth-child(6) a { transition-delay: .3s; }
.ee-menu__list li:nth-child(4n+1) a:hover { color: var(--ee-magenta); }
.ee-menu__list li:nth-child(4n+2) a:hover { color: var(--ee-violet); }
.ee-menu__list li:nth-child(4n+3) a:hover { color: var(--ee-orange); }
.ee-menu__list li:nth-child(4n) a:hover { color: var(--ee-cyan); }
.ee-menu__foot { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 40px; }
body.ee-menu-open { overflow: hidden; }

/* ---------- Buttons (theme, core, Kadence, WooCommerce) ---------- */
.ee-btn, .wp-block-button .wp-block-button__link, .button, button.button, input.button, .woocommerce a.button, .woocommerce button.button, .wp-element-button, .wc-block-components-button:not(.is-link), .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 15px 24px;
	border: 2px solid var(--ee-ink); border-radius: 999px; background: var(--ee-cream); color: var(--ee-ink);
	font: 700 15px/1 var(--ee-body); letter-spacing: 0; text-transform: none; text-decoration: none; cursor: pointer;
	box-shadow: 0 6px 0 var(--ee-ink); transition: transform .5s var(--ee-bounce), box-shadow .4s, background-color .3s, color .3s;
}
.ee-btn:hover, .wp-block-button .wp-block-button__link:hover, .button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover, .wc-block-components-button:not(.is-link):hover { transform: translateY(-4px) rotate(-2deg); box-shadow: 0 10px 0 var(--ee-ink); background: var(--ee-sun); color: var(--ee-ink); }
.ee-btn:active, .wp-block-button .wp-block-button__link:active, .button:active { transform: translateY(4px); box-shadow: 0 2px 0 var(--ee-ink); }
.ee-btn--solid, .ee-btn-solid .wp-block-button__link, .woocommerce a.button.alt, .woocommerce button.button.alt, .single_add_to_cart_button, .checkout-button, .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button {
	background: var(--ee-magenta); color: #fff;
}
.ee-btn--solid:hover, .ee-btn-solid .wp-block-button__link:hover, .woocommerce button.button.alt:hover, .single_add_to_cart_button:hover, .wc-block-cart__submit-button:hover, .wc-block-components-checkout-place-order-button:hover { background: var(--ee-violet); color: #fff; }
.ee-btn-solid .wp-block-button__link::after, .ee-btn--solid::after { content: "→"; display: inline-block; transition: transform .5s var(--ee-bounce); }
.ee-btn-solid .wp-block-button__link:hover::after, .ee-btn--solid:hover::after { transform: translateX(5px) rotate(-30deg); }
.wp-block-buttons { gap: 14px; }
.ee-hdr__cta { box-shadow: 0 4px 0 var(--ee-ink) !important; padding: 12px 20px !important; }
.woocommerce a.button.added::after { display: none; }
.added_to_cart { display: inline-block; margin-left: 10px; font-weight: 700; color: var(--ee-violet); }

/* ---------- Homepage: hero ---------- */
.ee-hero { position: relative; min-height: 100svh; padding: 150px 0 100px; overflow: hidden; display: flex; align-items: center; isolation: isolate; }
.ee-mesh { position: absolute; inset: -20%; z-index: -2; filter: blur(60px) saturate(1.2); pointer-events: none; }
.ee-mesh b { position: absolute; border-radius: 50%; opacity: .7; mix-blend-mode: multiply; }
.ee-mesh b:nth-child(1) { width: 46vw; height: 46vw; background: var(--ee-magenta); left: 50%; top: 10%; animation: ee-m1 14s ease-in-out infinite alternate; }
.ee-mesh b:nth-child(2) { width: 40vw; height: 40vw; background: var(--ee-sun); left: 65%; top: 45%; animation: ee-m2 12s ease-in-out infinite alternate; }
.ee-mesh b:nth-child(3) { width: 36vw; height: 36vw; background: var(--ee-cyan); left: 30%; top: 55%; animation: ee-m3 16s ease-in-out infinite alternate; }
.ee-mesh b:nth-child(4) { width: 30vw; height: 30vw; background: var(--ee-violet); left: 75%; top: 0; opacity: .45; animation: ee-m1 18s ease-in-out infinite alternate-reverse; }
@keyframes ee-m1 { to { transform: translate(-18vw, 12vw) scale(1.25); } }
@keyframes ee-m2 { to { transform: translate(-22vw, -14vw) scale(.8); } }
@keyframes ee-m3 { to { transform: translate(20vw, -10vw) scale(1.2); } }
.ee-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, var(--ee-cream) 30%, rgba(255, 248, 239, .55) 58%, rgba(255, 248, 239, 0)); pointer-events: none; }
.ee-hero__grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 40px; align-items: center; }
.ee-hero__title { font-size: clamp(46px, 6.4vw, 116px); margin: 26px 0 28px !important; }
.ee-hero__title .ee-w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .08em; margin-bottom: -.08em; }
.ee-hero__title .ee-wi { display: inline-block; transform: translateY(105%) rotate(8deg); }
.ee-go .ee-hero__title .ee-wi { animation: ee-word-in 1s var(--ee-bounce) forwards; animation-delay: calc(.1s + var(--i) * 80ms); }
@keyframes ee-word-in { to { transform: none; } }
.ee-hero__lede { max-width: 30em; color: var(--ee-ink-soft); font-size: clamp(17px, 1.3vw, 20px); }
.ee-hero__cta { margin-top: 36px !important; }
.ee-hero .ee-kicker, .ee-hero__lede, .ee-hero__cta { opacity: 0; }
.ee-go .ee-hero .ee-kicker { animation: ee-pop .8s var(--ee-bounce) .05s forwards; }
.ee-go .ee-hero__lede { animation: ee-pop .9s var(--ee-bounce) .8s forwards; }
.ee-go .ee-hero__cta { animation: ee-pop .9s var(--ee-bounce) 1s forwards; }
@keyframes ee-pop { from { opacity: 0; transform: translateY(40px) scale(.9); } to { opacity: 1; transform: none; } }
.ee-hero__cover { position: relative; justify-self: center; width: min(400px, 90%); perspective: 1400px; opacity: 0; }
.ee-go .ee-hero__cover { animation: ee-pop 1.2s var(--ee-bounce) .5s forwards; }
.ee-cover { position: relative; margin: 0; aspect-ratio: 4 / 5; transform-style: preserve-3d; transform: rotateY(var(--ry, -22deg)) rotateX(var(--rx, 6deg)); transition: transform .8s var(--ee-ease); }
.ee-cover.is-spin { animation: ee-spin3d 1.4s var(--ee-ease); }
@keyframes ee-spin3d { from { transform: rotateY(-22deg) rotateX(6deg); } to { transform: rotateY(338deg) rotateX(6deg); } }
.ee-cover > a { position: absolute; inset: 0; display: block; backface-visibility: hidden; border-radius: 8px; overflow: hidden; border: var(--ee-line); box-shadow: 14px 14px 0 var(--ee-ink); }
.ee-cover img { width: 100%; height: 100%; object-fit: cover; }
.ee-book__back { position: absolute; inset: 0; transform: rotateY(180deg); backface-visibility: hidden; display: grid; place-items: center; text-align: center; padding: 30px; border-radius: 8px; border: var(--ee-line); background: var(--ee-violet); color: #fff; font: 800 34px/1 var(--ee-display); letter-spacing: -0.03em; }
.ee-book__back small { display: block; margin-top: 12px; font: italic 400 22px/1.2 var(--ee-serif); letter-spacing: 0; }
.ee-book__spine { position: absolute; top: 0; bottom: 0; left: 0; width: 26px; background: var(--ee-magenta); border: var(--ee-line); transform: rotateY(-90deg); transform-origin: left; }
.ee-cover__tag { position: absolute; left: -10%; bottom: -26px; z-index: 4; padding: 12px 16px; border-radius: 14px; border: var(--ee-line); background: var(--ee-cream); color: var(--ee-ink-soft); font: 500 13px/1.4 var(--ee-body); rotate: 3deg; box-shadow: 6px 6px 0 var(--ee-ink); }
.ee-cover__tag strong { display: block; color: var(--ee-ink); font: 800 18px/1.1 var(--ee-display); letter-spacing: -0.02em; }
.ee-sticker { position: absolute; z-index: 3; display: grid; place-items: center; pointer-events: none; }
.ee-sticker--ring { right: -14%; top: -8%; width: 140px; height: 140px; background: var(--ee-sun); border-radius: 50%; border: var(--ee-line); animation: ee-float 5s ease-in-out infinite; }
.ee-sticker--ring svg { position: absolute; inset: 6px; animation: ee-rot 12s linear infinite; }
.ee-sticker--ring text { font: 800 11px var(--ee-display); letter-spacing: .2em; text-transform: uppercase; fill: var(--ee-ink); }
.ee-sticker--ring span { font-size: 34px; animation: ee-rot 4s linear infinite reverse; }
.ee-sticker--star { left: -16%; top: 38%; width: 110px; height: 110px; animation: ee-float 6s ease-in-out infinite -2s; }
.ee-sticker--star svg { width: 100%; height: 100%; animation: ee-rot 9s linear infinite; }
.ee-sticker--new { left: -6%; top: 4%; padding: 10px 16px; border-radius: 12px; border: var(--ee-line); background: var(--ee-cyan); color: var(--ee-ink); font: 800 16px/1 var(--ee-display); rotate: -12deg; animation: ee-float 4s ease-in-out infinite -1s; }
@keyframes ee-float { 0%, 100% { translate: 0 0; } 50% { translate: 0 -18px; } }
@keyframes ee-rot { to { rotate: 1turn; } }

/* Ticker: kinetic bands */
.ee-ticker { position: relative; z-index: 2; overflow: hidden; padding: 20px 0; }
/* Each row sits in a band (added by the script) that carries the colour and the tilt; the row only slides. */
.ee-band { width: 104vw; margin: 0 -2vw !important; padding: 24px 0; overflow: hidden; background: var(--ee-ink); color: var(--ee-cream); rotate: -2deg; position: relative; z-index: 1; }
.ee-band--alt { background: var(--ee-sun); color: var(--ee-ink); rotate: 1.5deg; margin-top: -14px !important; z-index: 0; }
.ee-ticker__row { display: flex; width: max-content; white-space: nowrap; will-change: transform; }
.ee-ticker__row span { display: inline-flex; align-items: center; gap: 52px; padding-inline: 26px; font: 800 clamp(34px, 4.6vw, 64px)/1 var(--ee-display); letter-spacing: -0.03em; }
.ee-ticker__row span::after { content: "✺"; color: var(--ee-magenta); }
.ee-band--alt .ee-ticker__row span::after { content: "●"; font-size: .5em; color: var(--ee-violet); }

/* Sections and headings */
.ee-section { position: relative; padding-block: clamp(90px, 12vw, 160px); }
.ee-section--flush { padding-top: 0; }
.ee-section--tint { background: var(--ee-paper); }
.ee-head { margin-bottom: clamp(40px, 6vw, 80px) !important; }
.ee-head--split { display: flex; justify-content: space-between; align-items: end; gap: 24px; flex-wrap: wrap; }
.ee-head h2, .ee-split__head h2 { font-size: clamp(46px, 6.6vw, 112px); margin-top: 22px !important; }
.ee-head__lede { color: var(--ee-ink-soft); max-width: 26em; margin-top: 18px !important; }
.ee-reveal { opacity: 0; transform: translateY(70px) scale(.92) rotate(var(--r, 0deg)); transition: opacity .8s var(--ee-ease), transform 1.1s var(--ee-bounce); transition-delay: calc(var(--i, 0) * 110ms); }
.ee-reveal.is-in { opacity: 1; transform: none; }
.ee-words .ee-w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .08em; margin-bottom: -.08em; }
.ee-words .ee-wi { display: inline-block; transform: translateY(100%) rotate(10deg); transition: transform 1s var(--ee-bounce); transition-delay: calc(var(--i) * 70ms); }
.ee-words.is-in .ee-wi { transform: none; }
.ee-split { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(40px, 7vw, 110px); align-items: start; }
.ee-split__body { display: grid; gap: 20px; color: var(--ee-ink-soft); font-size: 18px; padding-top: 24px; }

/* Routes: tilted pastel cards */
.ee-routes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.ee-route { position: relative; display: flex; flex-direction: column; min-height: 420px; padding: 36px 32px; border-radius: 28px; border: var(--ee-line); overflow: hidden; isolation: isolate; cursor: pointer; transform-style: preserve-3d; transition: transform .6s var(--ee-ease), box-shadow .6s var(--ee-ease); }
.ee-route:hover { box-shadow: 12px 12px 0 var(--ee-ink); }
.ee-route:nth-child(1) { background: var(--ee-pink); --blob: var(--ee-magenta); --r: -3deg; }
.ee-route:nth-child(2) { background: var(--ee-lilac); --blob: var(--ee-violet); --r: 2deg; }
.ee-route:nth-child(3) { background: var(--ee-mint); --blob: var(--ee-cyan); --r: -2deg; }
.ee-route::before { content: ""; position: absolute; right: -60px; bottom: -60px; z-index: -1; width: 240px; height: 240px; background: var(--blob); opacity: .8; border-radius: 42% 58% 63% 37% / 41% 44% 56% 59%; animation: ee-morph 8s ease-in-out infinite; transition: transform .8s var(--ee-bounce); }
.ee-route:hover::before { transform: scale(2.6); }
@keyframes ee-morph { 0%, 100% { border-radius: 42% 58% 63% 37% / 41% 44% 56% 59%; rotate: 0deg; } 50% { border-radius: 63% 37% 38% 62% / 55% 61% 39% 45%; rotate: 60deg; } }
.ee-route__n { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--ee-ink); color: var(--ee-cream); font: 800 18px/1 var(--ee-display); }
.ee-route__who { margin-top: 44px !important; font: 700 12px/1 var(--ee-body); letter-spacing: .14em; text-transform: uppercase; }
.ee-route h3 { font-size: clamp(26px, 2.4vw, 48px); margin: 14px 0 !important; overflow-wrap: normal; word-break: normal; hyphens: manual; }
.ee-route > p:not([class*="ee-"]) { color: var(--ee-ink); opacity: .78; max-width: 20em; }
.ee-route__go { margin-top: auto !important; padding-top: 30px; }
.ee-route__go a { display: inline-flex; align-items: center; gap: 12px; font-weight: 700; text-decoration: none; color: var(--ee-ink); }
.ee-route__go a::before { content: "→"; display: grid; place-items: center; width: 46px; height: 46px; border-radius: 50%; background: var(--ee-cream); border: 2px solid var(--ee-ink); transition: transform .6s var(--ee-bounce); }
.ee-route:hover .ee-route__go a::before { transform: rotate(-45deg) scale(1.15); }

/* Stories: staggered gallery */
.ee-stories .wp-block-post-template { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 24px; align-items: start; list-style: none; margin: 0; padding: 0; }
.ee-stories .wp-block-post { position: relative; }
.ee-stories .wp-block-post:nth-child(4) { display: none; }
.ee-stories .wp-block-post:nth-child(2) { margin-top: 80px; --c: var(--ee-cyan); }
.ee-stories .wp-block-post:nth-child(3) { margin-top: 160px; --c: var(--ee-sun); }
.ee-stories .wp-block-post-featured-image { position: relative; margin: 0; border-radius: 24px; overflow: hidden; border: var(--ee-line); }
.ee-stories .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.6s var(--ee-ease); }
.ee-stories .wp-block-post:hover .wp-block-post-featured-image img { transform: scale(1.08) rotate(1deg); }
.ee-stories .wp-block-post-featured-image::after { content: ""; position: absolute; inset: 0; background: var(--c, var(--ee-magenta)); mix-blend-mode: screen; opacity: 0; transition: opacity .5s; pointer-events: none; }
.ee-stories .wp-block-post:hover .wp-block-post-featured-image::after { opacity: .35; }
.ee-stories .wp-block-post-terms { position: absolute; left: 14px; top: 14px; z-index: 2; padding: 8px 14px; border-radius: 999px; background: var(--ee-cream); border: 2px solid var(--ee-ink); font: 700 12px/1 var(--ee-body); }
.ee-stories .wp-block-post-terms a { text-decoration: none; }
.ee-stories .wp-block-post-title { font-size: clamp(24px, 2.2vw, 34px); margin-top: 20px; letter-spacing: -0.03em; line-height: 1; }
.ee-stories .wp-block-post-title a { text-decoration: none; }
.ee-stories .wp-block-post:hover .wp-block-post-title a { color: var(--ee-ink); text-decoration: underline; text-decoration-thickness: 3px; text-underline-offset: 6px; text-decoration-color: var(--ee-magenta); }
.ee-stories .wp-block-post-excerpt { color: var(--ee-ink-soft); margin-top: 10px; font-size: 15px; }
.ee-stories .wp-block-post-excerpt__more-text { display: none; }

/* Competition: violet panel with floating shapes */
/* Inset panels: full-width blocks with side margins, so the width must not stay at 100%. */
.entry-content .alignfull.ee-comp, .entry-content .alignfull.ee-cta { width: auto; max-width: none; }
.ee-comp { margin-inline: var(--ee-gut) !important; border-radius: clamp(28px, 4vw, 56px); background: var(--ee-violet); color: #fff; overflow: hidden; isolation: isolate; }
.ee-comp__shapes span { position: absolute; z-index: -1; pointer-events: none; }
.ee-comp__shapes span:nth-child(1) { width: 260px; height: 260px; border-radius: 50%; background: var(--ee-magenta); right: -60px; top: -80px; animation: ee-float 7s ease-in-out infinite; }
.ee-comp__shapes span:nth-child(2) { width: 180px; height: 180px; border-radius: 30px; background: var(--ee-sun); left: 46%; bottom: -70px; rotate: 20deg; animation: ee-rot 20s linear infinite; }
.ee-comp__shapes span:nth-child(3) { width: 0; height: 0; border-left: 90px solid transparent; border-right: 90px solid transparent; border-bottom: 150px solid var(--ee-cyan); left: -40px; top: 40%; animation: ee-float 6s ease-in-out infinite -3s; }
.ee-comp__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 60px; align-items: center; }
.ee-comp .ee-kicker { background: var(--ee-sun); color: var(--ee-ink); }
.ee-comp .ee-kicker::before { background: var(--ee-magenta); }
.ee-comp__big { color: #fff; font-size: clamp(46px, 6.2vw, 104px); margin: 24px 0 26px !important; }
.ee-comp__big em { background: none; color: var(--ee-sun); animation: none; }
.ee-comp__lede { opacity: .9; font-size: 19px; max-width: 30em; margin-bottom: 34px !important; color: #fff; }
.ee-comp .ee-btn-solid .wp-block-button__link { background: var(--ee-sun); color: var(--ee-ink); }
.ee-steps { display: grid; gap: 16px; }
.ee-steps--four { grid-template-columns: repeat(4, 1fr); }
.ee-step { display: flex; gap: 20px; align-items: center; padding: 22px 26px; border-radius: 22px; border: var(--ee-line); background: var(--ee-cream); color: var(--ee-ink); box-shadow: 8px 8px 0 var(--ee-ink); }
.ee-steps--four .ee-step { flex-direction: column; align-items: flex-start; }
.ee-step:nth-child(1) { --r: -3deg; } .ee-step:nth-child(2) { --r: 2deg; } .ee-step:nth-child(3) { --r: -2deg; } .ee-step:nth-child(4) { --r: 3deg; }
.ee-step__n { flex: none; display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; background: var(--ee-magenta); color: #fff; font: 800 20px/1 var(--ee-display); }
.ee-step:nth-child(2) .ee-step__n { background: var(--ee-orange); }
.ee-step:nth-child(3) .ee-step__n { background: var(--ee-cyan); color: var(--ee-ink); }
.ee-step:nth-child(4) .ee-step__n { background: var(--ee-violet); }
.ee-step__t { color: var(--ee-ink-soft); font-size: 15px; }
.ee-step__t strong { display: block; font: 800 24px/1.1 var(--ee-display); letter-spacing: -0.02em; color: var(--ee-ink); margin-bottom: 4px; }

/* Services: expanding panels */
.ee-services { display: flex; gap: 16px; height: 540px; }
.ee-service { position: relative; flex: 1; overflow: hidden; border-radius: 28px; border: var(--ee-line); cursor: pointer; color: #fff; transition: flex .8s var(--ee-ease); display: flex; flex-direction: column; justify-content: flex-end; padding: 26px; isolation: isolate; }
.ee-service.is-open { flex: 2.4; }
.ee-service__img { position: absolute !important; inset: 0; z-index: -2; margin: 0 !important; }
.ee-service__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ee-ease); }
.ee-service:hover .ee-service__img img { transform: scale(1.06); }
.ee-service::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, transparent 35%, rgba(23, 19, 43, .88)); }
.ee-service__label { align-self: flex-start; padding: 7px 12px; border-radius: 999px; background: var(--ee-sun); color: var(--ee-ink); font: 700 12px/1 var(--ee-body); margin-bottom: 14px !important; }
.ee-service h3 { color: #fff; font-size: clamp(22px, 1.8vw, 28px); transition: font-size .6s var(--ee-ease); }
.ee-service.is-open h3 { font-size: clamp(32px, 3vw, 50px); }
.ee-service > p:not([class*="ee-"]) { max-width: 24em; margin-top: 10px !important; color: #fff; opacity: 0; transform: translateY(16px); transition: opacity .5s, transform .6s var(--ee-ease); }
.ee-service.is-open > p:not([class*="ee-"]) { opacity: .9; transform: none; transition-delay: .2s; }
.ee-service__go { margin-top: 14px !important; opacity: 0; transition: opacity .4s; }
.ee-service.is-open .ee-service__go { opacity: 1; transition-delay: .3s; }
.ee-service__go a { color: var(--ee-sun); font-weight: 700; text-decoration: none; }
@media (min-width: 901px) {
	.ee-service:not(.is-open) h3 { font-size: 20px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.ee-service:not(.is-open) > p:not([class*="ee-"]), .ee-service:not(.is-open) .ee-service__go { display: none; }
}
.ee-service__go a::after { content: " →"; }

/* Manifesto */
.ee-man { text-align: center; }
.ee-man__q { font: 800 clamp(38px, 5.4vw, 92px)/1 var(--ee-display); letter-spacing: -0.04em; max-width: 16ch; margin: 30px auto 60px !important; color: var(--ee-ink); }
.ee-man__q em { font-weight: 400; }
.ee-man__q.ee-scrub .ee-mw { display: inline-block; opacity: .12; transform: translateY(20px) scale(.9); transition: opacity .4s, transform .6s var(--ee-bounce); }
.ee-man__q.ee-scrub .ee-mw.is-on { opacity: 1; transform: none; }
.ee-man__q.ee-scrub em { background: none; animation: none; color: inherit; }
.ee-man__q.ee-scrub em .ee-mw { background: linear-gradient(90deg, var(--ee-magenta), var(--ee-violet)); -webkit-background-clip: text; background-clip: text; color: transparent; padding-right: .06em; }
.ee-man__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; max-width: 980px; margin: 0 auto !important; text-align: left; color: var(--ee-ink-soft); }
.ee-man .ee-arrow-link { margin-top: 40px !important; }

/* Partners: cards */
.ee-partners { padding: 30px 0 100px; text-align: center; }
.ee-partners .ee-kicker { margin-bottom: 30px !important; }
.ee-partners__row { display: flex; flex-wrap: wrap; gap: 18px; justify-content: center; }
.ee-partner a { display: inline-flex; flex-direction: column; padding: 22px 30px; border-radius: 22px; border: var(--ee-line); background: #fff; color: var(--ee-ink-soft); font-size: 13px; text-decoration: none; transition: transform .5s var(--ee-bounce), box-shadow .4s; }
.ee-partner strong { font: 800 24px/1.1 var(--ee-display); letter-spacing: -0.03em; color: var(--ee-ink); margin-bottom: 4px; }
.ee-partner:nth-child(1) { --r: -4deg; } .ee-partner:nth-child(2) { --r: 3deg; } .ee-partner:nth-child(3) { --r: -2deg; }
.ee-partner:nth-child(1) a:hover { transform: rotate(-3deg) translateY(-6px); box-shadow: 8px 8px 0 var(--ee-magenta); }
.ee-partner:nth-child(2) a:hover { transform: rotate(3deg) translateY(-6px); box-shadow: 8px 8px 0 var(--ee-cyan); }
.ee-partner:nth-child(3) a:hover { transform: rotate(-2deg) translateY(-6px); box-shadow: 8px 8px 0 var(--ee-sun); }

/* Newsletter */
.ee-news { background: var(--ee-sun); overflow: hidden; }
.ee-news__wave { position: absolute; left: 0; top: -1px; width: 200%; height: 60px; animation: ee-wave 10s linear infinite; pointer-events: none; }
@keyframes ee-wave { to { transform: translateX(-50%); } }
.ee-news__grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 50px; align-items: center; }
.ee-news h2 { font-size: clamp(46px, 6.2vw, 104px); margin-top: 22px !important; }
.ee-news h2 em { background: none; animation: none; color: var(--ee-magenta); }
.ee-news__small { margin-top: 18px !important; font-weight: 500; }
.ee-news .mc4wp-form-fields { display: flex; gap: 10px; align-items: center; background: var(--ee-cream); border: var(--ee-line); border-radius: 999px; padding: 8px; box-shadow: 8px 8px 0 var(--ee-ink); }
.ee-news .mc4wp-form-fields p { margin: 0; }
.ee-news .mc4wp-form-fields p:has(input[type="email"]) { flex: 1; }
.ee-news .mc4wp-form-fields label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.ee-news .mc4wp-form input[type="email"] { width: 100%; border: 0; background: none; padding: 0 18px; box-shadow: none; }
.ee-news .mc4wp-form input[type="submit"] { border: 2px solid var(--ee-ink); border-radius: 999px; background: var(--ee-magenta); color: #fff; padding: 14px 22px; font: 700 15px/1 var(--ee-body); cursor: pointer; }

/* ---------- Inner pages ---------- */
.ee-page-hero { position: relative; padding-block: clamp(70px, 10vw, 150px) clamp(60px, 7vw, 100px); overflow: hidden; isolation: isolate; }
.ee-page-hero .ee-mesh { inset: -30% -10% -30% 40%; opacity: .8; }
.ee-page-hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, var(--ee-cream) 40%, rgba(255, 248, 239, 0)); pointer-events: none; }
.ee-page-hero__title { font-size: clamp(54px, 8.4vw, 140px); margin: 26px 0 28px !important; max-width: 13ch; }
.ee-page-hero__lede { max-width: 34em; color: var(--ee-ink-soft); font-size: clamp(17px, 1.3vw, 20px); }
.ee-page-hero .wp-block-buttons { margin-top: 34px !important; }
.ee-cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.ee-card { position: relative; display: grid; align-content: start; gap: 14px; padding: clamp(28px, 3vw, 44px); border-radius: 28px; border: var(--ee-line); background: #fff; transition: transform .5s var(--ee-bounce), box-shadow .4s; }
.ee-cards--four { grid-template-columns: repeat(4, 1fr); }
.ee-cards--four .ee-card { padding: clamp(22px, 2vw, 32px); }
.ee-cards--four .ee-card h3 { font-size: clamp(20px, 1.6vw, 28px); overflow-wrap: normal; word-break: normal; }
.ee-card:nth-child(3n+1) { background: var(--ee-pink); --r: -2deg; }
.ee-card:nth-child(3n+2) { background: var(--ee-lilac); --r: 1.5deg; }
.ee-card:nth-child(3n+3) { background: var(--ee-mint); --r: -1deg; }
.ee-card:hover { transform: translateY(-6px) rotate(-1deg); box-shadow: 10px 10px 0 var(--ee-ink); }
.ee-card__n { justify-self: start; padding: 7px 12px; border-radius: 999px; background: var(--ee-ink); color: var(--ee-cream); font: 800 14px/1 var(--ee-display); }
.ee-card h3 { font-size: clamp(28px, 2.6vw, 40px); }
.ee-card h3 a { text-decoration: none; }
.ee-card p:not([class*="ee-"]) { color: var(--ee-ink); opacity: .8; }
.ee-plans { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; max-width: 1100px; }
.ee-plan { position: relative; display: grid; align-content: start; gap: 18px; padding: clamp(34px, 4vw, 56px); border-radius: 32px; border: var(--ee-line); background: #fff; box-shadow: 10px 10px 0 var(--ee-ink); overflow: hidden; }
.ee-plan--featured { background: var(--ee-violet); color: #fff; }
.ee-plan--featured::after { content: "Best value"; position: absolute; top: 26px; right: -38px; rotate: 35deg; padding: 6px 48px; background: var(--ee-sun); color: var(--ee-ink); border-block: 2px solid var(--ee-ink); font: 800 12px/1 var(--ee-display); text-transform: uppercase; letter-spacing: .1em; }
.ee-plan--plain::after { display: none; }
.ee-plan h3 { font-size: clamp(30px, 3vw, 46px); }
.ee-plan--featured h3 { color: #fff; }
.ee-plan__name { justify-self: start; padding: 8px 14px; border-radius: 999px; background: var(--ee-ink); color: var(--ee-cream); font: 700 12px/1 var(--ee-body); letter-spacing: .08em; text-transform: uppercase; }
.ee-plan--featured .ee-plan__name { background: var(--ee-sun); color: var(--ee-ink); }
.ee-plan__price { font: 500 18px/1 var(--ee-body); color: inherit; opacity: .8; }
.ee-plan__price strong { font: 800 clamp(72px, 8vw, 116px)/1 var(--ee-display); letter-spacing: -0.05em; margin-right: 6px; opacity: 1; }
.ee-plan__lede { font-size: 17px; }
.ee-plan--featured .ee-ticks li, .ee-plan--featured .ee-plan__lede { color: #fff; }
.ee-plan--featured .ee-btn-solid .wp-block-button__link { background: var(--ee-sun); color: var(--ee-ink); }
.ee-ticks { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.ee-ticks li { position: relative; padding-left: 30px; color: var(--ee-ink-soft); }
.ee-ticks li::before { content: ""; position: absolute; left: 0; top: .35em; width: 16px; height: 16px; border-radius: 50%; border: 2px solid var(--ee-ink); background: var(--ee-mint); }
.ee-ticks li:nth-child(3n+2)::before { background: var(--ee-pink); }
.ee-ticks li:nth-child(3n+3)::before { background: var(--ee-sun); }
.ee-ticks--big { gap: 16px; }
.ee-ticks--big li { padding: 22px 24px 22px 66px; border-radius: 22px; border: var(--ee-line); background: #fff; font-size: 17px; }
.ee-ticks--big li::before { left: 22px; top: 26px; width: 26px; height: 26px; }
.ee-ticks--big strong { display: block; font: 800 26px/1.1 var(--ee-display); letter-spacing: -0.03em; color: var(--ee-ink); margin-bottom: 4px; }
.ee-facts { padding-block: 20px 0; }
.ee-facts__row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.ee-facts__row--inline { margin-top: 50px !important; }
.ee-fact { padding: 26px 24px; border-radius: 24px; border: var(--ee-line); background: var(--ee-sun); color: var(--ee-ink); font-size: 14px; font-weight: 500; }
.ee-fact:nth-child(4n+2) { background: var(--ee-pink); } .ee-fact:nth-child(4n+3) { background: var(--ee-mint); } .ee-fact:nth-child(4n+4) { background: var(--ee-lilac); }
.ee-fact strong { display: block; font: 800 clamp(28px, 2.8vw, 42px)/1 var(--ee-display); letter-spacing: -0.04em; margin-bottom: 8px; }
.ee-prizes { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 20px; align-items: stretch; }
.ee-prize { display: grid; align-content: start; gap: 18px; padding: 34px 28px; border-radius: 28px; border: var(--ee-line); background: #fff; }
.ee-prize--grand { background: var(--ee-sun); box-shadow: 10px 10px 0 var(--ee-ink); }
.ee-prize__rank { justify-self: start; padding: 8px 14px; border-radius: 999px; background: var(--ee-ink); color: var(--ee-cream); font: 700 12px/1 var(--ee-body); letter-spacing: .08em; text-transform: uppercase; }
.ee-prize__big { font: 800 clamp(56px, 6vw, 92px)/1 var(--ee-display); letter-spacing: -0.05em; }
.ee-prize--grand .ee-ticks li { color: var(--ee-ink); }
.ee-note { margin-top: 30px !important; font: italic 400 24px/1.3 var(--ee-serif); color: var(--ee-ink-soft); }
.ee-faq { display: grid; gap: 14px; }
.ee-faq__item { border: var(--ee-line); border-radius: 24px; background: #fff; overflow: hidden; transition: box-shadow .4s, transform .5s var(--ee-bounce); }
.ee-faq__item[open] { box-shadow: 8px 8px 0 var(--ee-ink); background: var(--ee-lilac); }
.ee-faq__item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 24px; align-items: center; padding: 22px 26px; font: 800 clamp(20px, 2vw, 28px)/1.15 var(--ee-display); letter-spacing: -0.02em; color: var(--ee-ink); }
.ee-faq__item summary::-webkit-details-marker { display: none; }
.ee-faq__item summary::after { content: "+"; flex: none; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--ee-sun); border: 2px solid var(--ee-ink); font: 700 22px/1 var(--ee-body); transition: rotate .6s var(--ee-bounce), background-color .3s; }
.ee-faq__item[open] summary::after { rotate: 45deg; background: var(--ee-magenta); color: #fff; }
.ee-faq__item > p { padding: 0 26px 24px; color: var(--ee-ink); opacity: .85; font-size: 17px; max-width: 46em; }
.ee-faq__item[open] > p { animation: ee-pop .6s var(--ee-bounce); }
.ee-quotes { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.ee-quote, .single-content .ee-quote { margin: 0; padding: 34px 34px 30px; border-radius: 28px; border: var(--ee-line); background: #fff; box-shadow: 10px 10px 0 var(--ee-ink); font: inherit; }
.ee-quote:nth-child(2) { background: var(--ee-mint); }
.ee-quote p { font: italic 400 clamp(22px, 2vw, 30px)/1.3 var(--ee-serif); color: var(--ee-ink); }
.ee-quote p::before { content: "“"; display: block; font: 800 80px/.6 var(--ee-display); color: var(--ee-magenta); margin-bottom: 14px; }
.ee-quote cite { display: inline-block; margin-top: 20px; padding: 8px 14px; border-radius: 999px; background: var(--ee-ink); color: var(--ee-cream); font: 700 12px/1 var(--ee-body); font-style: normal; letter-spacing: .06em; text-transform: uppercase; }
.ee-cta { margin-inline: var(--ee-gut) !important; margin-bottom: clamp(40px, 6vw, 80px) !important; border-radius: clamp(28px, 4vw, 56px); background: var(--ee-magenta); text-align: center; overflow: hidden; isolation: isolate; }
.ee-cta::before, .ee-cta::after { content: ""; position: absolute; z-index: -1; border-radius: 50%; }
.ee-cta::before { width: 300px; height: 300px; background: var(--ee-sun); left: -80px; bottom: -120px; animation: ee-float 7s ease-in-out infinite; }
.ee-cta::after { width: 200px; height: 200px; background: var(--ee-violet); right: -40px; top: -60px; animation: ee-float 6s ease-in-out infinite -3s; }
.ee-cta .ee-kicker { background: var(--ee-cream); color: var(--ee-ink); }
.ee-cta__title { color: #fff; font-size: clamp(44px, 6.4vw, 110px); max-width: 14ch; margin: 24px auto 40px !important; }
.ee-cta__title em { background: none; animation: none; color: var(--ee-sun); }
.ee-cta__actions { justify-content: center; }
.ee-cta .ee-btn-solid .wp-block-button__link { background: var(--ee-sun); color: var(--ee-ink); }

/* ---------- WooCommerce: grids and cards ---------- */
.woocommerce ul.products, .ee-section ul.products, ul.products.grid-cols {
	display: grid !important; grid-template-columns: repeat(auto-fill, minmax(min(250px, 100%), 1fr)); gap: clamp(24px, 3vw, 40px) clamp(18px, 2.2vw, 30px);
	margin: 0; padding: 0; list-style: none;
}
.woocommerce ul.products.columns-4 { grid-template-columns: repeat(auto-fill, minmax(min(230px, 100%), 1fr)); }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product.ee-product { width: auto; margin: 0; padding: 14px; float: none; display: flex; flex-direction: column; border-radius: 28px; border: var(--ee-line); background: #fff; box-shadow: none; transition: transform .5s var(--ee-bounce), box-shadow .4s; }
.woocommerce ul.products li.product.ee-product:nth-child(4n+1) { background: var(--ee-pink); }
.woocommerce ul.products li.product.ee-product:nth-child(4n+2) { background: var(--ee-lilac); }
.woocommerce ul.products li.product.ee-product:nth-child(4n+3) { background: var(--ee-mint); }
.woocommerce ul.products li.product.ee-product:nth-child(4n+4) { background: #ffe9a8; }
.woocommerce ul.products li.product.ee-product:hover { transform: translateY(-8px) rotate(-1.5deg); box-shadow: 10px 10px 0 var(--ee-ink); }
.ee-product__media { position: relative; display: block; aspect-ratio: 3 / 4; overflow: hidden; border-radius: 18px; border: var(--ee-line); background: var(--ee-cream); }
.ee-product__media img { width: 100%; height: 100%; object-fit: cover; margin: 0 !important; transition: transform 1.2s var(--ee-ease); }
.ee-product:hover .ee-product__media img { transform: scale(1.07) rotate(1deg); }
.ee-product__badge { position: absolute; left: 12px; top: 12px; z-index: 2; padding: 8px 12px; border-radius: 999px; border: 2px solid var(--ee-ink); background: var(--ee-sun); color: var(--ee-ink); font: 800 12px/1 var(--ee-display); rotate: -6deg; transition: rotate .5s var(--ee-bounce); }
.ee-product__badge.is-digital { background: var(--ee-cyan); }
.ee-product:hover .ee-product__badge { rotate: 6deg; }
.woocommerce span.onsale, .ee-product .onsale { position: absolute; right: 12px; left: auto; top: 12px; z-index: 2; min-height: 0; min-width: 0; padding: 8px 12px; border-radius: 999px; border: 2px solid var(--ee-ink); background: var(--ee-magenta); color: #fff; font: 800 12px/1 var(--ee-display); margin: 0; }
.ee-product__body { display: grid; gap: 6px; flex: 1; align-content: start; padding: 18px 6px 4px; }
.ee-product__eyebrow { font: 700 11px/1.4 var(--ee-body); letter-spacing: .08em; text-transform: uppercase; color: var(--ee-ink-soft); margin: 0; }
.woocommerce ul.products li.product .ee-product__title, .ee-product__title { font: 800 clamp(24px, 2vw, 32px)/1 var(--ee-display); letter-spacing: -0.04em; margin: 0; padding: 0; color: var(--ee-ink); }
.ee-product__title a { text-decoration: none; }
.ee-product__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 14px; }
.woocommerce ul.products li.product .price, .ee-product .price, .woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--ee-ink); font: 800 22px/1 var(--ee-display); letter-spacing: -0.02em; margin: 0; }
.woocommerce .price del { opacity: .5; }
.woocommerce .price ins { text-decoration: none; color: var(--ee-magenta); }
.woocommerce ul.products li.product.ee-product .button, .ee-product .button { padding: 11px 16px; font-size: 14px; border: 2px solid var(--ee-ink); background: var(--ee-cream); color: var(--ee-ink); box-shadow: 0 4px 0 var(--ee-ink); }
.woocommerce ul.products li.product.ee-product .button:hover { background: var(--ee-magenta); color: #fff; }
.woocommerce ul.products li.product.ee-product .button.loading { opacity: .6; }
.ee-product .button svg, .ee-product .button .kadence-svg-iconset { display: none; }
.woocommerce-result-count, .woocommerce-ordering { color: var(--ee-ink-soft); font-size: 14px; }
.woocommerce-ordering select { padding-block: 10px; }
.kadence-shop-top-row { margin-bottom: 30px; }
.woocommerce nav.woocommerce-pagination ul { border: 0; display: flex; gap: 10px; justify-content: center; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; border: 2px solid var(--ee-ink); color: var(--ee-ink); background: #fff; font-weight: 700; }
.woocommerce nav.woocommerce-pagination ul li span.current { background: var(--ee-ink); color: var(--ee-cream); }

/* Shop intro: latest issue feature and category chips */
.ee-shop-feature { position: relative; display: grid; grid-template-columns: minmax(220px, 400px) 1fr; gap: clamp(30px, 6vw, 90px); align-items: center; margin-bottom: clamp(40px, 5vw, 70px); padding: clamp(28px, 4vw, 56px); border-radius: clamp(28px, 4vw, 48px); border: var(--ee-line); background: var(--ee-lilac); overflow: hidden; isolation: isolate; }
.ee-shop-feature::before { content: ""; position: absolute; z-index: -1; right: -100px; bottom: -140px; width: 420px; height: 420px; border-radius: 42% 58% 63% 37% / 41% 44% 56% 59%; background: var(--ee-pink); animation: ee-morph 9s ease-in-out infinite; }
.ee-shop-feature__cover { display: block; perspective: 1200px; }
.ee-shop-feature__cover img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 10px; border: var(--ee-line); box-shadow: 14px 14px 0 var(--ee-ink); transform: rotateY(-14deg) rotateX(4deg); transition: transform .8s var(--ee-bounce); }
.ee-shop-feature__cover:hover img { transform: rotateY(8deg) rotateX(-2deg) translateY(-8px); }
.ee-shop-feature__title { font: 800 clamp(54px, 7.6vw, 128px)/.9 var(--ee-display); letter-spacing: -0.05em; margin: 22px 0 20px; }
.ee-shop-feature__lede { color: var(--ee-ink); opacity: .8; max-width: 32em; font-size: 17px; }
.ee-shop-feature__price { margin: 26px 0 0; display: flex; gap: 14px; align-items: center; }
.ee-shop-feature__price .amount { font: 800 44px/1 var(--ee-display); letter-spacing: -0.04em; }
.ee-shop-feature__price > span:last-child { padding: 7px 12px; border-radius: 999px; border: 2px solid var(--ee-ink); background: var(--ee-cyan); font: 800 12px/1 var(--ee-display); }
.ee-shop-feature__actions { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 32px; }
.ee-chips { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 36px; }
.ee-chip { display: inline-flex; gap: 8px; align-items: center; padding: 11px 18px; border-radius: 999px; border: 2px solid var(--ee-ink); background: var(--ee-cream); color: var(--ee-ink); text-decoration: none; font: 700 14px/1 var(--ee-body); transition: transform .4s var(--ee-bounce), background-color .3s; }
.ee-chip small { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; background: var(--ee-ink); color: var(--ee-cream); font-size: 11px; }
.ee-chip:hover { transform: translateY(-4px) rotate(-3deg); background: var(--ee-sun); color: var(--ee-ink); }
.ee-chip.is-active { background: var(--ee-magenta); color: #fff; }
.ee-chip.is-active small { background: #fff; color: var(--ee-ink); }

/* Single product */
.woocommerce div.product.ee-single { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 100px); align-items: start; padding-top: 10px; }
.woocommerce div.product.ee-single::before, .woocommerce div.product.ee-single::after { display: none; }
.ee-single__stage { position: relative; isolation: isolate; padding: 30px; border-radius: 36px; border: var(--ee-line); background: var(--ee-pink); overflow: hidden; }
.ee-single__stage::before { content: ""; position: absolute; z-index: -1; left: -80px; top: -80px; width: 320px; height: 320px; border-radius: 42% 58% 63% 37% / 41% 44% 56% 59%; background: var(--ee-sun); animation: ee-morph 9s ease-in-out infinite; }
.woocommerce div.product.ee-single div.images { width: 100%; float: none; margin: 0; }
.woocommerce div.product div.images .woocommerce-product-gallery__image img { border-radius: 12px; border: var(--ee-line); box-shadow: 12px 12px 0 var(--ee-ink); }
.woocommerce div.product div.images .flex-control-thumbs { display: flex; gap: 10px; margin-top: 18px; }
.woocommerce div.product div.images .flex-control-thumbs li { width: 72px; }
.woocommerce div.product div.images .flex-control-thumbs img { border-radius: 10px; border: 2px solid var(--ee-ink); opacity: .6; }
.woocommerce div.product div.images .flex-control-thumbs img.flex-active { opacity: 1; }
.woocommerce-product-gallery__trigger { background: var(--ee-cream) !important; border: 2px solid var(--ee-ink); }
.woocommerce div.product.ee-single .summary { width: 100%; float: none; margin: 0; display: grid; gap: 20px; align-content: start; }
.woocommerce div.product.ee-single .summary > * { margin: 0; }
.woocommerce div.product .product_title { font: 800 clamp(44px, 5.4vw, 88px)/.92 var(--ee-display); letter-spacing: -0.05em; }
.woocommerce div.product p.price { font: 800 clamp(36px, 3.4vw, 52px)/1 var(--ee-display); color: var(--ee-magenta); }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--ee-ink-soft); font-size: 18px; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; }
.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1; min-height: 58px; font-size: 17px; }
.woocommerce .quantity .qty { width: 88px; min-height: 58px; text-align: center; border-radius: 999px; }
.woocommerce .quantity { display: flex; }
.product_meta { color: var(--ee-ink-soft); font-size: 14px; display: grid; gap: 6px; }
.product_meta a { color: var(--ee-violet); font-weight: 700; text-decoration: none; }
.ee-editions { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ee-edition { display: grid; gap: 6px; padding: 16px 20px; border-radius: 20px; border: var(--ee-line); background: #fff; color: var(--ee-ink); text-decoration: none; transition: transform .5s var(--ee-bounce), box-shadow .4s; }
.ee-edition b { font: 800 13px/1 var(--ee-display); text-transform: uppercase; letter-spacing: .06em; }
.ee-edition .amount { font: 800 22px/1 var(--ee-display); }
.ee-edition.is-current { background: var(--ee-sun); box-shadow: 6px 6px 0 var(--ee-ink); }
a.ee-edition:hover { transform: translateY(-4px) rotate(-1.5deg); box-shadow: 6px 6px 0 var(--ee-violet); color: var(--ee-ink); }
.ee-single__nudge { padding: 16px 20px; border-radius: 20px; border: 2px dashed var(--ee-ink); font: italic 400 22px/1.3 var(--ee-serif); }
.ee-single__nudge a { display: inline-block; margin-left: 6px; font: 700 15px/1 var(--ee-body); font-style: normal; color: var(--ee-magenta); }
.ee-single__format { margin: 0; }
.woocommerce div.product.ee-single .woocommerce-tabs, .woocommerce div.product.ee-single .related, .woocommerce div.product.ee-single .upsells { grid-column: 1 / -1; }
.woocommerce div.product .woocommerce-tabs { margin-top: clamp(40px, 6vw, 80px); }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; gap: 10px; padding: 0; margin: 0 0 26px; border: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0; padding: 0; border: 0; background: none; border-radius: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: block; padding: 12px 20px; border-radius: 999px; border: 2px solid var(--ee-ink); font: 700 15px/1 var(--ee-body); color: var(--ee-ink); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { background: var(--ee-ink); color: var(--ee-cream); }
.woocommerce div.product .woocommerce-tabs .panel { color: var(--ee-ink-soft); max-width: 50em; font-size: 18px; }
.related > h2, .upsells > h2, .cross-sells > h2 { font-size: clamp(40px, 5vw, 76px); margin: clamp(60px, 8vw, 110px) 0 36px; }

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner {
	background: #fff !important; color: var(--ee-ink) !important; border: var(--ee-line) !important; border-radius: 20px !important; box-shadow: 6px 6px 0 var(--ee-ink);
}
.woocommerce-message, .wc-block-components-notice-banner.is-success { background: var(--ee-mint) !important; }
.woocommerce-error, .wc-block-components-notice-banner.is-error { background: var(--ee-pink) !important; }
.woocommerce-message::before, .woocommerce-info::before { color: var(--ee-ink); }

/* Cart and checkout (blocks and classic) */
.wc-block-cart, .wc-block-checkout { margin-top: 10px; }
.wc-block-components-sidebar-layout .wc-block-components-sidebar { padding: clamp(24px, 3vw, 36px); border-radius: 28px; border: var(--ee-line); background: var(--ee-lilac); box-shadow: 10px 10px 0 var(--ee-ink); }
.wc-block-cart-items, .wc-block-cart-items th, .wc-block-cart-items td, table.shop_table, table.shop_table td, table.shop_table th { border-color: var(--ee-rule) !important; }
.wc-block-cart-items__header, table.shop_table thead th { font: 700 12px/1 var(--ee-body) !important; letter-spacing: .1em; text-transform: uppercase; color: var(--ee-ink-soft) !important; }
.wc-block-components-product-name, .woocommerce-cart-form .product-name a { font: 800 24px/1.05 var(--ee-display) !important; letter-spacing: -0.03em; color: var(--ee-ink) !important; text-decoration: none; }
.wc-block-cart-item__image img, .woocommerce-cart-form .product-thumbnail img { border-radius: 10px; border: 2px solid var(--ee-ink); }
.wc-block-cart__totals-title, .wc-block-components-checkout-step__title, .cart_totals h2, #order_review_heading, .woocommerce-billing-fields h3, .woocommerce-additional-fields h3 { font: 800 28px/1.1 var(--ee-display) !important; text-transform: none !important; letter-spacing: -0.03em !important; color: var(--ee-ink); }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value, .order-total .amount { font: 800 32px/1 var(--ee-display) !important; color: var(--ee-magenta); }
.wc-block-components-text-input input, .wc-block-components-text-input textarea, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-blocks-components-select .wc-blocks-components-select__select, .wc-block-components-textarea {
	background: #fff !important; color: var(--ee-ink) !important; border: 2px solid var(--ee-ink) !important; border-radius: 14px !important;
}
.wc-block-components-text-input.is-active input, .wc-block-components-text-input input:focus { border-color: var(--ee-violet) !important; box-shadow: 4px 4px 0 var(--ee-violet) !important; }
.wc-block-components-radio-control-accordion-option, .wc-block-components-radio-control__option { border-radius: 14px !important; }
.wc-block-components-radio-control__input:checked::before { background: var(--ee-magenta) !important; }
.wc-block-components-checkbox__mark { fill: var(--ee-ink); }
.wc-block-components-quantity-selector { border: 2px solid var(--ee-ink) !important; border-radius: 999px !important; }
.wc-block-components-quantity-selector::after { display: none; }
.wc-block-components-order-summary-item__quantity { background: var(--ee-magenta) !important; color: #fff !important; border: 2px solid var(--ee-ink) !important; box-shadow: none !important; }
.wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title { font: 800 clamp(38px, 5vw, 70px)/1 var(--ee-display); letter-spacing: -0.04em; }
.woocommerce-checkout #payment { background: var(--ee-lilac); border-radius: 24px; border: var(--ee-line); }
.woocommerce-checkout #payment div.payment_box { background: #fff; border-radius: 14px; }
.select2-container--default .select2-selection--single { border: 2px solid var(--ee-ink); border-radius: 14px; height: auto; padding: 8px; }

/* My account */
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 260px 1fr; gap: clamp(30px, 5vw, 70px); align-items: start; }
.woocommerce-account:not(.logged-in) .woocommerce { display: block; }
.woocommerce-account .woocommerce::before, .woocommerce-account .woocommerce::after { display: none; }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
body.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation, body.woocommerce-account .woocommerce .woocommerce-MyAccount-content, body.woocommerce-account .woocommerce .account-navigation-wrap { width: auto; float: none; margin: 0; }
body.woocommerce-account .woocommerce .account-navigation-wrap { position: sticky; top: calc(var(--ee-hdr) + 20px); padding: 14px; border-radius: 28px; border: var(--ee-line); background: #fff; }
body.woocommerce-account .account-navigation-wrap .kadence-account-avatar { display: none; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; border: 0; }
.woocommerce-MyAccount-navigation li { border: 0; }
.woocommerce-MyAccount-navigation li a { display: block; padding: 12px 16px; border-radius: 999px; font-weight: 700; text-decoration: none; color: var(--ee-ink); transition: background-color .3s, transform .4s var(--ee-bounce); }
.woocommerce-MyAccount-navigation li a:hover { background: var(--ee-sun); transform: translateX(4px); }
.woocommerce-MyAccount-navigation li.is-active a { background: var(--ee-ink); color: var(--ee-cream); }
.ee-dash__hello { font: 800 clamp(46px, 6vw, 92px)/.95 var(--ee-display); letter-spacing: -0.05em; margin: 18px 0 10px; }
.ee-dash__out { color: var(--ee-ink-soft); }
.ee-dash__out a { color: var(--ee-magenta); font-weight: 700; }
.ee-dash__tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 18px; margin-top: 36px; }
.ee-dash__tile { position: relative; display: grid; gap: 8px; padding: 26px 24px 64px; border-radius: 26px; border: var(--ee-line); background: #fff; text-decoration: none; color: var(--ee-ink); transition: transform .5s var(--ee-bounce), box-shadow .4s; }
.ee-dash__tile:nth-child(5n+1) { background: var(--ee-pink); } .ee-dash__tile:nth-child(5n+2) { background: var(--ee-lilac); } .ee-dash__tile:nth-child(5n+3) { background: var(--ee-mint); } .ee-dash__tile:nth-child(5n+4) { background: #ffe9a8; }
.ee-dash__tile b { font: 800 clamp(19px, 1.7vw, 24px)/1.05 var(--ee-display); letter-spacing: -0.03em; }
.ee-dash__tile span { color: var(--ee-ink); opacity: .75; font-size: 14px; }
.ee-dash__tile i { position: absolute; left: 24px; bottom: 20px; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; border: 2px solid var(--ee-ink); background: var(--ee-cream); font-style: normal; transition: transform .5s var(--ee-bounce); }
.ee-dash__tile:hover { transform: translateY(-6px) rotate(-1.5deg); box-shadow: 8px 8px 0 var(--ee-ink); color: var(--ee-ink); }
.ee-dash__tile:hover i { transform: rotate(-45deg); }
.ee-dash__tile--accent { background: var(--ee-violet) !important; color: #fff; }
.ee-dash__tile--accent span { color: #fff; }
.ee-dash__tile--accent:hover { color: #fff; }
.woocommerce form.login, .woocommerce form.register, .woocommerce form.checkout_coupon, .woocommerce form.lost_reset_password { border: var(--ee-line); border-radius: 28px; padding: clamp(24px, 3vw, 40px); background: #fff; box-shadow: 10px 10px 0 var(--ee-ink); }
.woocommerce-account .u-columns h2 { font: 800 36px/1 var(--ee-display); letter-spacing: -0.04em; margin-bottom: 18px; }

/* ---------- Blog ---------- */
.loop-entry { border-radius: 28px; border: var(--ee-line); overflow: hidden; background: #fff; transition: transform .5s var(--ee-bounce), box-shadow .4s; }
.loop-entry:hover { transform: translateY(-6px) rotate(-1deg); box-shadow: 10px 10px 0 var(--ee-ink); }
.loop-entry .post-thumbnail { overflow: hidden; border-bottom: var(--ee-line); }
.loop-entry .post-thumbnail img { transition: transform 1.2s var(--ee-ease); }
.loop-entry:hover .post-thumbnail img { transform: scale(1.06); }
.loop-entry .entry-content-wrap { padding: 24px 26px 28px; }
.loop-entry .entry-title { font-size: clamp(24px, 2.2vw, 32px); }
.loop-entry .entry-title a { text-decoration: none; }
.loop-entry .more-link-wrap a, .post-more-link { color: var(--ee-magenta); font-weight: 700; text-decoration: none; }
.single-post .entry-hero .entry-title { max-width: 18ch; font-size: clamp(44px, 6vw, 96px); }
.single-post .entry-content { font-size: 19px; }
.single-post .post-thumbnail img, .single-post .article-post-thumbnail img { border-radius: 28px; border: var(--ee-line); }
.post-navigation a { text-decoration: none; }
.post-navigation .post-title { font: 800 24px/1.1 var(--ee-display); letter-spacing: -0.03em; }
.pagination .page-numbers { display: inline-grid; place-items: center; min-width: 48px; height: 48px; border-radius: 50%; border: 2px solid var(--ee-ink); color: var(--ee-ink); background: #fff; text-decoration: none; font-weight: 700; }
.pagination .page-numbers.current { background: var(--ee-ink); color: var(--ee-cream); }

/* ---------- Footer ---------- */
.ee-foot { padding: 80px 0 30px; overflow: hidden; background: var(--ee-ink); color: var(--ee-cream); }
.ee-foot__grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 30px; }
.ee-foot__lead { font: italic 400 30px/1.2 var(--ee-serif); max-width: 16ch; margin: 0; }
.ee-foot__h { font: 700 12px/1 var(--ee-body); letter-spacing: .16em; text-transform: uppercase; color: var(--ee-sun); margin: 0 0 16px; }
.ee-foot__list { list-style: none; margin: 0; padding: 0; }
.ee-foot__list a { display: inline-block; padding: 5px 0; color: var(--ee-cream); opacity: .8; text-decoration: none; transition: opacity .3s, transform .4s var(--ee-bounce), color .3s; }
.ee-foot__list a:hover { opacity: 1; transform: translateX(6px); color: var(--ee-magenta); }
.ee-foot__col--menu { grid-column: span 3; }
.ee-foot__col--menu .ee-foot__list { columns: 3; }
.ee-foot__word { font: 800 clamp(56px, 12.4vw, 220px)/.85 var(--ee-display); letter-spacing: -0.06em; text-align: center; margin: 70px 0 24px; white-space: nowrap; color: var(--ee-cream); }
.ee-foot__word span { display: inline-block; transition: transform .5s var(--ee-bounce), color .3s; }
.ee-foot__word span:hover { transform: translateY(-14%) rotate(-6deg); }
.ee-foot__word span:nth-child(4n+1):hover { color: var(--ee-magenta); } .ee-foot__word span:nth-child(4n+2):hover { color: var(--ee-sun); } .ee-foot__word span:nth-child(4n+3):hover { color: var(--ee-cyan); } .ee-foot__word span:nth-child(4n):hover { color: var(--ee-orange); }
.ee-foot__base { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding-top: 22px; border-top: 1px solid rgba(255, 248, 239, .15); font-size: 13px; opacity: .65; }
.ee-foot__base a { color: var(--ee-cream); }

/* ---------- Paint trail ---------- */
.ee-trail { position: fixed; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 40; mix-blend-mode: multiply; }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
	.ee-nav { display: none; }
	.ee-menu-btn { display: inline-flex; }
	.ee-hdr__tools { margin-left: auto; }
	.ee-prizes, .ee-cards--four { grid-template-columns: 1fr 1fr; }
	.ee-steps--four, .ee-facts__row { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
	:root { --ee-hdr: 84px; }
	.ee-hdr__cta { display: none !important; }
	.ee-hero__grid, .ee-comp__grid, .ee-news__grid, .ee-split, .ee-plans, .ee-quotes, .ee-shop-feature, .woocommerce div.product.ee-single, .woocommerce-account .woocommerce { grid-template-columns: 1fr; }
	.ee-hero::after { background: linear-gradient(180deg, var(--ee-cream) 40%, rgba(255, 248, 239, .4)); }
	.ee-hero__cover { width: min(300px, 72%); margin: 40px auto 60px; }
	.ee-sticker--ring { width: 100px; height: 100px; right: -16%; }
	.ee-sticker--star { width: 76px; height: 76px; left: -14%; }
	.ee-routes, .ee-cards, .ee-stories .wp-block-post-template { grid-template-columns: 1fr; }
	.ee-stories .wp-block-post:nth-child(2), .ee-stories .wp-block-post:nth-child(3) { margin-top: 0; }
	.ee-route { min-height: 0; }
	.ee-services { flex-direction: column; height: auto; }
	.ee-service { flex: none !important; height: 340px; }
	.ee-service > p:not([class*="ee-"]), .ee-service__go { opacity: .9; transform: none; }
	.ee-man__cols { grid-template-columns: 1fr; }
	.ee-foot__grid { grid-template-columns: 1fr 1fr; }
	.ee-foot__lead, .ee-foot__col--menu { grid-column: 1 / -1; }
	.ee-news .mc4wp-form-fields { flex-direction: column; border-radius: 26px; align-items: stretch; }
	body.woocommerce-account .woocommerce .account-navigation-wrap { position: relative; top: 0; }
	.ee-shop-feature__cover { max-width: 300px; }
}
@media (max-width: 600px) {
	.ee-steps--four, .ee-facts__row, .ee-prizes { grid-template-columns: 1fr; }
	.ee-editions { grid-template-columns: 1fr; }
	.ee-foot__col--menu .ee-foot__list { columns: 2; }
	.ee-brand__name { display: none; }
	.woocommerce ul.products, .ee-section ul.products { grid-template-columns: 1fr 1fr; gap: 16px 12px; }
	.woocommerce ul.products li.product.ee-product { padding: 10px; border-radius: 22px; }
	.ee-product__title { font-size: 21px !important; }
	.ee-product__foot { flex-direction: column; align-items: stretch; }
	.ee-product .button { width: 100%; }
	.ee-ticker__row span { gap: 30px; padding-inline: 16px; }
}
@media (max-width: 782px) { .admin-bar .ee-hdr { top: 60px; } }

/* ---------- Reduced motion (only when the site owner chose to follow the visitor's setting) ---------- */
.ee-reduced *, .ee-reduced *::before, .ee-reduced *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
.ee-reduced .ee-reveal, .ee-reduced .ee-hero__lede, .ee-reduced .ee-hero__cta, .ee-reduced .ee-hero .ee-kicker, .ee-reduced .ee-hero__cover { opacity: 1; transform: none; }
.ee-reduced .ee-hero__title .ee-wi, .ee-reduced .ee-words .ee-wi { transform: none; }

/* Without JavaScript, everything is visible. */
html:not(.ee-js) .ee-hero__lede, html:not(.ee-js) .ee-hero__cta, html:not(.ee-js) .ee-hero .ee-kicker, html:not(.ee-js) .ee-hero__cover { opacity: 1; }

/* Editor: show animated pieces in their final state. */
.editor-styles-wrapper .ee-hero__lede, .editor-styles-wrapper .ee-hero__cta, .editor-styles-wrapper .ee-hero .ee-kicker, .editor-styles-wrapper .ee-hero__cover { opacity: 1; animation: none; }
.editor-styles-wrapper .ee-cover > a { position: relative; }
.editor-styles-wrapper { background: var(--ee-cream); color: var(--ee-ink); }
