/*
 Theme Name:   Kadence Child
 Description:  Custom HTML landing page templates for Kadence
 Template:     kadence
 Version:      1.0
*/

/* =========================================================================
   Audrey Noakes ? Custom Homepage Stylesheet
   Pairs with: homepage-custom.php (Template Name: Custom Homepage Layout)
   Enqueue this file from functions.php, e.g.:
     wp_enqueue_style('hp-custom', get_stylesheet_directory_uri() . '/home-page-custom.css', [], '1.0.0');
   Fonts + icons are loaded below via @import, so no other functions.php
   edits are needed.
   ========================================================================= */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400&family=Bebas+Neue&family=Montserrat:wght@400;500;600&display=swap');
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css');

/* ---------- 1. THEME VARIABLES ---------- */
.homepage-custom {
	--an-cream: #F5F0E6;
	--an-cream-deep: #EFE7D8;
	--an-charcoal: #2B2B28;
	--an-accent: #C8622D;
	--an-accent-hover: #B24F1E;
	--an-gold: #D4A03C;
	--an-gold-soft: #E4C481;

	--text-heading: #2B2B28;
	--text-body: #46443F;
	--text-muted: #8A8579;
	--text-on-dark: #F5F0E6;
	--text-on-dark-muted: rgba(245, 240, 230, 0.7);
	--text-on-accent: #F5F0E6;

	--border-subtle: rgba(43, 43, 40, 0.12);
	--shadow-card: 0 12px 30px rgba(43, 43, 40, 0.08);
	--shadow-sm: 0 6px 18px rgba(43, 43, 40, 0.07);

	--radius-sm: 2px;
	--radius-lg: 8px;
	--radius-pill: 999px;

	--font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
	--font-label: 'Bebas Neue', sans-serif;
	--font-body: 'Montserrat', -apple-system, sans-serif;

	--ls-display: -0.01em;
	--ls-label: 0.16em;
	--ls-button: 0.04em;
	--lh-body: 1.7;

	--dur-fast: 180ms;
	--dur-slow: 340ms;
	--ease-soft: cubic-bezier(0.4, 0, 0.2, 1);

	font-family: var(--font-body);
	color: var(--text-body);
	background: var(--an-cream);
	overflow-x: hidden;
}

.homepage-custom * { box-sizing: border-box; }
.homepage-custom h1,
.homepage-custom h2,
.homepage-custom h3 { font-family: var(--font-display) !important; font-weight: 400; margin: 0; }
.homepage-custom p { margin: 0; }
.homepage-custom a { text-decoration: none; color: inherit; }
.homepage-custom ul { margin: 0; padding: 0; list-style: none; }

/* ---------- 2. SHARED LAYOUT + TYPE HELPERS ---------- */
.hp-section { padding: clamp(60px, 10vw, 120px) clamp(20px, 5vw, 40px); }
.hp-container { max-width: 1240px; margin: 0 auto; }
.hp-container--narrow { max-width: 900px; }
.hp-container--wide { max-width: 1400px; }
.hp-center { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 10px; }

.hp-eyebrow,
.homepage-custom h1.hp-eyebrow,
.homepage-custom h2.hp-eyebrow,
.homepage-custom h3.hp-eyebrow {
	font-family: var(--font-label) !important;
	text-transform: uppercase;
	letter-spacing: var(--ls-label);
	font-size: clamp(13px, 1.4vw, 18px);
	margin: 0 0 8px;
}
.hp-eyebrow--gold { color: var(--an-gold); }
.hp-eyebrow--cream { color: var(--an-gold-soft); }
.hp-eyebrow--orange { color: var(--an-accent); }
.hp-eyebrow--as-h2 { font-weight: 400; font-size: clamp(1.1rem, 2.2vw, 1.4rem); }

.hp-h2 { font-size: clamp(1.8rem, 6vw, 3.75rem); color: var(--text-heading); }

.homepage-custom h2.hp-condensed-h2 {
	font-family: var(--font-label) !important;
	text-transform: uppercase;
	letter-spacing: -0.01em;
	line-height: 0.9;
	font-size: clamp(2.2rem, 8vw, 5.25rem);
	max-width: 22ch;
	margin: 0 auto;
	color: var(--an-cream);
}

.hp-italic-lead {
	font-family: var(--font-display);
	font-style: italic;
	font-weight: 400;
	font-size: 1.25rem;
	color: var(--text-body);
}

.hp-label-line {
	margin-top: 8px;
	font-family: var(--font-label) !important;
	text-transform: uppercase;
	letter-spacing: var(--ls-label);
	font-size: clamp(1rem, 3vw, 1.3rem);
	color: var(--text-heading);
}

/* Buttons */
.hp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-family: var(--font-body) !important;
	font-weight: 700 !important;
	letter-spacing: var(--ls-button);
	text-transform: uppercase;
	font-size: 14px;
	padding: 17px 34px;
	border-radius: var(--radius-sm);
	transition: background var(--dur-fast) var(--ease-soft), color var(--dur-fast) var(--ease-soft);
}
.hp-btn--primary,
.homepage-custom a.hp-btn--primary { background: var(--an-accent); color: var(--text-on-accent) !important; }
.hp-btn--primary:hover { background: var(--an-accent-hover); }
.hp-btn--cream,
.homepage-custom a.hp-btn--cream { background: var(--an-cream); color: var(--text-heading) !important; }
.hp-btn--cream:hover { background: var(--an-gold-soft); }
.hp-btn--sm { padding: 12px 26px; font-size: 12.5px; }
.hp-btn--lg { padding: 19px 40px; font-size: 15px; }

/* Feature checklist */
.hp-feature-list {
	margin-top: 10px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	text-align: left;
	width: 100%;
	max-width: 640px;
}
.hp-feature-item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	font-size: 1rem;
	line-height: var(--lh-body);
	color: var(--text-body);
	padding: 6px 0;
}
.hp-feature-tick {
	flex: none;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--an-accent);
	color: var(--text-on-accent);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.7rem;
	margin-top: 2px;
}

/* ---------- 3. HERO ---------- */
.hp-hero {
	position: relative;
	min-height: clamp(480px, 90vw, 660px);
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	overflow: hidden;
}
.hp-hero__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.hp-hero__scrim {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(62% 60% at 50% 50%, rgba(43, 43, 40, 0.66) 0%, rgba(43, 43, 40, 0.30) 60%, rgba(43, 43, 40, 0) 100%),
		linear-gradient(180deg, rgba(43, 43, 40, 0.10) 0%, rgba(43, 43, 40, 0.02) 30%, rgba(168, 78, 32, 0.28) 100%);
}
.hp-hero__content {
	position: relative;
	max-width: 680px;
	padding: 0 24px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 22px;
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.45);
}
.hp-hero__title {
	color: var(--an-cream);
	font-size: clamp(2.1rem, 7vw, 5.25rem);
	line-height: 0.98;
	letter-spacing: var(--ls-display);
}
.hp-hero__sub {
	color: var(--an-cream);
	font-size: clamp(1rem, 3vw, 1.25rem);
	line-height: 1.45;
	max-width: 40ch;
}

/* ---------- 4. RIGHT PLACE IF ---------- */
.hp-right-place { background: var(--an-cream); }

/* ---------- 5. LET'S MAKE THE DIGITAL SIDE SIMPLER (dark) ---------- */
.hp-simplify { background: var(--an-charcoal); color: var(--text-on-dark); }
.hp-simplify__intro { margin-bottom: 60px; gap: 16px; }
.hp-simplify__lede { color: var(--text-on-dark-muted); font-size: 1.1rem; max-width: 52ch; margin: 0 auto; }

.hp-offer-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 40px;
}
.hp-offer-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 16px;
}
.hp-offer-card__icon {
	width: 100px;
	height: 100px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.hp-offer-card__icon img { width: 100%; height: 100%; object-fit: contain; filter: none !important; mix-blend-mode: normal !important; }
.hp-offer-card__title { color: var(--an-cream); font-size: 1.4rem; }
.hp-offer-card__copy { color: var(--text-on-dark-muted); font-size: 0.95rem; line-height: var(--lh-body); }

/* ---------- 6. STAT + SOCIAL ---------- */
.hp-stats { background: var(--an-cream-deep); }
.hp-stats__row { display: flex; gap: 64px; align-items: center; flex-wrap: wrap; }
.hp-stats__number { font-family: var(--font-display); font-size: clamp(2.5rem, 9vw, 5.25rem); color: var(--text-heading); flex: none; }
.hp-stats__body { flex: 1; min-width: 280px; display: flex; flex-direction: column; gap: 20px; }
.hp-stats__copy { margin-top: 10px; font-size: 1.15rem; line-height: var(--lh-body); color: var(--text-heading); }
.hp-social-list { display: flex; gap: 14px; }
.hp-social-icon,
.homepage-custom a.hp-social-icon {
	width: 44px;
	height: 44px;
	border-radius: var(--radius-sm);
	background: var(--an-accent);
	color: var(--text-on-accent) !important;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.1rem;
	transition: background var(--dur-fast) var(--ease-soft);
}
.hp-social-icon:hover { background: var(--an-accent-hover); }

/* ---------- 7. TESTIMONIALS ---------- */
.hp-testimonials { overflow: hidden; padding-bottom: clamp(50px, 8vw, 100px); }
.hp-testimonials__intro { margin-bottom: 18px; }

.hp-testimonial-track-wrap {
	overflow: hidden;
	margin-top: 36px;
	max-width: 1068px;
	margin-left: auto;
	margin-right: auto;
}

.hp-testimonial-track {
	display: flex;
	gap: 24px;
	overflow-x: auto;
	scroll-snap-type: x mandatory; /* Forces the browser to snap */
	scroll-behavior: smooth;
	padding-bottom: 4px;
	-webkit-overflow-scrolling: touch;
	/* This ensures snapping aligns to the left edge of the container */
	scroll-padding-left: 0px; 
}

.hp-testimonial-track::-webkit-scrollbar { display: none; }

.hp-testimonial-card {
	scroll-snap-align: start; /* Locks the start of the card to the container */
	/* Forces the browser to stop at EVERY slide rather than skipping */
	scroll-snap-stop: always; 
	
	/* Mobile: Exactly 1 tile wide */
	flex: 0 0 100%; 
	
	min-height: 320px;
	background: #FBF7EF;
	border: 1px solid var(--border-subtle);
	border-radius: var(--radius-sm);
	box-shadow: var(--shadow-sm);
	padding: 28px 26px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

/* Desktop: 3 tiles */
@media (min-width: 1024px) {
	.hp-testimonial-card {
		/* 33.333% minus the gap (24px) shared between 3 items */
		flex: 0 0 calc(33.333% - 16px);
	}
}

.hp-testimonial-card__quote { font-size: 0.94rem; color: var(--text-body); line-height: 1.28; margin-bottom: 10px; }
.hp-testimonial-card__stars { color: var(--an-gold); font-size: 0.9rem; letter-spacing: 3px; margin-bottom: 16px; }
.hp-testimonial-card__name { font-family: var(--font-body); font-weight: 600; font-size: 0.9rem; color: var(--text-heading); }
.hp-testimonial-card__role { font-size: 0.78rem; color: var(--text-muted); font-family: var(--font-label) !important; letter-spacing: var(--ls-label); margin-top: 2px; }

.hp-carousel-controls { display: flex; justify-content: center; gap: 10px; margin-top: 32px; }
.hp-carousel-btn {
	width: 44px;
	height: 44px;
	border: 1.5px solid var(--text-heading);
	border-radius: var(--radius-pill);
	font-size: 18px;
	color: var(--text-heading);
	background: none;
	cursor: pointer;
	font-family: inherit;
	transition: background var(--dur-fast) var(--ease-soft), color var(--dur-fast) var(--ease-soft);
}
.hp-carousel-btn:hover { background: var(--an-charcoal); color: var(--an-cream); }

/* ---------- 8. ABOUT ---------- */
.hp-about { background: var(--an-cream-deep); }
.hp-about__row {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 48px;
	align-items: center;
}
.hp-about__text { flex: 1 1 360px; min-width: 0; display: flex; flex-direction: column; gap: 18px; }
.hp-about__pullquote {
	font-family: var(--font-display);
	font-style: italic;
	font-size: clamp(1.35rem, 4vw, 1.75rem);
	line-height: 1.35;
	color: var(--text-heading);
}
.hp-about__para { font-size: 1.06rem; line-height: var(--lh-body); color: var(--text-body); max-width: 50ch; }
.hp-about__signature { height: 60px; width: auto; max-width: 100%; margin-top: 8px; aspect-ratio: auto; align-self: flex-start; flex: none; }
.hp-about__photo {
	flex: none;
	width: 240px;
	aspect-ratio: 1 / 1;
	border-radius: var(--radius-lg);
	overflow: hidden;
	box-shadow: var(--shadow-card);
}
.hp-about__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ---------- 9. FAQ ---------- */
.hp-faq__intro { margin-bottom: 50px; }
.hp-faq-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
	gap: 0 48px;
	max-width: 1000px;
	margin: 0 auto;
}
.hp-faq-item { border-bottom: 1px solid var(--border-subtle); }
.hp-faq-details summary { list-style: none; }
.hp-faq-details summary::-webkit-details-marker { display: none; }
.hp-faq-summary {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding: 24px 0;
	cursor: pointer;
}
.hp-faq-question,
.homepage-custom h3.hp-faq-question {
	font-family: var(--font-label) !important;
	text-transform: uppercase;
	letter-spacing: -0.005em;
	font-size: 1.2rem;
	color: var(--text-heading);
	font-weight: 400;
}
.hp-faq-icon { font-family: var(--font-body); font-size: 1.4rem; color: var(--an-accent); flex: none; position: relative; width: 1em; text-align: center; }
.hp-faq-icon::before { content: '+'; }
.hp-faq-details[open] .hp-faq-icon::before { content: '\2013'; }
.hp-faq-answer-wrap { overflow: hidden; }
.hp-faq-answer { padding: 0 0 24px; }
.hp-faq-answer p { font-size: 0.875rem; line-height: 1.5; color: var(--text-body); max-width: 58ch; }

/* ---------- 10. FINAL CTA ---------- */
#final-cta.hp-final-cta {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
}
.hp-final-cta__text {
	min-width: 0;
	background: var(--an-cream-deep);
	color: var(--text-body);
	padding: clamp(56px, 10vw, 100px) clamp(24px, 6vw, 64px) clamp(56px, 10vw, 100px) clamp(28px, 7vw, 120px);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 18px;
}
.hp-final-cta__heading { display: flex; flex-direction: column; }
.hp-final-cta__heading-serif {
	font-family: var(--font-display);
	font-weight: 400;
	font-size: clamp(1.7rem, 5vw, 2.4rem);
	letter-spacing: var(--ls-display);
	color: var(--text-heading);
	line-height: 1.15;
}
.hp-final-cta__heading-condensed {
	font-family: var(--font-label) !important;
	text-transform: uppercase;
	font-size: clamp(1.9rem, 7vw, 3.4rem);
	line-height: 0.95;
	letter-spacing: -0.01em;
	color: var(--an-accent);
	margin-top: 10px;
}
.hp-final-cta__text .hp-btn { width: fit-content; align-self: flex-start; flex: none; }
.hp-final-cta__media { min-width: 0; min-height: 360px; background: var(--an-cream-deep); }
.hp-final-cta__media img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ---------- 11. RESPONSIVE ADJUSTMENTS ---------- */
@media (max-width: 700px) {
	.hp-stats__row { gap: 32px; }
	.hp-about__photo { width: 200px; }
}


