/*
Theme Name: Leaping Lemur Media
Theme URI: https://leapinglemurmedia.com/
Author: Leaping Lemur Media
Author URI: https://leapinglemurmedia.com/
Description: Brand & growth studio theme for founder-led businesses. A lightweight, Elementor-first theme: header, footer, and all pages are built and fully customized in Elementor Pro. Pairs with the "Leaping Lemur Core" plugin for custom widgets, the Service post type, and one-click demo import.
Version: 1.0.0
Requires at least: 6.4
Tested up to: 6.6
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: leaping-lemur
Tags: portfolio, blog, business, custom-logo, custom-menu, featured-images, full-width-template, threaded-comments, translation-ready, elementor
*/

/*
 * The real visual system lives in /assets/css/style.css (enqueued via functions.php)
 * so it can be split/conditionally loaded. This file only carries the theme header
 * plus a tiny no-JS / loading guard. Customize everything else in Elementor.
 */

/* No-JS guard: reveal animations only hide when JS is present (matches the source site). */
.no-js .reveal { opacity: 1 !important; transform: none !important; }

/* Skip link (accessibility) */
.skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 100000;
	padding: 12px 20px;
	background: #0a4a42;
	color: #fff;
	border-radius: 0 0 6px 0;
	font-family: "Instrument Sans", system-ui, sans-serif;
}
.skip-link:focus { left: 0; }

/* ---------------------------------------------------------------------------
 * Fallback templates (only used until Elementor Pro Theme Builder templates are
 * assigned for single/archive). Keeps the no-Pro experience on-brand.
 * ------------------------------------------------------------------------- */
.ll-single { padding: clamp(32px, 5vw, 72px) 0 clamp(48px, 7vw, 96px); }
.ll-single-head { max-width: 820px; margin: 0 auto; }
.ll-single-head .ll-entry-meta { margin-bottom: 16px; }
.ll-single-cover { max-width: 1040px; margin: 28px auto 0; }
.ll-single-cover img { width: 100%; border-radius: 8px; }
.ll-single-body {
	max-width: 720px;
	margin: clamp(28px, 4vw, 48px) auto 0;
	font-size: 18px;
	line-height: 1.7;
	color: var(--slate, #3b5751);
}
.ll-single-body > * + * { margin-top: 1.2em; }
.ll-single-body h2 { font-family: var(--serif, Georgia); font-size: clamp(26px, 3vw, 34px); line-height: 1.1; color: var(--ink, #0a4a42); margin-top: 1.6em; }
.ll-single-body h3 { font-family: var(--serif, Georgia); font-size: 24px; color: var(--ink, #0a4a42); margin-top: 1.4em; }
.ll-single-body a { color: var(--blue, #0e8e76); text-decoration: underline; text-underline-offset: 3px; }
.ll-single-body img { border-radius: 8px; }
.ll-single-body figcaption { font-size: 13px; color: var(--slate, #3b5751); margin-top: 8px; }
.ll-single-body .wp-block-pullquote { border: 0; padding: 0; margin: 1.6em 0; }
.ll-single-body .wp-block-pullquote blockquote p,
.ll-single-body blockquote p {
	font-family: var(--serif, Georgia);
	font-style: italic;
	font-size: clamp(22px, 2.6vw, 30px);
	line-height: 1.3;
	color: var(--ink, #0a4a42);
}
.ll-single-body .callout {
	background: var(--cream-card, #f2fcfa);
	border: 1px solid var(--line-soft, rgba(10,74,66,.1));
	border-radius: 8px;
	padding: 24px 28px;
}
.ll-single-body .callout h4 { font-family: var(--mono, monospace); text-transform: uppercase; letter-spacing: .1em; font-size: 12px; color: var(--slate, #3b5751); margin-bottom: 10px; }
.ll-single-body ul { list-style: disc; padding-left: 1.2em; }
.ll-single-body li + li { margin-top: .4em; }
.ll-archive-head { max-width: var(--maxw, 1440px); margin: 0 auto; padding: clamp(48px, 6vw, 88px) var(--gutter, 32px) 0; }
.ll-archive-head .section-title { margin-top: 12px; }
.ll-loop-grid { padding: clamp(32px, 4vw, 56px) 0; }
.ll-comments { max-width: 720px; margin: 48px auto 0; }
.ll-comments-title { font-family: var(--serif, Georgia); font-size: 24px; color: var(--ink, #0a4a42); margin-bottom: 16px; }