/* ============================================================
   TOKENS ? namespaced to avoid colliding with Kadence's own
   custom properties. Values sourced from the Audrey Noakes
   design system (colors.css / typography.css / spacing.css).
   ============================================================ */
:root {
	--an-cream:              #F5F0E6;
	--an-charcoal:           #2B2B28;
	--an-orange:             #C8622D;
	--an-orange-deep:        #A84E20;
	--an-gold:               #D4A03C;
	--an-cream-line:         #E2D8C4;
	--an-charcoal-80:        #4A4A45;
	--an-charcoal-60:        #6E6E66;
	--an-text-on-dark-muted: #C9C3B5;
	--an-text-on-accent:     #FFF8EF;

	--an-font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
	--an-font-body:    'Montserrat', system-ui, -apple-system, sans-serif;

	--an-radius-sm:  2px;
	--an-ease-soft:  cubic-bezier(0.4, 0, 0.2, 1);
	--an-dur-fast:   160ms;
}

/* ==========================================================================
   SITE HEADER ? top utility bar + main nav + mobile menu overlay
   Pair with header.php. 
   ========================================================================== */

.an-header { width: 100%; overflow-x: hidden; color: var(--text-body); }
.an-header a { text-decoration: none; color: inherit; }
.an-header button { font-family: inherit; background: none; border: none; cursor: pointer; }

/* Top bar */
.an-header__topbar {
  background: var(--an-charcoal);
  padding: 0 clamp(20px, 5vw, 40px);
}
.an-header__topbar-inner {
  max-width: 1240px;
  margin: 0 auto;
  height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.an-header__social { display: flex; gap: 18px; align-items: center; }
.an-header__social-link {
  font-size: 1rem;
  color: #F5F0E6 !important; /* Lighter text color */
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 160ms ease;
}
.an-header__social-link:hover { color: var(--an-gold) !important; } /* Gold hover */

.an-header__utility { display: flex; align-items: center; gap: 20px; }
.an-header__utility-link {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-body);
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #F5F0E6 !important; /* Lighter text color */
  white-space: nowrap;
  transition: color 160ms ease;
}
.an-header__utility-link:hover { color: var(--an-gold) !important; } /* Gold hover */
.an-header__utility-link i { font-size: 11px; }

/* Main nav */
.an-header__nav {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(245, 240, 230, .94);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--border-subtle);
}
.an-header__nav-inner {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 clamp(20px, 5vw, 40px);
  height: 88px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.an-header__links { display: flex; align-items: center; gap: 28px; flex: 1; }
.an-header__links--right { gap: 26px; justify-content: flex-end; flex-wrap: nowrap; }
.an-header__nav-link {
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--text-heading);
  white-space: nowrap;
  transition: color 160ms ease;
}
.an-header__nav-link:hover { color: var(--accent); }

.an-header__logo { flex: none; display: flex; }
.an-header__logo img { height: 52px; }

.an-header a.an-header__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 0.8125rem;
  letter-spacing: var(--ls-button);
  text-transform: uppercase;
  color: var(--text-on-accent);
  background: var(--accent);
  border-radius: var(--radius-sm);
  padding: 12px 22px;
  transition: background-color 160ms ease;
}
.an-header a.an-header__cta:hover { background: var(--accent-hover); color: var(--text-on-accent); }
.an-header__cta--block { width: 100%; justify-content: center; padding: 18px 22px; font-size: 0.95rem; }

.an-header__hamburger {
  display: none;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  color: var(--text-heading);
  font-size: 22px;
}

/* Mobile menu overlay */
.an-header__mobile-menu {
  position: fixed;
  inset: 0;
  z-index: 60;
  background: var(--an-cream);
  display: none;
  flex-direction: column;
  padding: 24px 32px 40px;
}
.an-header__mobile-menu.is-open { display: flex; }

.an-header__mobile-menu-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 64px;
}
.an-header__mobile-logo { height: 30px; }
.an-header__mobile-close {
  width: auto;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-heading);
  font-size: 24px;
}

.an-header__mobile-links {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 24px;
}
.an-header__mobile-link {
  padding: 18px 4px;
  border-bottom: 1px solid var(--border-subtle);
  font-family: var(--font-display);
  font-size: 1.4rem;
  color: var(--text-heading);
}
.an-header__mobile-utility {
  padding: 18px 4px;
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.an-header__mobile-bottom {
  margin-top: auto;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.an-header__mobile-social {
  display: flex;
  gap: 24px;
  justify-content: center;
}
.an-header__mobile-social a {
  font-size: 1.3rem;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-heading);
}

/* Responsive adjustments */
@media (max-width: 699px) {
  .an-header__topbar { display: none; } /* Hide top bar on mobile */
  .an-header__links { display: none; }
  .an-header__hamburger { display: flex; flex: 1; justify-content: flex-end; }
}

/* ============================================================
   AUDREY NOAKES ? CUSTOM FOOTER
   Scoped entirely under .an-site-footer so nothing leaks into,
   or gets overridden by, Kadence's global/footer styles.
   ============================================================ */

.an-site-footer {
	/* Brand tokens safely localized inside the class */
	--an-cream: #F5F0E6;
	--an-charcoal: #2B2B28;
	--an-orange: #C8622D;
	--an-orange-deep: #A84E20;
	--an-gold: #D4A03C;
	--text-on-dark-muted: #C9C3B5;
	--border-on-dark: rgba(245, 240, 230, 0.18);

	--font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
	--font-body: 'Montserrat', system-ui, -apple-system, sans-serif;
	--font-label: 'Bebas Neue', 'Montserrat', Impact, sans-serif;

	--ls-label: 0.16em;
	--ls-button: 0.08em;

	background: var(--an-charcoal) !important;
	color: var(--text-on-dark-muted) !important;
	padding: clamp(48px, 8vw, 64px) clamp(20px, 5vw, 40px) 32px !important;
	font-family: var(--font-body) !important;
	width: 100% !important;
	box-sizing: border-box !important;
}

.an-site-footer * {
	box-sizing: border-box !important;
}

.an-site-footer .an-footer__inner {
	max-width: 1240px !important;
	margin: 0 auto !important;
}

/* --- Grid --- */
.an-site-footer .an-footer__grid {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
	gap: 32px !important;
}

.an-site-footer .an-footer__nav-group {
	display: contents !important;
}

.an-site-footer .an-footer__col {
	display: flex !important;
	flex-direction: column !important;
	gap: 12px !important;
}

.an-site-footer .an-footer__col--brand {
	max-width: 30ch !important;
	gap: 14px !important;
}

.an-site-footer .an-footer__col--contact {
	gap: 14px !important;
}

/* --- Brand block --- */
.an-site-footer .an-footer__logo {
	height: 28px !important;
	width: auto !important;
	max-width: 100% !important;
	object-fit: contain !important;
	align-self: flex-start !important;
}

.an-site-footer .an-footer__tagline,
.an-site-footer .an-footer__note {
	font-size: 0.92rem !important;
	line-height: 1.6 !important;
	margin: 0 !important;
	color: var(--text-on-dark-muted) !important;
}

.an-site-footer .an-footer__note {
	font-size: 0.86rem !important;
	margin-top: 4px !important;
}

/* --- Socials --- */
.an-site-footer .an-footer__social {
	display: flex !important;
	gap: 14px !important;
	margin-top: 6px !important;
}

.an-site-footer .an-footer__social-link {
	width: 36px !important;
	height: 36px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: var(--text-on-dark-muted) !important;
	text-decoration: none !important;
	transition: color 260ms ease !important;
}

.an-site-footer .an-footer__social-link:hover {
	color: var(--an-gold) !important;
}

/* --- Headings + links --- */
.an-site-footer .an-footer__heading {
	font-family: var(--font-label) !important;
	font-size: 0.8rem !important;
	letter-spacing: var(--ls-label) !important;
	text-transform: uppercase !important;
	color: var(--an-gold) !important;
}

.an-site-footer .an-footer__link {
	font-size: 0.86rem !important;
	color: var(--text-on-dark-muted) !important;
	text-decoration: none !important;
	transition: color 260ms ease !important;
}

.an-site-footer .an-footer__link:hover {
	color: var(--an-cream) !important;
}

/* --- Sign-up button (primary brand button, on dark) --- */
.an-site-footer .an-footer__btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: var(--an-orange) !important;
	color: var(--an-cream) !important;
	font-family: var(--font-body) !important;
	font-weight: 600 !important;
	font-size: 0.86rem !important;
	letter-spacing: var(--ls-button) !important;
	border: none !important;
	border-radius: 2px !important;
	padding: 12px 22px !important;
	height: 44px !important;
	width: fit-content !important;
	cursor: pointer !important;
	transition: background 260ms ease !important;
}

.an-site-footer .an-footer__btn:hover {
	background: var(--an-orange-deep) !important;
}

.an-site-footer .an-footer__btn:focus-visible {
	outline: 2px solid var(--an-gold) !important;
	outline-offset: 2px !important;
}

/* --- Bottom bar --- */
.an-site-footer .an-footer__bottom {
	margin-top: 48px !important;
	padding-top: 22px !important;
	border-top: 1px solid var(--border-on-dark) !important;
	font-size: 0.78rem !important;
	display: flex !important;
	justify-content: space-between !important;
	flex-wrap: wrap !important;
	gap: 16px !important;
	color: var(--text-on-dark-muted) !important;
}

/* --- Small screens --- */
@media (max-width: 640px) {
	.an-site-footer .an-footer__bottom {
		flex-direction: column !important;
		gap: 12px !important;
	}
}

/* ==========================================================================
   COURSES LANDING PAGE ? styles
   Append to style.css (or enqueue as a separate stylesheet).
   Uses existing Audrey Noakes design tokens where available; falls back
   to the values below if those custom properties aren't already defined
   globally (e.g. when this page is tested standalone).
   ========================================================================== */

:root {
  --an-cream:        #F5F0E6;
  --an-charcoal:     #2B2B28;
  --an-orange:       #C8622D;
  --an-gold:         #D4A03C;
  --an-paper:        #FBF7EF;
  --an-cream-deep:   #ECE3D1;
  --an-cream-line:   #E2D8C4;
  --an-charcoal-80:  #4A4A45;
  --an-charcoal-60:  #6E6E66;
  --an-orange-deep:  #A84E20;

  --surface-page:    var(--an-paper);
  --surface-card:    var(--an-cream);
  --surface-alt:     var(--an-cream-deep);
  --text-heading:    var(--an-charcoal);
  --text-body:       var(--an-charcoal-80);
  --text-muted:      var(--an-charcoal-60);
  --text-on-accent:  #FFF8EF;
  --accent:          var(--an-orange);
  --accent-hover:    var(--an-orange-deep);
  --border-subtle:   var(--an-cream-line);

  --font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-body:    'Montserrat', system-ui, -apple-system, sans-serif;
  --font-label:   'Bebas Neue', 'Montserrat', Impact, sans-serif;

  --display-xl: 5.25rem;
  --display-lg: 3.75rem;
  --display-sm: 2rem;
  --text-lg:    1.125rem;
  --text-base:  1rem;

  --weight-display: 400;
  --lh-display: 1.06;
  --lh-snug:    1.25;
  --lh-body:    1.7;
  --ls-display: -0.012em;
  --ls-button:  0.08em;

  --space-3:  12px;
  --space-5:  24px;
  --space-7:  48px;
  --space-9:  96px;
  --space-10: 128px;
  --gutter:      24px;
  --content-max: 1200px;

  --radius-sm:   2px;
  --radius-lg:   8px;
  --radius-pill: 999px;
  --shadow-card: 0 12px 40px rgba(43,43,40,0.10);
}

/* --------------------------------------------------------------------- */
/* Page wrapper                                                          */
/* --------------------------------------------------------------------- */
.courses-page {
  background: var(--surface-page);
  min-height: 100vh;
}

/* --------------------------------------------------------------------- */
/* Hero                                                                   */
/* --------------------------------------------------------------------- */
.courses-hero {
  padding: var(--space-10) var(--gutter) var(--space-9);
  max-width: var(--content-max);
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
}

.courses-hero__eyebrow {
  font-family: var(--font-label);
  letter-spacing: 0.16em;
  font-size: 0.875rem;
  text-transform: uppercase;
  color: var(--an-gold);
  margin: 0;
}

.courses-hero__heading {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: var(--display-xl);
  line-height: var(--lh-display);
  letter-spacing: var(--ls-display);
  color: var(--text-heading);
  max-width: 16ch;
  margin: 0;
}

.courses-hero__subhead {
  font-family: var(--font-body);
  font-size: var(--text-lg);
  line-height: var(--lh-body);
  color: var(--text-body);
  max-width: 58ch;
  margin: 0;
}

/* --------------------------------------------------------------------- */
/* Course grid                                                            */
/* --------------------------------------------------------------------- */
.courses-grid {
  padding: 0 var(--gutter) var(--space-10);
  max-width: var(--content-max);
  margin: 0 auto;
}

.courses-grid__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--space-7);
  align-items: stretch;
}

/* --------------------------------------------------------------------- */
/* Course card                                                            */
/* --------------------------------------------------------------------- */
.courses-card {
  display: flex;
  flex-direction: column;
  background: var(--surface-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  overflow: hidden;
}

.courses-card__media {
  width: 100%;
  aspect-ratio: 16 / 10;
  background: var(--surface-alt);
  overflow: hidden;
}

.courses-card__media--placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid var(--border-subtle);
}

.courses-card__placeholder-label {
  font-family: var(--font-label);
  letter-spacing: 0.16em;
  color: var(--text-muted);
  font-size: 0.875rem;
  text-transform: uppercase;
}

.courses-card__image {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.courses-card__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
  padding: var(--space-7);
}

.courses-card__title {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: var(--display-sm);
  line-height: var(--lh-snug);
  letter-spacing: var(--ls-display);
  color: var(--text-heading);
  margin: 0;
}

.courses-card__desc {
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: var(--lh-body);
  color: var(--text-body);
  margin: 0;
}

.courses-card__desc p + p {
  margin-top: var(--space-5);
}

.courses-card__cta-wrap {
  margin-top: var(--space-3);
}

/* --------------------------------------------------------------------- */
/* CTA button                                                             */
/* --------------------------------------------------------------------- */
.courses-cta {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  font-family: var(--font-body);
  font-weight: 600;
  font-size: var(--text-base);
  letter-spacing: var(--ls-button);
  text-transform: uppercase;
  text-decoration: none;
  color: var(--text-on-accent);
  background: var(--accent);
  border: none;
  border-radius: var(--radius-sm);
  padding: 16px 32px;
  cursor: pointer;
  transition: background-color 160ms ease;
}

.courses-cta:hover,
.courses-cta:focus-visible {
  background: var(--accent-hover);
  color: var(--text-on-accent);
}

.courses-cta:focus-visible {
  outline: 2px solid var(--an-charcoal);
  outline-offset: 2px;
}

.courses-cta__arrow {
  display: inline-block;
}

/* --------------------------------------------------------------------- */
/* Bundle section                                                        */
/* --------------------------------------------------------------------- */
.courses-bundle {
  background: var(--an-forest, #2F4538);
  padding: var(--space-9) var(--gutter);
  text-align: center;
}

.courses-bundle__inner {
  max-width: 720px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
}

.courses-bundle__eyebrow {
  font-family: var(--font-label);
  letter-spacing: 0.16em;
  font-size: 0.875rem;
  text-transform: uppercase;
  color: var(--an-gold);
  margin: 0;
}

.courses-bundle__heading {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: var(--display-lg);
  line-height: var(--lh-display);
  letter-spacing: var(--ls-display);
  color: var(--surface-page);
  max-width: 18ch;
  margin: 0;
}

.courses-bundle__desc {
  font-family: var(--font-body);
  font-size: var(--text-lg);
  line-height: var(--lh-body);
  color: var(--surface-page);
  opacity: 0.85;
  max-width: 52ch;
  margin: 0;
}

.courses-bundle__cta-wrap {
  margin-top: var(--space-3);
}

/* --------------------------------------------------------------------- */
/* Responsive                                                            */
/* --------------------------------------------------------------------- */
@media (max-width: 900px) {
  .courses-grid__inner {
    grid-template-columns: 1fr;
  }

  .courses-hero__heading {
    font-size: var(--display-lg);
  }
}

@media (max-width: 480px) {
  .courses-card__body {
    padding: var(--space-5);
  }

  .courses-hero {
    padding: var(--space-9) var(--gutter) var(--space-7);
  }
}

/* ==========================================================================
   ABOUT PAGE ? hero, audience blocks, bio, directory, final CTA,
   Instagram feed slot, mini FAQ. Pair with template-about.php.
   ========================================================================== */

.about-page { background: var(--surface-page); min-height: 100vh; }

.about-eyebrow {
  font-family: var(--font-label);
  letter-spacing: 0.16em;
  font-size: 0.875rem;
  text-transform: uppercase;
  margin: 0;
}
.about-eyebrow--orange { color: var(--accent); }
.about-eyebrow--gold { color: var(--an-gold); }

/* Hero */
.about-hero {
  padding: var(--space-10) var(--gutter) var(--space-9);
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5);
}
.about-hero__heading {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: var(--display-xl);
  line-height: var(--lh-display);
  letter-spacing: var(--ls-display);
  color: var(--text-heading);
  max-width: 18ch;
  margin: 0;
}
.about-hero__subhead {
  font-family: var(--font-body);
  font-size: var(--text-lg);
  line-height: var(--lh-body);
  color: var(--text-body);
  max-width: 60ch;
  margin: 0;
}

/* Who this is for */
.about-audience {
  padding: 0 var(--gutter) var(--space-9);
  max-width: var(--content-max);
  margin: 0 auto;
}
.about-audience__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-6, 32px);
}
.about-audience__card {
  background: var(--surface-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  padding: var(--space-7);
  display: flex;
  flex-direction: column;
  gap: var(--space-5, 24px);
}
.about-audience__title {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: var(--display-sm);
  color: var(--text-heading);
  margin: 0;
}
.about-audience__desc {
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: var(--lh-body);
  color: var(--text-body);
  margin: 0;
}

/* Short bio */
.about-bio {
  background: var(--surface-alt);
  padding: var(--space-9) var(--gutter);
}
.about-bio__row {
  max-width: var(--content-max);
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--space-7);
}
.about-bio__photo {
  width: 220px;
  height: 220px;
  border-radius: 50%;
  object-fit: cover;
  flex: none;
  box-shadow: var(--shadow-card);
}
.about-bio__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-5, 24px);
  max-width: 640px;
}
.about-bio__body {
  font-family: var(--font-body);
  font-size: var(--text-lg);
  line-height: var(--lh-body);
  color: var(--text-body);
  margin: 0;
}
.about-bio__signature { height: 68px; width: 144px; align-self: flex-start; }
.about-bio__credentials {
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--an-gold);
  line-height: 1.6;
  margin: var(--space-3) 0 0;
  max-width: 40ch;
}
.about-bio__credentials-detail {
  font-weight: 400;
  font-size: 0.75rem;
  text-transform: none;
}

/* Where to find everything */
.about-directory {
  padding: var(--space-10) var(--gutter);
  max-width: var(--content-max);
  margin: 0 auto;
}
.about-directory__header {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5, 24px);
  margin-bottom: var(--space-8, 64px);
}
.about-directory__heading {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: var(--display-lg);
  line-height: var(--lh-display);
  color: var(--text-heading);
  max-width: 20ch;
  margin: 0;
}
.about-directory__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-6, 32px);
}
.about-directory__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-5, 24px);
  background: var(--surface-card);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  padding: var(--space-6, 32px);
  text-decoration: none;
  cursor: pointer;
  transition: transform 220ms ease, box-shadow 220ms ease;
}
.about-directory__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 48px rgba(43,43,40,0.14);
}
.about-directory__icon {
  width: 26px;
  height: 26px;
  color: var(--accent);
  stroke-width: 1.75;
}
.about-directory__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
}
.about-directory__title {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: 1.25rem;
  color: var(--text-heading);
  margin: 0;
}
.about-directory__desc {
  font-family: var(--font-body);
  font-size: 0.875rem;
  line-height: var(--lh-body);
  color: var(--text-body);
  margin: 0;
}
.about-directory__link {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 0.875rem;
  color: var(--accent);
  margin-top: auto;
}

.about-directory__courses {
  margin-top: var(--space-6, 32px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-6, 32px);
  background: var(--an-charcoal);
  border-radius: var(--radius-lg);
  padding: var(--space-7) var(--space-8, 64px);
  text-decoration: none;
  transition: transform 220ms ease;
}
.about-directory__courses:hover { transform: translateY(-4px); }
.about-directory__courses-main {
  display: flex;
  align-items: center;
  gap: var(--space-6, 32px);
}
.about-directory__courses-icon {
  width: 34px;
  height: 34px;
  color: var(--an-gold);
  stroke-width: 1.5;
  flex: none;
}
.about-directory__courses-title {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: var(--display-sm);
  color: var(--an-cream);
  margin: 0;
}
.about-directory__courses-desc {
  font-family: var(--font-body);
  font-size: var(--text-base);
  line-height: var(--lh-body);
  color: var(--text-on-dark-muted);
  margin: 0;
}
.about-directory__courses-link {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: var(--text-base);
  color: var(--an-gold);
  white-space: nowrap;
}

/* Final CTA */
.about-final-cta {
  background: var(--an-forest, #2F4538);
  padding: var(--space-9) var(--gutter);
  text-align: center;
}
.about-final-cta__inner {
  max-width: 640px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5, 24px);
}
.about-final-cta__heading {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: var(--display-lg);
  line-height: var(--lh-display);
  color: var(--surface-page);
  margin: 0;
}
.about-final-cta__desc {
  font-family: var(--font-body);
  font-size: var(--text-lg);
  line-height: var(--lh-body);
  color: var(--surface-page);
  opacity: 0.85;
  margin: 0;
}

/* Instagram feed */
.about-instagram {
  padding: var(--space-6, 32px) var(--gutter) var(--space-6, 32px);
  max-width: var(--content-max);
  margin: 0 auto;
}
.about-instagram__header {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5, 24px);
  margin-bottom: var(--space-7);
}
.about-instagram__handle {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: var(--display-sm);
  line-height: var(--lh-display);
  color: var(--text-heading);
  text-decoration: none;
}
.about-instagram__follow {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: var(--text-base);
  color: var(--accent);
  text-decoration: none;
}
.about-instagram__widget {
  min-height: 40px;
}

/* Mini FAQ */
.about-faq {
  background: var(--surface-alt);
  padding: var(--space-8, 64px) var(--gutter) var(--space-10);
}
.about-faq__inner { max-width: 900px; margin: 0 auto; }
.about-faq__header {
  text-align: center;
  margin-bottom: var(--space-7);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-5, 24px);
}
.about-faq__heading {
  font-family: var(--font-display);
  font-weight: var(--weight-display);
  font-size: var(--display-lg);
  line-height: var(--lh-display);
  color: var(--text-heading);
  margin: 0;
}
.about-faq__item { border-bottom: 1px solid var(--border-subtle); }
.about-faq__question {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: var(--space-5, 24px);
  padding: var(--space-5, 24px) 0;
  text-align: left;
  font-family: var(--font-label);
  text-transform: uppercase;
  letter-spacing: 0.01em;
  font-size: 1.1rem;
  color: var(--text-heading);
  background: none;
  border: none;
  cursor: pointer;
}
.about-faq__icon {
  font-family: var(--font-body);
  font-size: 1.3rem;
  color: var(--accent);
  flex: none;
}
.about-faq__answer-wrap {
  max-height: 0px;
  overflow: hidden;
  transition: max-height 320ms ease;
}
.about-faq__answer {
  padding: 0 0 var(--space-5, 24px);
  font-family: var(--font-body);
  font-size: 0.875rem;
  line-height: var(--lh-body);
  color: var(--text-body);
  margin: 0;
}
.about-faq__more {
  text-align: center;
  margin-top: var(--space-6, 32px);
}
.about-faq__more a {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: var(--text-base);
  color: var(--accent);
  text-decoration: none;
}

/* Responsive */
@media (max-width: 900px) {
  .about-hero__heading { font-size: var(--display-lg); }
  .about-audience__grid,
  .about-directory__grid { grid-template-columns: 1fr; }
  
  /* Fixed mobile layout alignment for the bio section */
  .about-bio__row { 
    flex-direction: column; 
    align-items: center; 
    text-align: center; 
  }
  .about-bio__signature {
    align-self: center; /* Center-align the signature graphic on mobile */
  }
  .about-bio__credentials {
    max-width: 100%;
  }

  /* Fix the squished Courses Banner */
  .about-directory__courses {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-5, 24px);
    padding: var(--space-6, 32px) var(--space-5, 24px); /* Loosens up the tight side-padding */
  }

  .about-directory__courses-main {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-4, 16px);
  }

  .about-directory__courses-link {
    align-self: flex-start; /* Keeps the arrow button pinned nicely to the left side */
    margin-top: var(--space-2, 8px);
  }
}

/* ============================================================


/* ============================================================
   AutoCAD for Interior Designers ? sales page styles
   Scoped entirely under .acp so it can't leak into the rest of the
   site's stylesheet. Paste this whole block into your child theme's
   style.css (anywhere, order doesn't matter since it's fully scoped).
   ============================================================ */
/* ============================================================
   DESIGN TOKENS ? Audrey Noakes (inlined for a self-contained file)
   ============================================================ */
.acp{
  --acp-an-cream:#F5F0E6; --acp-an-charcoal:#2B2B28; --acp-an-orange:#C8622D;
  --acp-an-forest:#2F4538; --acp-an-gold:#D4A03C;
  --acp-an-paper:#FBF7EF; --acp-an-cream-deep:#ECE3D1; --acp-an-cream-line:#E2D8C4;
  --acp-an-charcoal-80:#4A4A45; --acp-an-charcoal-60:#6E6E66; --acp-an-charcoal-30:#B6B3AA;
  --acp-an-orange-deep:#A84E20; --acp-an-orange-soft:#E08A54;
  --acp-an-forest-deep:#25362B; --acp-an-forest-soft:#3C5848; --acp-an-gold-deep:#B9832A;

  --acp-surface-page:var(--acp-an-cream); --acp-surface-card:var(--acp-an-paper);
  --acp-text-heading:var(--acp-an-charcoal); --acp-text-body:var(--acp-an-charcoal-80);
  --acp-text-muted:var(--acp-an-charcoal-60); --acp-text-on-dark:var(--acp-an-cream);
  --acp-text-on-dark-muted:#C9C3B5; --acp-text-on-accent:#FFF8EF;
  --acp-accent:var(--acp-an-orange); --acp-accent-hover:var(--acp-an-orange-deep);
  --acp-label-strong:var(--acp-an-gold-deep);
  --acp-border-subtle:var(--acp-an-cream-line); --acp-border-on-dark:rgba(245,240,230,0.18);

  --acp-font-display:'Playfair Display',Georgia,'Times New Roman',serif;
  --acp-font-body:'Montserrat',system-ui,-apple-system,sans-serif;
  --acp-font-label:'Bebas Neue','Montserrat',Impact,sans-serif;

  --acp-ls-display:-0.012em; --acp-ls-label:0.16em; --acp-ls-button:0.08em;
  --acp-lh-display:1.06; --acp-lh-body:1.7;

  --acp-radius-sm:2px; --acp-radius-md:4px; --acp-radius-lg:8px; --acp-radius-pill:999px;
  --acp-shadow-sm:0 4px 16px rgba(43,43,40,0.07);
  --acp-shadow-md:0 12px 40px rgba(43,43,40,0.10);
  --acp-shadow-lg:0 28px 70px rgba(43,43,40,0.14);
  --acp-section-pad-y:120px; --acp-content-max:1200px;
  --acp-ease-soft:cubic-bezier(0.4,0,0.2,1); --acp-ease-out:cubic-bezier(0.22,1,0.36,1);
  --acp-dur-fast:160ms; --acp-dur-base:260ms; --acp-dur-slow:420ms;
}
/* ============================================================
   BASE
   ============================================================ */
.acp *{box-sizing:border-box}
.acp{margin:0;font-family:var(--acp-font-body);font-weight:400;color:var(--acp-text-body);
  background:var(--acp-surface-page);line-height:var(--acp-lh-body);-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility}
.acp h1,.acp h2,.acp h3,.acp h4{font-family:var(--acp-font-display);font-weight:400;color:var(--acp-text-heading);
  letter-spacing:var(--acp-ls-display);line-height:var(--acp-lh-display);margin:0}
.acp p{margin:0}
.acp a{color:inherit;text-decoration:none}
.acp img{max-width:100%;display:block}
.acp ul{margin:0;padding:0}
.acp .wrap{max-width:var(--acp-content-max);margin:0 auto;padding:0 40px}
.acp .section{padding:var(--acp-section-pad-y) 0}
.acp .measure{max-width:62ch}
/* Eyebrow (Bebas kicker) */
.acp .ey{font-family:var(--acp-font-label);letter-spacing:var(--acp-ls-label);text-transform:uppercase;
  font-size:1.05rem;color:var(--acp-label-strong);display:inline-flex;align-items:center;gap:12px;line-height:1}
.acp .ey::before{content:"";width:34px;height:1.5px;background:currentColor;opacity:.85}
.acp .ey.center{justify-content:center}
.acp .ey.nodash::before{display:none}
.acp .ey.gold{color:var(--acp-an-gold)}
.acp .ey.orange{color:var(--acp-accent)}
/* Buttons */
.acp .btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--acp-font-body);font-weight:600;
  letter-spacing:var(--acp-ls-button);text-transform:uppercase;font-size:13px;padding:15px 30px;
  border-radius:var(--acp-radius-sm);border:1.5px solid transparent;cursor:pointer;line-height:1;
  transition:background var(--acp-dur-fast) var(--acp-ease-soft),color var(--acp-dur-fast) var(--acp-ease-soft),
    border-color var(--acp-dur-fast),transform var(--acp-dur-fast)}
.acp .btn .arr{transition:transform var(--acp-dur-fast) var(--acp-ease-soft)}
.acp .btn:hover .arr{transform:translateX(3px)}
.acp .btn--primary{background:var(--acp-accent);color:var(--acp-text-on-accent);border-color:var(--acp-accent)}
.acp .btn--primary:hover{background:var(--acp-accent-hover);border-color:var(--acp-accent-hover);transform:translateY(-1px)}
.acp .btn--cream{background:var(--acp-an-cream);color:var(--acp-text-heading);border-color:var(--acp-an-cream)}
.acp .btn--cream:hover{background:var(--acp-an-cream-deep);border-color:var(--acp-an-cream-deep);transform:translateY(-1px)}
.acp .btn--outline{background:transparent;color:var(--acp-text-heading);border-color:var(--acp-text-heading)}
.acp .btn--outline:hover{background:var(--acp-an-charcoal);color:var(--acp-an-cream)}
.acp .btn--lg{padding:18px 40px;font-size:14px}
.acp .link-under{font-size:14px;font-weight:600;letter-spacing:.03em;color:var(--acp-text-on-dark-muted);
  border-bottom:1.5px solid transparent;padding-bottom:2px;transition:border-color var(--acp-dur-fast),color var(--acp-dur-fast)}
.acp .link-under:hover{color:var(--acp-an-gold);border-color:var(--acp-an-gold)}
/* Placeholder media (warm editorial fill) */
.acp .ph{position:relative;overflow:hidden;border-radius:var(--acp-radius-lg);
  background:linear-gradient(135deg,rgba(200,98,45,.16),rgba(47,69,56,.10)),var(--acp-an-cream-deep);
  display:flex;align-items:center;justify-content:center}
.acp .ph::after{content:attr(data-label);font-family:var(--acp-font-label);letter-spacing:var(--acp-ls-label);
  font-size:.85rem;color:var(--acp-an-charcoal-60);text-align:center;padding:16px}
.acp .ph.warm{background:linear-gradient(135deg,rgba(212,160,60,.30),rgba(200,98,45,.30)),var(--acp-an-orange-soft)}
.acp .ph.warm::after{color:rgba(43,43,40,.55)}
.acp .ph.dark{background:linear-gradient(135deg,rgba(47,69,56,.55),rgba(43,43,40,.85)),var(--acp-an-charcoal)}
.acp .ph.dark::after{color:rgba(245,240,230,.5)}
/* Icons */
.acp .ic{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.75;
  stroke-linecap:round;stroke-linejoin:round;flex:none}

/* ============================================================
   HERO
   ============================================================ */
.acp .hero{position:relative;background:var(--acp-an-charcoal);color:var(--acp-text-on-dark);overflow:hidden}
.acp .hero .bg{position:absolute;inset:0;background:var(--acp-an-charcoal)}
.acp .hero .inner{position:relative;padding-top:104px;padding-bottom:104px;display:grid;grid-template-columns:1.05fr .95fr;
  gap:64px;align-items:center}
.acp .hero h1{color:var(--acp-an-cream);font-size:3.7rem;margin:22px 0 24px;max-width:15ch}
.acp .hero .lead{color:var(--acp-an-cream);font-size:1.3rem;line-height:1.5;max-width:38ch;margin-bottom:18px}
.acp .hero .body{color:var(--acp-text-on-dark-muted);font-size:1.02rem;max-width:46ch;margin-bottom:34px}
.acp .hero .row{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.acp .hero .laptop{align-self:center;width:100%;max-width:620px;height:auto;display:block}
/* ============================================================
   TRUST BAR
   ============================================================ */
.acp .trust{background:var(--acp-an-cream-deep);border-bottom:1px solid var(--acp-border-subtle)}
.acp .trust .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:44px 0}
.acp .trust .item{text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;
  padding:0 28px;position:relative}
.acp .trust .item + .item::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:1px;height:64px;background:var(--acp-an-gold);opacity:.5}
.acp .trust .badge{width:52px;height:52px;border-radius:var(--acp-radius-pill);background:var(--acp-an-paper);
  border:1px solid var(--acp-border-subtle);display:flex;align-items:center;justify-content:center;color:var(--acp-accent)}
.acp .trust .item p{font-size:.92rem;font-weight:600;color:var(--acp-text-heading);max-width:22ch;letter-spacing:.01em}
/* ============================================================
   ASPIRATION
   ============================================================ */
.acp .aspire .grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:72px;align-items:start}
.acp .aspire .ph{aspect-ratio:3/4;position:sticky;top:98px}
.acp .aspire h2{font-size:2.9rem;max-width:16ch;margin-bottom:24px}
.acp .lede{font-size:1.18rem;color:var(--acp-text-heading);margin-bottom:18px;font-weight:500}
.acp .aspire p{font-size:1.05rem;color:var(--acp-text-body);margin-bottom:18px;max-width:56ch}
.acp .aspire p:last-child{margin-bottom:0}
/* ============================================================
   PAIN
   ============================================================ */
.acp .pain{background:var(--acp-an-cream-deep)}
.acp .pain .head{text-align:center;max-width:30ch;margin:0 auto 12px}
.acp .pain h2{font-size:3rem}
.acp .pain .sub{font-size:1.18rem;color:var(--acp-text-body);text-align:center;margin:14px 0 52px}
.acp .pain .list{max-width:860px;margin:0 auto;display:grid;gap:0}
.acp .pain .row{display:flex;gap:20px;align-items:flex-start;padding:22px 0;border-bottom:1px solid var(--acp-border-subtle)}
.acp .pain .row svg{color:var(--acp-accent);margin-top:3px}
.acp .pain .row p{font-size:1.06rem;color:var(--acp-text-heading)}
.acp .pain .punch{text-align:center;font-family:var(--acp-font-display);font-size:2.2rem;line-height:1.25;
  color:var(--acp-text-heading);max-width:24ch;margin:56px auto 0}
/* ============================================================
   WHAT MAKES THIS DIFFERENT (dark)
   ============================================================ */
.acp .diff{background:var(--acp-an-charcoal);color:var(--acp-text-on-dark)}
.acp .diff h2{color:var(--acp-an-cream);font-size:3rem;max-width:20ch;margin:20px 0 18px}
.acp .diff .intro{color:var(--acp-text-on-dark-muted);font-size:1.08rem;max-width:56ch;margin-bottom:56px}
.acp .diff .grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.acp .diff .card{background:var(--acp-an-forest-soft);border:1px solid var(--acp-border-on-dark);
  border-radius:var(--acp-radius-md);padding:38px 36px}
.acp .diff .num{font-family:var(--acp-font-display);font-size:2.4rem;color:var(--acp-an-gold);line-height:1;margin-bottom:16px}
.acp .diff .card h3{color:var(--acp-an-cream);font-size:1.6rem;margin-bottom:12px}
.acp .diff .card p{color:var(--acp-text-on-dark-muted);font-size:1rem}
.acp .diff .closer{margin-top:44px;font-family:var(--acp-font-display);font-size:1.6rem;color:var(--acp-an-gold)}
/* ============================================================
   COURSE INTRO + STAGE DISPLAY
   ============================================================ */
.acp .intro .head{text-align:center;max-width:720px;margin:0 auto}
.acp .intro h2{font-size:3.2rem;margin:14px 0 18px}
.acp .intro .sub{font-size:1.18rem;color:var(--acp-text-heading);font-weight:500;margin-bottom:16px}
.acp .intro .head p{font-size:1.05rem;color:var(--acp-text-body)}
.acp .stages{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:60px}
.acp .stage{background:var(--acp-surface-card);border:1px solid var(--acp-border-subtle);border-radius:var(--acp-radius-sm);
  box-shadow:var(--acp-shadow-sm);padding:40px 32px;text-align:center;transition:box-shadow var(--acp-dur-base) var(--acp-ease-soft),transform var(--acp-dur-base) var(--acp-ease-soft)}
.acp .stage:hover{box-shadow:var(--acp-shadow-md);transform:translateY(-4px)}
.acp .stage .badge{width:64px;height:64px;border-radius:var(--acp-radius-pill);background:var(--acp-an-charcoal);
  color:var(--acp-an-gold);display:flex;align-items:center;justify-content:center;margin:0 auto 22px}
.acp .stage .badge svg{width:28px;height:28px}
.acp .stage .lbl{font-family:var(--acp-font-label);letter-spacing:var(--acp-ls-label);text-transform:uppercase;
  font-size:.85rem;color:var(--acp-label-strong)}
.acp .stage h3{font-size:2rem;margin:8px 0 10px}
.acp .stage .tag{font-weight:600;color:var(--acp-text-heading);margin-bottom:10px}
.acp .stage p{font-size:.97rem;color:var(--acp-text-body)}
.acp .intro .closer{text-align:center;margin-top:48px;font-family:var(--acp-font-display);font-size:1.5rem;color:var(--acp-text-heading)}
/* ============================================================
   MODULE BREAKDOWN
   ============================================================ */
.acp .modules h2{font-size:3.2rem;text-align:center;margin-bottom:8px}
.acp .stagegroup{margin-top:88px}
.acp .stagegroup:first-of-type{margin-top:64px}
.acp .banner{height:240px;border-radius:var(--acp-radius-lg);margin-bottom:28px;display:block}
.acp .banner{width:100%;aspect-ratio:5/1;height:auto;object-fit:cover}
.acp .stagehead{display:flex;align-items:baseline;gap:20px;flex-wrap:wrap;border-bottom:2px solid var(--acp-an-charcoal);
  padding-bottom:20px;margin-bottom:32px}
.acp .stagehead .lbl{font-family:var(--acp-font-label);letter-spacing:var(--acp-ls-label);text-transform:uppercase;
  font-size:1rem;background:var(--acp-an-charcoal);color:var(--acp-an-gold);padding:6px 14px 5px;border-radius:var(--acp-radius-sm)}
.acp .stagehead h3{font-size:2.2rem}
.acp .stagehead .intro{font-size:1.02rem;color:var(--acp-text-muted);width:100%;margin-top:4px}
.acp .mod-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.acp .mod-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.acp .mod{background:var(--acp-surface-card);border:1px solid var(--acp-border-subtle);border-radius:var(--acp-radius-sm);
  padding:30px 28px;box-shadow:var(--acp-shadow-sm);transition:box-shadow var(--acp-dur-base) var(--acp-ease-soft),transform var(--acp-dur-base) var(--acp-ease-soft)}
.acp .mod:hover{box-shadow:var(--acp-shadow-md);transform:translateY(-4px)}
.acp .mod .lbl{font-family:var(--acp-font-label);letter-spacing:var(--acp-ls-label);text-transform:uppercase;
  font-size:.8rem;color:var(--acp-label-strong)}
.acp .mod h3{font-size:1.4rem;margin:8px 0 12px}
.acp .mod p{font-size:.95rem;color:var(--acp-text-body)}
.acp .mini-cta{background:var(--acp-an-charcoal);color:var(--acp-text-on-dark);text-align:center;padding:64px 0}
.acp .mini-cta h2{color:var(--acp-an-cream);font-size:2rem;margin-bottom:24px}
/* ============================================================
   WHO IS THIS FOR
   ============================================================ */
.acp .who{background:var(--acp-an-cream-deep)}
.acp .who h2{font-size:3.2rem;text-align:center;margin-bottom:56px;max-width:20ch;margin-left:auto;margin-right:auto}
.acp .who .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;align-items:start}
.acp .avatar{display:flex;flex-direction:column}
.acp .avatar .ph{aspect-ratio:4/3;margin-bottom:22px}
.acp .who-icon{width:72px;height:72px;border-radius:50%;background:var(--acp-an-charcoal);color:var(--acp-an-cream);display:flex;align-items:center;justify-content:center;font-size:1.8rem;margin-bottom:22px;align-self:center}
.acp .avatar .ey{margin-bottom:22px;align-self:center}
.acp .avatar h3{font-size:1.45rem;line-height:1.25;margin-bottom:12px}
.acp .avatar p{font-size:.98rem;color:var(--acp-text-body);margin-bottom:20px}
.acp .avatar blockquote{margin:auto 0 0;padding:22px 24px;background:var(--acp-an-paper);border-radius:var(--acp-radius-sm);
  border-left:3px solid var(--acp-an-gold);box-shadow:var(--acp-shadow-sm)}
.acp .avatar blockquote p{font-style:italic;color:var(--acp-text-heading);font-size:.97rem;margin-bottom:10px}
.acp .avatar cite{font-style:normal;font-family:var(--acp-font-label);letter-spacing:var(--acp-ls-label);
  text-transform:uppercase;font-size:.85rem;color:var(--acp-label-strong)}
/* ============================================================
   WHAT YOU GET (forest dark)
   ============================================================ */
.acp .get{background:var(--acp-an-forest);color:var(--acp-text-on-dark)}
.acp .get .head{text-align:center;max-width:640px;margin:0 auto 56px}
.acp .get h2{color:var(--acp-an-cream);font-size:3.2rem;margin:14px 0 16px}
.acp .get .head p{color:var(--acp-text-on-dark-muted);font-size:1.08rem}
.acp .get .grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.acp .feature{display:flex;gap:20px;align-items:flex-start;background:var(--acp-an-forest-soft);
  border:1px solid var(--acp-border-on-dark);border-radius:var(--acp-radius-md);padding:28px 28px}
.acp .feature.wide{grid-column:1 / -1}
.acp .feature .ficon{flex:none;width:48px;height:48px;border-radius:var(--acp-radius-pill);background:rgba(212,160,60,.16);
  color:var(--acp-an-gold);display:flex;align-items:center;justify-content:center}
.acp .feature h3{color:var(--acp-an-cream);font-size:1.4rem;margin-bottom:8px}
.acp .feature p{color:var(--acp-text-on-dark-muted);font-size:.97rem}
.acp .get blockquote{max-width:760px;margin:52px auto 0;text-align:center}
.acp .get blockquote p{font-family:var(--acp-font-display);font-size:1.7rem;line-height:1.4;color:var(--acp-an-cream);
  font-style:italic;margin-bottom:14px}
.acp .get blockquote cite{font-style:normal;font-family:var(--acp-font-label);letter-spacing:var(--acp-ls-label);
  text-transform:uppercase;font-size:.9rem;color:var(--acp-an-gold)}
/* ============================================================
   ABOUT AUDREY
   ============================================================ */
.acp .about .grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:72px;align-items:start}
.acp .about .ph{aspect-ratio:3/4;position:sticky;top:98px}
.acp .about img.ph{aspect-ratio:auto;background:none}
.acp .about h2{font-size:3rem;margin-bottom:14px}
.acp .about .sub{font-size:1.18rem;color:var(--acp-text-heading);font-weight:500;margin-bottom:24px;max-width:42ch}
.acp .about p{font-size:1.04rem;color:var(--acp-text-body);margin-bottom:18px;max-width:56ch}
.acp .about .sig{height:64px;width:auto;margin:24px 0 0}
.acp .about blockquote{margin:28px 0 0;padding:24px 28px;background:var(--acp-an-paper);border-radius:var(--acp-radius-sm);
  border-left:3px solid var(--acp-an-gold);box-shadow:var(--acp-shadow-sm)}
.acp .about blockquote p{font-style:italic;color:var(--acp-text-heading);font-size:1.02rem;margin-bottom:10px;max-width:none}
.acp .about blockquote cite{font-style:normal;font-family:var(--acp-font-label);letter-spacing:var(--acp-ls-label);
  text-transform:uppercase;font-size:.85rem;color:var(--acp-label-strong)}
.acp .creds{margin-top:72px;border-top:1px solid var(--acp-border-subtle);border-bottom:1px solid var(--acp-border-subtle);
  padding:40px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.acp .cred{text-align:center;position:relative;padding:0 20px}
.acp .cred + .cred::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:1px;height:54px;background:var(--acp-an-gold);opacity:.5}
.acp .cred strong{display:block;font-family:var(--acp-font-display);font-size:1.15rem;color:var(--acp-text-heading);
  font-weight:500;margin-bottom:6px}
.acp .cred span{font-size:.9rem;color:var(--acp-text-muted)}
/* ============================================================
   TESTIMONIALS GRID
   ============================================================ */
.acp .tg{background:var(--acp-an-cream-deep)}
.acp .tg h2{font-size:3.2rem;text-align:center;margin-bottom:8px}
.acp .tg .stars{color:var(--acp-an-gold);letter-spacing:3px;font-size:1rem;margin-bottom:48px;text-align:center}
.acp .tg .grid{columns:2;column-gap:28px;margin-top:40px}
.acp .tg blockquote{break-inside:avoid;display:block;width:100%;margin:0 0 28px;background:var(--acp-surface-card);border:1px solid var(--acp-border-subtle);
  border-radius:var(--acp-radius-sm);padding:36px 34px;box-shadow:var(--acp-shadow-sm)}
.acp .tg blockquote .stars{font-size:.95rem;margin-bottom:18px;text-align:left}
.acp .tg blockquote p{font-size:1.08rem;color:var(--acp-text-heading);font-style:italic;line-height:1.55;margin-bottom:18px}
.acp .tg cite{font-style:normal;font-family:var(--acp-font-label);letter-spacing:var(--acp-ls-label);
  text-transform:uppercase;font-size:.9rem;color:var(--acp-label-strong)}
/* ============================================================
   PRICE BLOCK (forest dark)
   ============================================================ */
.acp .price{background:var(--acp-an-forest);color:var(--acp-text-on-dark)}
.acp .price .head{text-align:center;max-width:600px;margin:0 auto 48px}
.acp .price h2{color:var(--acp-an-cream);font-size:3.2rem;margin:14px 0 14px}
.acp .price .head .sub{color:var(--acp-text-on-dark-muted);font-size:1.18rem}
.acp .pcard{max-width:680px;margin:0 auto;background:var(--acp-an-cream);color:var(--acp-text-heading);
  border-radius:var(--acp-radius-md);padding:64px 56px;text-align:center;box-shadow:var(--acp-shadow-lg)}
.acp .pcard .lbl{font-family:var(--acp-font-label);letter-spacing:var(--acp-ls-label);text-transform:uppercase;
  font-size:1rem;color:var(--acp-label-strong)}
.acp .pcard .figure{font-family:var(--acp-font-display);font-size:5.5rem;line-height:1;color:var(--acp-text-heading);margin:10px 0 6px}
.acp .pcard .per{color:var(--acp-text-muted);font-size:.95rem;margin-bottom:34px}
.acp .pcard ul{max-width:430px;margin:0 auto 36px;text-align:left;display:grid;gap:13px}
.acp .pcard li{display:flex;gap:13px;align-items:flex-start;font-size:1rem;color:var(--acp-text-body)}
.acp .pcard li svg{color:var(--acp-accent);flex:none;margin-top:2px;width:20px;height:20px}
.acp .pcard .fine{margin:24px auto 0;font-size:.8rem;color:var(--acp-text-muted);max-width:480px}
.acp .guarantee{max-width:680px;margin:24px auto 0;background:var(--acp-an-forest-soft);border:1px solid var(--acp-border-on-dark);
  border-radius:var(--acp-radius-md);padding:32px 36px;display:flex;gap:22px;align-items:flex-start}
.acp .guarantee svg{color:var(--acp-an-gold);flex:none;width:34px;height:34px}
.acp .guarantee h3{color:var(--acp-an-cream);font-size:1.4rem;margin-bottom:8px}
.acp .guarantee p{color:var(--acp-text-on-dark-muted);font-size:.97rem}
.acp .price blockquote{max-width:680px;margin:40px auto 0;text-align:center}
.acp .price blockquote p{font-family:var(--acp-font-display);font-style:italic;font-size:1.5rem;line-height:1.45;
  color:var(--acp-an-cream);margin-bottom:12px}
.acp .price blockquote cite{font-style:normal;font-family:var(--acp-font-label);letter-spacing:var(--acp-ls-label);
  text-transform:uppercase;font-size:.9rem;color:var(--acp-an-gold)}
/* ============================================================
   FAQ
   ============================================================ */
.acp .faq .head{text-align:center;margin-bottom:48px}
.acp .faq h2{font-size:3.2rem;margin-top:14px}
.acp .faqlist{max-width:820px;margin:0 auto}
.acp .faqlist details{border-bottom:1px solid var(--acp-border-subtle)}
.acp .faqlist summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;
  gap:24px;padding:26px 0;font-family:var(--acp-font-display);font-size:1.35rem;color:var(--acp-text-heading)}
.acp .faqlist summary::-webkit-details-marker{display:none}
.acp .faqlist summary .plus{font-family:var(--acp-font-body);font-weight:400;font-size:1.7rem;color:var(--acp-accent);
  flex:none;line-height:1;transition:transform var(--acp-dur-base) var(--acp-ease-soft)}
.acp .faqlist details[open] summary .plus{transform:rotate(45deg)}
.acp .faqlist .ans{padding:0 0 28px;font-size:1.02rem;color:var(--acp-text-body);max-width:68ch}
.acp .faqlist .ans a{color:var(--acp-accent);border-bottom:1px solid currentColor}
/* ============================================================
   FINAL CTA (dark)
   ============================================================ */
.acp .final{background:var(--acp-an-forest);color:var(--acp-text-on-dark);text-align:center}
.acp .final h2{color:var(--acp-an-cream);font-size:3rem;max-width:22ch;margin:20px auto 24px}
.acp .final p{color:var(--acp-text-on-dark-muted);font-size:1.1rem;max-width:54ch;margin:0 auto 14px}
.acp .final .lead{color:var(--acp-an-gold);font-family:var(--acp-font-display);font-size:1.5rem;font-style:italic;margin-bottom:34px}
.acp .final .note{font-size:13px;color:var(--acp-text-on-dark-muted);margin-top:22px;
  font-family:var(--acp-font-label);letter-spacing:var(--acp-ls-label)}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:980px){
.acp{--acp-section-pad-y:84px}
.acp .wrap{padding:0 32px}
.acp .hero .inner{grid-template-columns:1fr;gap:48px;padding-top:80px;padding-bottom:80px}
.acp .hero h1{font-size:3rem}
.acp .hero .laptop{max-width:420px}
.acp .aspire .grid,.acp .about .grid{grid-template-columns:1fr;gap:40px}
.acp .aspire .ph,.acp .about .ph{position:static;max-width:480px}
.acp .stages,.acp .mod-grid-3,.acp .who .grid{grid-template-columns:1fr 1fr}
.acp .diff .grid,.acp .get .grid{grid-template-columns:1fr}
.acp .tg .grid{columns:1}
.acp .creds{grid-template-columns:1fr 1fr;gap:28px}
.acp .cred:nth-child(3)::before{display:none}
.acp .trust .grid{grid-template-columns:1fr 1fr;gap:36px 0;padding:40px 0}
.acp .trust .item:nth-child(3)::before{display:none}
.acp h1,.acp h2{letter-spacing:0}

}

@media (max-width:620px){
.acp{--acp-section-pad-y:64px}
.acp .wrap{padding:0 28px}
.acp .banner{aspect-ratio:16/9}
.acp .hero h1{font-size:2.4rem}
.acp .hero .lead{font-size:1.12rem}
.acp .pain h2,.acp .diff h2,.acp .intro h2,.acp .modules h2,.acp .who h2,.acp .get h2,.acp .tg h2,.acp .price h2,.acp .faq h2,.acp .final h2,.acp .aspire h2,.acp .about h2{font-size:2.2rem}
.acp .stages,.acp .mod-grid-2,.acp .mod-grid-3,.acp .who .grid,.acp .creds{grid-template-columns:1fr}
.acp .cred{padding:0}
.acp .cred + .cred::before{display:none}
.acp .creds .cred{padding-bottom:20px;border-bottom:1px solid var(--acp-border-subtle)}
.acp .creds .cred:last-child{border-bottom:0;padding-bottom:0}
.acp .trust .grid{grid-template-columns:1fr;gap:32px}
.acp .trust .item::before{display:none!important}
.acp .stagehead{flex-direction:column;gap:10px}
.acp .pcard{padding:44px 28px}
.acp .pcard .figure{font-size:4rem}
.acp .guarantee{flex-direction:column;gap:14px}
.acp .feature.wide,.acp .feature{flex-direction:column;gap:14px}
.acp .punch,.acp .diff .closer{font-size:1.6rem}

}

/* ============================================================
   SketchUp for Interior Designers ? sales page styles
   Scoped entirely under .skp so it can't leak into the rest of the
   site's stylesheet. Paste this whole block into your child theme's
   style.css (anywhere, order doesn't matter since it's fully scoped).
   ============================================================ */
/* ============================================================
   DESIGN TOKENS ? Audrey Noakes (inlined for a self-contained file)
   ============================================================ */
.skp{
  --skp-an-cream:#F5F0E6; --skp-an-charcoal:#2B2B28; --skp-an-orange:#C8622D;
  --skp-an-forest:#2F4538; --skp-an-gold:#D4A03C;
  --skp-an-paper:#FBF7EF; --skp-an-cream-deep:#ECE3D1; --skp-an-cream-line:#E2D8C4;
  --skp-an-charcoal-80:#4A4A45; --skp-an-charcoal-60:#6E6E66; --skp-an-charcoal-30:#B6B3AA;
  --skp-an-orange-deep:#A84E20; --skp-an-orange-soft:#E08A54;
  --skp-an-forest-deep:#25362B; --skp-an-forest-soft:#3C5848; --skp-an-gold-deep:#B9832A;

  --skp-surface-page:var(--skp-an-cream); --skp-surface-card:var(--skp-an-paper);
  --skp-text-heading:var(--skp-an-charcoal); --skp-text-body:var(--skp-an-charcoal-80);
  --skp-text-muted:var(--skp-an-charcoal-60); --skp-text-on-dark:var(--skp-an-cream);
  --skp-text-on-dark-muted:#C9C3B5; --skp-text-on-accent:#FFF8EF;
  --skp-accent:var(--skp-an-orange); --skp-accent-hover:var(--skp-an-orange-deep);
  --skp-label-strong:var(--skp-an-gold-deep);
  --skp-border-subtle:var(--skp-an-cream-line); --skp-border-on-dark:rgba(245,240,230,0.18);

  --skp-font-display:'Playfair Display',Georgia,'Times New Roman',serif;
  --skp-font-body:'Montserrat',system-ui,-apple-system,sans-serif;
  --skp-font-label:'Bebas Neue','Montserrat',Impact,sans-serif;

  --skp-ls-display:-0.012em; --skp-ls-label:0.16em; --skp-ls-button:0.08em;
  --skp-lh-display:1.06; --skp-lh-body:1.7;

  --skp-radius-sm:2px; --skp-radius-md:4px; --skp-radius-lg:8px; --skp-radius-pill:999px;
  --skp-shadow-sm:0 4px 16px rgba(43,43,40,0.07);
  --skp-shadow-md:0 12px 40px rgba(43,43,40,0.10);
  --skp-shadow-lg:0 28px 70px rgba(43,43,40,0.14);
  --skp-section-pad-y:120px; --skp-content-max:1200px;
  --skp-ease-soft:cubic-bezier(0.4,0,0.2,1); --skp-ease-out:cubic-bezier(0.22,1,0.36,1);
  --skp-dur-fast:160ms; --skp-dur-base:260ms; --skp-dur-slow:420ms;
}
/* ============================================================
   BASE
   ============================================================ */
.skp *{box-sizing:border-box}
.skp{margin:0;font-family:var(--skp-font-body);font-weight:400;color:var(--skp-text-body);
  background:var(--skp-surface-page);line-height:var(--skp-lh-body);-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility}
.skp h1,.skp h2,.skp h3,.skp h4{font-family:var(--skp-font-display);font-weight:400;color:var(--skp-text-heading);
  letter-spacing:var(--skp-ls-display);line-height:var(--skp-lh-display);margin:0}
.skp p{margin:0}
.skp a{color:inherit;text-decoration:none}
.skp img{max-width:100%;display:block}
.skp ul{margin:0;padding:0}
.skp .wrap{max-width:var(--skp-content-max);margin:0 auto;padding:0 40px}
.skp .section{padding:var(--skp-section-pad-y) 0}
.skp .measure{max-width:62ch}
.skp .center{text-align:center}
/* Links (default + hover, for any future in-copy links) */
.skp a:not(.btn){color:var(--skp-accent)}
.skp a:not(.btn):hover{color:var(--skp-accent-hover)}
/* Eyebrow (Bebas kicker) */
.skp .ey{font-family:var(--skp-font-label);letter-spacing:var(--skp-ls-label);text-transform:uppercase;
  font-size:1.05rem;color:var(--skp-label-strong);display:inline-flex;align-items:center;gap:12px;line-height:1}
.skp .ey::before{content:"";width:34px;height:1.5px;background:currentColor;opacity:.85}
.skp .ey.center{justify-content:center}
.skp .ey.nodash::before{display:none}
.skp .ey.gold{color:var(--skp-an-gold)}
.skp .ey.orange{color:var(--skp-accent)}
/* Buttons */
.skp .btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--skp-font-body);font-weight:600;
  letter-spacing:var(--skp-ls-button);text-transform:uppercase;font-size:13px;padding:15px 30px;
  border-radius:var(--skp-radius-sm);border:1.5px solid transparent;cursor:pointer;line-height:1;
  transition:background var(--skp-dur-fast) var(--skp-ease-soft),color var(--skp-dur-fast) var(--skp-ease-soft),
    border-color var(--skp-dur-fast),transform var(--skp-dur-fast)}
.skp .btn .arr{transition:transform var(--skp-dur-fast) var(--skp-ease-soft)}
.skp .btn:hover .arr{transform:translateX(3px)}
.skp .btn--primary{background:var(--skp-accent);color:var(--skp-text-on-accent);border-color:var(--skp-accent)}
.skp .btn--primary:hover{background:var(--skp-accent-hover);border-color:var(--skp-accent-hover);transform:translateY(-1px)}
.skp .btn--cream{background:var(--skp-an-cream);color:var(--skp-text-heading);border-color:var(--skp-an-cream)}
.skp .btn--cream:hover{background:var(--skp-an-cream-deep);border-color:var(--skp-an-cream-deep);transform:translateY(-1px)}
.skp .btn--outline{background:transparent;color:var(--skp-text-heading);border-color:var(--skp-text-heading)}
.skp .btn--outline:hover{background:var(--skp-an-charcoal);color:var(--skp-an-cream)}
.skp .btn--lg{padding:18px 40px;font-size:14px}
.skp .link-under{font-size:14px;font-weight:600;letter-spacing:.03em;color:var(--skp-text-on-dark-muted);
  border-bottom:1.5px solid transparent;padding-bottom:2px;transition:border-color var(--skp-dur-fast),color var(--skp-dur-fast)}
.skp .link-under:hover{color:var(--skp-an-gold);border-color:var(--skp-an-gold)}
/* Placeholder media (warm editorial fill) */
.skp .ph{position:relative;overflow:hidden;border-radius:var(--skp-radius-lg);
  background:linear-gradient(135deg,rgba(200,98,45,.16),rgba(47,69,56,.10)),var(--skp-an-cream-deep);
  display:flex;align-items:center;justify-content:center}
.skp .ph::after{content:attr(data-label);font-family:var(--skp-font-label);letter-spacing:var(--skp-ls-label);
  font-size:.85rem;color:var(--skp-an-charcoal-60);text-align:center;padding:16px}
.skp .ph.warm{background:linear-gradient(135deg,rgba(212,160,60,.30),rgba(200,98,45,.30)),var(--skp-an-orange-soft)}
.skp .ph.warm::after{color:rgba(43,43,40,.55)}
.skp .ph.dark{background:linear-gradient(135deg,rgba(47,69,56,.55),rgba(43,43,40,.85)),var(--skp-an-charcoal)}
.skp .ph.dark::after{color:rgba(245,240,230,.5)}
/* Icons */
.skp .ic{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.75;
  stroke-linecap:round;stroke-linejoin:round;flex:none}

/* ============================================================
   HERO
   ============================================================ */
.skp .hero{position:relative;background:var(--skp-an-charcoal);color:var(--skp-text-on-dark);overflow:hidden}
.skp .hero .bg{position:absolute;inset:0;background:var(--skp-an-charcoal)}
.skp .hero .inner{position:relative;padding-top:104px;padding-bottom:104px;display:grid;grid-template-columns:1.05fr .95fr;
  gap:64px;align-items:center}
.skp .hero h1{color:var(--skp-an-cream);font-size:3.7rem;margin:22px 0 24px;max-width:15ch}
.skp .hero .lead{color:var(--skp-an-cream);font-size:1.3rem;line-height:1.5;max-width:38ch;margin-bottom:18px}
.skp .hero .row{display:flex;gap:24px;align-items:center;flex-wrap:wrap}
.skp .hero .laptop{align-self:center;width:100%;max-width:620px;height:auto;display:block}
/* ============================================================
   TRUST BAR
   ============================================================ */
.skp .trust{background:var(--skp-an-cream-deep);border-bottom:1px solid var(--skp-border-subtle)}
.skp .trust .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:44px 0}
.skp .trust .item{text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;
  padding:0 28px;position:relative}
.skp .trust .item + .item::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:1px;height:64px;background:var(--skp-an-gold);opacity:.5}
.skp .trust .badge{width:52px;height:52px;border-radius:var(--skp-radius-pill);background:var(--skp-an-paper);
  border:1px solid var(--skp-border-subtle);display:flex;align-items:center;justify-content:center;color:var(--skp-accent)}
.skp .trust .item p{font-size:.92rem;font-weight:600;color:var(--skp-text-heading);max-width:22ch;letter-spacing:.01em}
/* ============================================================
   ASPIRATION
   ============================================================ */
.skp .aspire .head{text-align:center;max-width:600px;margin:0 auto}
.skp .aspire h2{font-size:2.9rem;margin-bottom:8px}
.skp .lede{font-size:1.1rem;color:var(--skp-text-body);margin-bottom:18px;max-width:70ch;margin-left:auto;margin-right:auto}
.skp .lede.center{text-align:center}
.skp .lede p{margin-bottom:18px}
.skp .lede p:last-child{margin-bottom:0}
.skp .vid-wrap{position:relative;overflow:hidden;border-radius:var(--skp-radius-lg);aspect-ratio:16/9;
  background:linear-gradient(135deg,rgba(200,98,45,.16),rgba(47,69,56,.10)),var(--skp-an-cream-deep)}
.skp .vid-wrap video{width:100%;height:100%;object-fit:cover;object-position:bottom;display:block}
.skp .vid-wrap.vid-center video{object-position:center}
.skp .vid-wrap .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(43,43,40,.08),rgba(43,43,40,.55))}
.skp .vid-wrap .vid-caption{position:absolute;left:0;right:0;bottom:30px;text-align:center;color:var(--skp-an-cream);
  font-family:var(--skp-font-display);font-style:italic;font-size:1.7rem;padding:0 32px}
.skp .vid-wrap .vid-caption span{display:block;font-family:var(--skp-font-body);font-style:normal;font-weight:500;
  font-size:.82rem;letter-spacing:.02em;color:var(--skp-text-on-dark-muted);margin-top:8px;max-width:60ch;
  margin-left:auto;margin-right:auto}
/* ============================================================
   WHAT MAKES THIS DIFFERENT (dark)
   ============================================================ */
.skp .diff{background:var(--skp-an-charcoal);color:var(--skp-text-on-dark)}
.skp .diff h2{color:var(--skp-an-cream);font-size:3rem;max-width:20ch;margin:20px 0 18px}
.skp .diff .intro{color:var(--skp-text-on-dark-muted);font-size:1.08rem;max-width:56ch;margin-bottom:56px}
.skp .diff .grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.skp .diff .card{background:var(--skp-an-forest-soft);border:1px solid var(--skp-border-on-dark);
  border-radius:var(--skp-radius-md);padding:38px 36px}
.skp .diff .num{font-family:var(--skp-font-display);font-size:2.4rem;color:var(--skp-an-gold);line-height:1;margin-bottom:16px}
.skp .diff .card h3{color:var(--skp-an-cream);font-size:1.6rem;margin-bottom:12px}
.skp .diff .card p{color:var(--skp-text-on-dark-muted);font-size:1rem}
.skp .diff .closer{margin-top:44px;font-family:var(--skp-font-display);font-size:1.6rem;color:var(--skp-an-gold)}
/* ============================================================
   COURSE INTRO + STAGE DISPLAY
   ============================================================ */
.skp .intro .head{text-align:center;max-width:720px;margin:0 auto}
.skp .intro h2{font-size:3.2rem;margin:14px 0 18px}
.skp .intro .sub{font-size:1.18rem;color:var(--skp-text-heading);font-weight:500;margin-bottom:16px}
.skp .intro .head p{font-size:1.05rem;color:var(--skp-text-body)}
.skp .stages{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:60px}
.skp .stages.stages--2{grid-template-columns:repeat(2,1fr);max-width:900px;margin-left:auto;margin-right:auto}
.skp .stage{background:var(--skp-surface-card);border:1px solid var(--skp-border-subtle);border-radius:var(--skp-radius-sm);
  box-shadow:var(--skp-shadow-sm);padding:40px 32px;text-align:center;transition:box-shadow var(--skp-dur-base) var(--skp-ease-soft),transform var(--skp-dur-base) var(--skp-ease-soft)}
.skp .stage:hover{box-shadow:var(--skp-shadow-md);transform:translateY(-4px)}
.skp .stage .badge{width:64px;height:64px;border-radius:var(--skp-radius-pill);background:var(--skp-an-charcoal);
  color:var(--skp-an-gold);display:flex;align-items:center;justify-content:center;margin:0 auto 22px}
.skp .stage .badge svg{width:28px;height:28px}
.skp .stage .lbl{font-family:var(--skp-font-label);letter-spacing:var(--skp-ls-label);text-transform:uppercase;
  font-size:.85rem;color:var(--skp-label-strong)}
.skp .stage h3{font-size:2rem;margin:8px 0 10px}
.skp .stage .tag{font-weight:600;color:var(--skp-text-heading);margin-bottom:10px}
.skp .stage p{font-size:.97rem;color:var(--skp-text-body)}
.skp .intro .closer{text-align:center;margin-top:48px;font-family:var(--skp-font-display);font-size:1.5rem;color:var(--skp-text-heading)}
/* ============================================================
   MODULE BREAKDOWN
   ============================================================ */
.skp .modules h2{font-size:3.2rem;text-align:center;margin-bottom:8px}
.skp .stagegroup{margin-top:88px}
.skp .stagegroup:first-of-type{margin-top:64px}
.skp .stagehead{display:flex;align-items:baseline;gap:20px;flex-wrap:wrap;border-bottom:2px solid var(--skp-an-charcoal);
  padding-bottom:20px;margin-bottom:32px}
.skp .stagehead .lbl{font-family:var(--skp-font-label);letter-spacing:var(--skp-ls-label);text-transform:uppercase;
  font-size:1rem;background:var(--skp-an-charcoal);color:var(--skp-an-gold);padding:6px 14px 5px;border-radius:var(--skp-radius-sm)}
.skp .stagehead h3{font-size:2.2rem}
.skp .stagehead .intro{font-size:1.02rem;color:var(--skp-text-muted);width:100%;margin-top:4px}
.skp .mod-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.skp .mod-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.skp .mod{background:var(--skp-surface-card);border:1px solid var(--skp-border-subtle);border-radius:var(--skp-radius-sm);
  padding:30px 28px;box-shadow:var(--skp-shadow-sm);transition:box-shadow var(--skp-dur-base) var(--skp-ease-soft),transform var(--skp-dur-base) var(--skp-ease-soft)}
.skp .mod:hover{box-shadow:var(--skp-shadow-md);transform:translateY(-4px)}
.skp .mod .lbl{font-family:var(--skp-font-label);letter-spacing:var(--skp-ls-label);text-transform:uppercase;
  font-size:.8rem;color:var(--skp-label-strong)}
.skp .mod h3{font-size:1.4rem;margin:8px 0 12px}
.skp .mod p{font-size:.95rem;color:var(--skp-text-body)}
.skp .mod--img{padding-top:0;overflow:hidden}
.skp .mod--img .modimg{width:calc(100% + 56px);margin:0 -28px 24px;aspect-ratio:4/3;object-fit:contain;
  object-position:center;background:var(--skp-an-cream-deep)}
.skp .mini-cta{background:var(--skp-an-charcoal);color:var(--skp-text-on-dark);text-align:center;padding:64px 0}
.skp .mini-cta h2{color:var(--skp-an-cream);font-size:2rem;margin-bottom:24px}
/* ============================================================
   WHO IS THIS FOR
   ============================================================ */
.skp .who{background:var(--skp-an-cream-deep);text-align:center}
.skp .who h2{font-size:3.2rem;margin-bottom:36px}
.skp .whotags{max-width:560px;margin:0 auto 32px}
.skp .whotags .center-tag{display:flex;justify-content:center;margin-bottom:20px;font-size:1.4rem}
.skp .whotags .center-tag::before{display:none}
.skp .whogrid{display:grid;grid-template-columns:1fr 1fr;gap:14px 40px;border-top:1px solid var(--skp-border-subtle);padding-top:28px}
.skp .whogrid span{font-family:var(--skp-font-display);font-size:2rem;color:var(--skp-text-heading)}
.skp .who .sub{font-size:1.1rem;color:var(--skp-text-body);max-width:52ch;margin:0 auto}
/* ============================================================
   WHAT YOU GET (forest dark)
   ============================================================ */
.skp .get{background:var(--skp-an-forest);color:var(--skp-text-on-dark)}
.skp .get .head{text-align:center;max-width:640px;margin:0 auto 56px}
.skp .get h2{color:var(--skp-an-cream);font-size:3.2rem;margin:14px 0 16px}
.skp .get .head p{color:var(--skp-text-on-dark-muted);font-size:1.08rem}
.skp .get .grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.skp .feature{display:flex;gap:20px;align-items:flex-start;background:var(--skp-an-forest-soft);
  border:1px solid var(--skp-border-on-dark);border-radius:var(--skp-radius-md);padding:28px 28px}
.skp .feature.wide{grid-column:1 / -1}
.skp .feature .ficon{flex:none;width:48px;height:48px;border-radius:var(--skp-radius-pill);background:rgba(212,160,60,.16);
  color:var(--skp-an-gold);display:flex;align-items:center;justify-content:center}
.skp .feature h3{color:var(--skp-an-cream);font-size:1.4rem;margin-bottom:8px}
.skp .feature p{color:var(--skp-text-on-dark-muted);font-size:.97rem}
/* ============================================================
   ABOUT AUDREY
   ============================================================ */
.skp .about .grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:72px;align-items:start}
.skp .about .ph{aspect-ratio:3/4;position:sticky;top:98px}
.skp .about img.ph{aspect-ratio:auto;background:none}
.skp .about h2{font-size:3rem;margin-bottom:14px}
.skp .about .sub{font-size:1.18rem;color:var(--skp-text-heading);font-weight:500;margin-bottom:24px;max-width:42ch}
.skp .about p{font-size:1.04rem;color:var(--skp-text-body);margin-bottom:18px;max-width:56ch}
.skp .about .sig{height:64px;width:auto;margin:24px 0 0}
.skp .creds{margin-top:72px;border-top:1px solid var(--skp-border-subtle);border-bottom:1px solid var(--skp-border-subtle);
  padding:40px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.skp .cred{text-align:center;position:relative;padding:0 20px}
.skp .cred + .cred::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:1px;height:54px;background:var(--skp-an-gold);opacity:.5}
.skp .cred strong{display:block;font-family:var(--skp-font-display);font-size:1.15rem;color:var(--skp-text-heading);
  font-weight:500;margin-bottom:6px}
.skp .cred span{font-size:.9rem;color:var(--skp-text-muted)}
/* ============================================================
   PRICE BLOCK (forest dark)
   ============================================================ */
.skp .price{background:var(--skp-an-forest);color:var(--skp-text-on-dark)}
.skp .price .head{text-align:center;max-width:600px;margin:0 auto 48px}
.skp .price h2{color:var(--skp-an-cream);font-size:3.2rem;margin:14px 0 14px}
.skp .price .head .sub{color:var(--skp-text-on-dark-muted);font-size:1.18rem}
.skp .pcard{max-width:680px;margin:0 auto;background:var(--skp-an-cream);color:var(--skp-text-heading);
  border-radius:var(--skp-radius-md);padding:64px 56px;text-align:center;box-shadow:var(--skp-shadow-lg)}
.skp .pcard .lbl{font-family:var(--skp-font-label);letter-spacing:var(--skp-ls-label);text-transform:uppercase;
  font-size:1rem;color:var(--skp-label-strong)}
.skp .pcard .figure{font-family:var(--skp-font-display);font-size:5.5rem;line-height:1;color:var(--skp-text-heading);margin:10px 0 6px}
.skp .pcard .per{color:var(--skp-text-muted);font-size:.95rem;margin-bottom:34px}
.skp .pcard ul{max-width:430px;margin:0 auto 36px;text-align:left;display:grid;gap:13px}
.skp .pcard li{display:flex;gap:13px;align-items:flex-start;font-size:1rem;color:var(--skp-text-body)}
.skp .pcard li svg{color:var(--skp-accent);flex:none;margin-top:2px;width:20px;height:20px}
.skp .pcard .fine{margin:24px auto 0;font-size:.8rem;color:var(--skp-text-muted);max-width:480px}
.skp .guarantee{max-width:680px;margin:24px auto 0;background:var(--skp-an-forest-soft);border:1px solid var(--skp-border-on-dark);
  border-radius:var(--skp-radius-md);padding:32px 36px;display:flex;gap:22px;align-items:flex-start}
.skp .guarantee svg{color:var(--skp-an-gold);flex:none;width:34px;height:34px}
.skp .guarantee h3{color:var(--skp-an-cream);font-size:1.4rem;margin-bottom:8px}
.skp .guarantee p{color:var(--skp-text-on-dark-muted);font-size:.97rem;margin-bottom:12px}
.skp .guarantee p:last-child{margin-bottom:0}
/* ============================================================
   FAQ
   ============================================================ */
.skp .faq .head{text-align:center;margin-bottom:48px}
.skp .faq h2{font-size:2.9rem;margin-top:14px}
.skp .faqlist{max-width:820px;margin:0 auto}
.skp .faqlist details{border-bottom:1px solid var(--skp-border-subtle)}
.skp .faqlist summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;
  gap:24px;padding:26px 0;font-family:var(--skp-font-display);font-size:1.35rem;color:var(--skp-text-heading)}
.skp .faqlist summary::-webkit-details-marker{display:none}
.skp .faqlist summary .plus{font-family:var(--skp-font-body);font-weight:400;font-size:1.7rem;color:var(--skp-accent);
  flex:none;line-height:1;transition:transform var(--skp-dur-base) var(--skp-ease-soft)}
.skp .faqlist details[open] summary .plus{transform:rotate(45deg)}
.skp .faqlist .ans{padding:0 0 28px;font-size:1.02rem;color:var(--skp-text-body);max-width:68ch}
.skp .faqlist .ans a{color:var(--skp-accent);border-bottom:1px solid currentColor}
/* ============================================================
   FINAL CTA (dark)
   ============================================================ */
.skp .final{background:var(--skp-an-forest);color:var(--skp-text-on-dark);text-align:center}
.skp .final h2{color:var(--skp-an-cream);font-size:3rem;max-width:22ch;margin:20px auto 24px}
.skp .final p{color:var(--skp-text-on-dark-muted);font-size:1.1rem;max-width:54ch;margin:0 auto 14px}
.skp .final .lead{color:var(--skp-an-gold);font-family:var(--skp-font-display);font-size:1.5rem;font-style:italic;margin-bottom:34px}
.skp .final .note{font-size:13px;color:var(--skp-text-on-dark-muted);margin-top:22px;
  font-family:var(--skp-font-label);letter-spacing:var(--skp-ls-label)}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:980px){
.skp{--skp-section-pad-y:84px}
.skp .wrap{padding:0 32px}
.skp .hero .inner{grid-template-columns:1fr;gap:48px;padding-top:80px;padding-bottom:80px}
.skp .hero h1{font-size:3rem}
.skp .hero .laptop{max-width:420px}
.skp .about .grid{grid-template-columns:1fr;gap:40px}
.skp .about .ph{position:static;max-width:480px}
.skp .stages.stages--2,.skp .mod-grid-3,.skp .mod-grid-2,.skp .whogrid{grid-template-columns:1fr 1fr}
.skp .diff .grid,.skp .get .grid{grid-template-columns:1fr}
.skp .creds{grid-template-columns:1fr 1fr;gap:28px}
.skp .cred:nth-child(3)::before{display:none}
.skp .trust .grid{grid-template-columns:1fr 1fr;gap:36px 0;padding:40px 0}
.skp .trust .item:nth-child(3)::before{display:none}
.skp h1,.skp h2{letter-spacing:0}

}

@media (max-width:620px){
.skp{--skp-section-pad-y:64px}
.skp .wrap{padding:0 28px}
.skp .hero h1{font-size:2.4rem}
.skp .hero .lead{font-size:1.12rem}
.skp .diff h2,.skp .intro h2,.skp .modules h2,.skp .who h2,.skp .get h2,.skp .price h2,.skp .faq h2,.skp .final h2,.skp .aspire h2,.skp .about h2{font-size:2.2rem}
.skp .stages.stages--2,.skp .mod-grid-2,.skp .mod-grid-3,.skp .whogrid,.skp .creds{grid-template-columns:1fr}
.skp .cred{padding:0}
.skp .cred + .cred::before{display:none}
.skp .creds .cred{padding-bottom:20px;border-bottom:1px solid var(--skp-border-subtle)}
.skp .creds .cred:last-child{border-bottom:0;padding-bottom:0}
.skp .trust .grid{grid-template-columns:1fr;gap:32px}
.skp .trust .item::before{display:none!important}
.skp .stagehead{flex-direction:column;gap:10px}
.skp .vid-caption{font-size:1.15rem;bottom:18px;padding:0 20px}
.skp .vid-caption span{font-size:.72rem;margin-top:6px}
.skp .pcard{padding:44px 28px}
.skp .pcard .figure{font-size:4rem}
.skp .guarantee{flex-direction:column;gap:14px}
.skp .feature.wide,.skp .feature{flex-direction:column;gap:14px}
.skp .diff .closer{font-size:1.6rem}

}
