/*
 * Kingdom Queens Rising - theme stylesheet.
 * Author: The Free Website Guys
 */

:root {
	--color-primary: #6f2786;
	--color-secondary: #e1a733;
	--color-background: #fbf9f4;
	--color-foreground: #26172c;
	--color-linen: #f4eff5;
	--color-bone: #ebe3ed;
	--color-footer: #25112c;
	--color-muted-foreground: #6c5a72;
	--color-border: #e2d8e4;
	--color-destructive: #b62b42;
	--fg-6: color-mix(in srgb, var(--color-foreground) 6%, transparent);
	--fg-10: color-mix(in srgb, var(--color-foreground) 10%, transparent);
	--fg-15: color-mix(in srgb, var(--color-foreground) 15%, transparent);
	--fg-20: color-mix(in srgb, var(--color-foreground) 20%, transparent);
	--fg-25: color-mix(in srgb, var(--color-foreground) 25%, transparent);
	--fg-30: color-mix(in srgb, var(--color-foreground) 30%, transparent);
	--fg-40: color-mix(in srgb, var(--color-foreground) 40%, transparent);
	--fg-45: color-mix(in srgb, var(--color-foreground) 45%, transparent);
	--fg-50: color-mix(in srgb, var(--color-foreground) 50%, transparent);
	--fg-55: color-mix(in srgb, var(--color-foreground) 55%, transparent);
	--fg-60: color-mix(in srgb, var(--color-foreground) 60%, transparent);
	--fg-62: color-mix(in srgb, var(--color-foreground) 62%, transparent);
	--fg-65: color-mix(in srgb, var(--color-foreground) 65%, transparent);
	--fg-70: color-mix(in srgb, var(--color-foreground) 70%, transparent);
	--fg-72: color-mix(in srgb, var(--color-foreground) 72%, transparent);
	--fg-75: color-mix(in srgb, var(--color-foreground) 75%, transparent);
	--fg-78: color-mix(in srgb, var(--color-foreground) 78%, transparent);
	--fg-80: color-mix(in srgb, var(--color-foreground) 80%, transparent);
	--fg-85: color-mix(in srgb, var(--color-foreground) 85%, transparent);
	--fg-90: color-mix(in srgb, var(--color-foreground) 90%, transparent);
	--fg-95: color-mix(in srgb, var(--color-foreground) 95%, transparent);
	--pr-10: color-mix(in srgb, var(--color-primary) 10%, transparent);
	--pr-15: color-mix(in srgb, var(--color-primary) 15%, transparent);
	--pr-20: color-mix(in srgb, var(--color-primary) 20%, transparent);
	--pr-25: color-mix(in srgb, var(--color-primary) 25%, transparent);
	--pr-30: color-mix(in srgb, var(--color-primary) 30%, transparent);
	--pr-40: color-mix(in srgb, var(--color-primary) 40%, transparent);
	--pr-50: color-mix(in srgb, var(--color-primary) 50%, transparent);
	--pr-60: color-mix(in srgb, var(--color-primary) 60%, transparent);
	--pr-65: color-mix(in srgb, var(--color-primary) 65%, transparent);
	--pr-90: color-mix(in srgb, var(--color-primary) 90%, transparent);
	--bg-10: color-mix(in srgb, var(--color-background) 10%, transparent);
	--bg-20: color-mix(in srgb, var(--color-background) 20%, transparent);
	--bg-25: color-mix(in srgb, var(--color-background) 25%, transparent);
	--bg-50: color-mix(in srgb, var(--color-background) 50%, transparent);
	--bg-60: color-mix(in srgb, var(--color-background) 60%, transparent);
	--bg-70: color-mix(in srgb, var(--color-background) 70%, transparent);
	--bg-80: color-mix(in srgb, var(--color-background) 80%, transparent);
	--bg-85: color-mix(in srgb, var(--color-background) 85%, transparent);
	--bg-90: color-mix(in srgb, var(--color-background) 90%, transparent);
	--se-10: color-mix(in srgb, var(--color-secondary) 10%, transparent);
	--se-30: color-mix(in srgb, var(--color-secondary) 30%, transparent);
	--se-40: color-mix(in srgb, var(--color-secondary) 40%, transparent);
	--se-50: color-mix(in srgb, var(--color-secondary) 50%, transparent);
	--se-60: color-mix(in srgb, var(--color-secondary) 60%, transparent);
	--se-65: color-mix(in srgb, var(--color-secondary) 65%, transparent);
	--color-ivory: var(--color-background);
	--color-primary-foreground: var(--color-background);
	--color-secondary-foreground: var(--color-foreground);
	--color-muted: var(--color-linen);
	--color-gold-deep: #ca9121;
	--color-gold-light: #f7d36e;
	--shadow-soft: 0 4px 20px -8px color-mix(in srgb, var(--color-foreground) 14%, transparent);
	--shadow-elevated: 0 20px 50px -18px color-mix(in srgb, var(--color-foreground) 26%, transparent);
	--font-body: 'Manrope', system-ui, -apple-system, sans-serif;
	--font-display: 'Playfair Display', Georgia, serif;
	--font-script: 'Great Vibes', cursive;
	--btn-radius: 9999px;
	--btn-height: 3rem;
	--btn-padding: 0 1.75rem;
	--btn-font-size: 14px;
	--btn-font-weight: 500;
	--btn-letter-spacing: normal;
	--btn-text-transform: none;
	--header-height: 8.5rem;
	--admin-bar-offset: 0px;
	--logo-height: 3rem;
	--checkout-max-width: 1280px;
	--checkout-gap: 2rem;
}

/* ---------- Base (preflight parity) ---------- */
*, *::before, *::after { box-sizing: border-box; border-width: 0; border-style: solid; border-color: var(--color-border); }
html { line-height: 1.5; -webkit-text-size-adjust: 100%; scroll-behavior: smooth; font-family: var(--font-body); }
html, body { max-width: 100%; overflow-x: clip; }
body { margin: 0; line-height: inherit; background-color: var(--color-background); color: var(--color-foreground); font-family: var(--font-body); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; margin: 0; }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-display); letter-spacing: -0.01em; font-weight: 500; }
p, blockquote, figure, dl, dd, ul, ol { margin: 0; }
ul, ol { list-style: none; padding: 0; }
a { color: inherit; text-decoration: inherit; }
b, strong { font-weight: bolder; }
img, svg, video { display: block; vertical-align: middle; }
img:not(.kqr-card__img):not(.kqr-about__img):not(.kqr-program__img):not(.kqr-founder__img):not(.kqr-quote__img):not(.kb-slide):not(.kqr-pdp__main-img):not(.kqr-pdp__thumb-img):not(.kqr-leader__img):not(.kqr-cart__thumb-img):not(.product-card-img):not(.kqr-header__logo-img):not(.kqr-footer__logo-img) { max-width: 100%; height: auto; }
button, input, select, textarea { font-family: inherit; font-size: 100%; font-weight: inherit; line-height: inherit; color: inherit; margin: 0; padding: 0; letter-spacing: inherit; }
button, select { text-transform: none; }
button, [type='button'], [type='submit'] { -webkit-appearance: button; background-color: transparent; background-image: none; }
button, a { cursor: pointer; }
button:disabled, [aria-disabled="true"] { cursor: not-allowed; }
:where(
	a, button, label, select, summary, [role="button"],
	.kqr-nav__link, .kqr-footer__link, .kqr-pill, .theme-cat-filter,
	.kqr-faq__toggle, .kqr-card__arrow, .kqr-pdp__thumb, .theme-thumb,
	.theme-attr-pill, .kqr-footer__top, .kqr-promo__close, .kqr-badge__button,
	.kqr-badge__close, .kqr-cart__close, .kqr-cart__qty-btn, .kqr-cart__remove,
	[data-cart-open], [data-cart-close], [data-faq-toggle], [data-faq-more],
	[data-shop-more-btn], [data-card-prev], [data-card-next], [data-carousel-prev],
	[data-carousel-next], [data-carousel-dot], [data-scroll-top], [data-promo-dismiss],
	[data-program-select]
) { cursor: pointer; }
table { border-collapse: collapse; border-color: inherit; text-indent: 0; }
textarea { resize: vertical; }
input::placeholder, textarea::placeholder { color: var(--fg-45); opacity: 1; }
section[id] { scroll-margin-top: calc(var(--header-height) + var(--admin-bar-offset)); }
[hidden] { display: none !important; }
.kqr-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border-width: 0; }

.container-wide { width: 100%; max-width: 80rem; margin-left: auto; margin-right: auto; padding-left: 1.25rem; padding-right: 1.25rem; }
@media (min-width: 640px) { .container-wide { padding-left: 1.5rem; padding-right: 1.5rem; } }
@media (min-width: 1024px) { .container-wide { padding-left: 2.5rem; padding-right: 2.5rem; } }

.footer-surface { background-color: var(--color-footer); }
.eyebrow { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.28em; color: var(--color-primary); }
.gold-text { background-image: linear-gradient(100deg, var(--color-gold-deep), var(--color-gold-light), var(--color-gold-deep)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.kqr-script { font-family: var(--font-script); font-weight: 400; font-style: normal; }
.kqr-italic { font-style: italic; }
.kqr-text-secondary { color: var(--color-secondary); }
.kqr-text-primary { color: var(--color-primary); }

.kqr-icon { flex-shrink: 0; width: 1rem; height: 1rem; }
.kqr-icon--xxs { width: 0.75rem; height: 0.75rem; }
.kqr-icon--xs { width: 0.875rem; height: 0.875rem; }
.kqr-icon--sm { width: 1rem; height: 1rem; }
.kqr-icon--md { width: 1.25rem; height: 1.25rem; }
.kqr-icon--lg { width: 1.75rem; height: 1.75rem; }
.kqr-icon--xl { width: 2rem; height: 2rem; }
.kqr-icon--top { margin-top: 0.125rem; }
.kqr-icon--center { margin-left: auto; margin-right: auto; }

/* ---------- Motion ---------- */
[data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity 900ms cubic-bezier(0.22, 1, 0.36, 1), transform 900ms cubic-bezier(0.22, 1, 0.36, 1); will-change: opacity, transform; }
[data-reveal].is-revealed { opacity: 1; transform: translateY(0); will-change: auto; }
body.is-customizer [data-reveal] { opacity: 1; transform: none; }
.marquee-track-fast { display: flex; width: max-content; animation: marquee-fast 26s linear infinite; }
@keyframes marquee-fast { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(-50%, 0, 0); } }
@keyframes kenburns {
	0% { opacity: 1; transform: scale(1.06) translate3d(0, 0, 0); }
	30% { opacity: 1; }
	38% { opacity: 0; transform: scale(1.18) translate3d(-1.5%, -1%, 0); }
	39% { opacity: 0; transform: scale(1.06) translate3d(0, 0, 0); }
	92% { opacity: 0; transform: scale(1.06) translate3d(0, 0, 0); }
	100% { opacity: 1; transform: scale(1.06) translate3d(0, 0, 0); }
}
.kb-slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; backface-visibility: hidden; opacity: 0; animation: kenburns var(--kb-cycle, 18s) linear infinite; animation-play-state: paused; will-change: transform, opacity; }
.kb-slide:first-child { opacity: 1; }
.kqr-slides.is-active .kb-slide { animation-play-state: running; }
.kqr-slides { position: absolute; inset: 0; overflow: hidden; contain: paint; }
@keyframes fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes slide-in-bottom { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@keyframes kqr-spin { to { transform: rotate(360deg); } }
.animate-fade-in { animation: fade-in 0.7s ease-out both; }
@media (prefers-reduced-motion: reduce) {
	[data-reveal] { opacity: 1; transform: none; transition: none; }
	.marquee-track-fast { animation: none; }
	.kb-slide { animation: none; opacity: 1; transform: none; will-change: auto; }
	.kb-slide ~ .kb-slide { opacity: 0; }
	.kqr-badge__rotor { animation: none !important; }
}

/* ---------- Buttons ---------- */
.kqr-btn { display: inline-flex; align-items: center; justify-content: center; gap: 0.5rem; white-space: nowrap; border: 1px solid transparent; border-radius: 9999px; font-size: 14px; font-weight: 500; line-height: 1.5; transition: color 0.15s, background-color 0.15s, border-color 0.15s; text-decoration: none; }
.kqr-btn svg { width: 1rem; height: 1rem; flex-shrink: 0; pointer-events: none; }
.kqr-btn:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; }
.kqr-btn--default { background-color: var(--color-primary); color: var(--color-background); border-color: var(--color-primary); }
.kqr-btn--default:hover { background-color: color-mix(in srgb, var(--color-primary) 90%, transparent); }
.kqr-btn--outline { background-color: transparent; color: var(--color-foreground); border-color: var(--fg-25); }
.kqr-btn--outline:hover { border-color: var(--color-foreground); background-color: color-mix(in srgb, var(--color-foreground) 4%, transparent); }
.kqr-btn--ghost { border-color: transparent; color: inherit; }
.kqr-btn--ghost:hover { background-color: color-mix(in srgb, var(--color-foreground) 5%, transparent); }
.kqr-btn--gold { background-color: var(--color-secondary); color: var(--color-foreground); border-color: var(--color-primary); }
.kqr-btn--gold:hover { background-color: var(--color-background); color: var(--color-primary); }
.kqr-btn--outline.kqr-btn--on-dark { border-color: var(--bg-50); background-color: var(--bg-10); color: var(--color-background); }
.kqr-btn--outline.kqr-btn--on-dark:hover { background-color: var(--color-background); color: var(--color-foreground); border-color: var(--bg-50); }
.kqr-btn--outline.kqr-btn--on-primary { border-color: color-mix(in srgb, var(--color-background) 50%, transparent); background-color: color-mix(in srgb, var(--color-background) 5%, transparent); color: var(--color-background); }
.kqr-btn--outline.kqr-btn--on-primary:hover { background-color: var(--color-background); color: var(--color-primary); }
.kqr-btn--s-default { height: 2.75rem; padding: 0.625rem 1.5rem; }
.kqr-btn--s-sm { height: 2.25rem; padding: 0 1rem; }
.kqr-btn--s-lg { height: 3rem; padding: 0 1.75rem; }
.kqr-btn--block { width: 100%; }
.kqr-btn[disabled], .kqr-btn.disabled { pointer-events: none; opacity: 0.6; }

/* ---------- Header ---------- */
.kqr-header { position: fixed; top: var(--admin-bar-offset); left: 0; right: 0; z-index: 50; }
body.admin-bar { --admin-bar-offset: 32px; }
@media screen and (max-width: 782px) {
	body.admin-bar { --admin-bar-offset: 46px; }
}
body.admin-bar #theme-cart-drawer {
	top: var(--admin-bar-offset);
	height: calc(100% - var(--admin-bar-offset));
}
.kqr-announce { background-color: var(--color-primary); padding: 0.5rem 1rem; text-align: center; font-size: 12px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.12em; color: var(--color-background); }
.kqr-announce__a { opacity: 0.9; }
.kqr-announce__b { color: var(--color-secondary); }
.kqr-header__bar { transition: background-color 0.5s, border-color 0.5s, color 0.5s; border-bottom: 1px solid transparent; background-color: transparent; }
.kqr-header.is-solid .kqr-header__bar { border-bottom-color: var(--pr-15); background-color: var(--color-background); box-shadow: var(--shadow-soft); }
.kqr-header__inner { display: flex; align-items: center; justify-content: space-between; height: 4rem; }
@media (min-width: 1024px) { .kqr-header__inner { height: 5rem; } }
@media (min-width: 1280px) { .kqr-header__inner { display: grid; grid-template-columns: 1fr auto 1fr; } }
.kqr-header__toggle { order: 1; display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; border-radius: 9999px; color: var(--color-background); transition: color 0.15s, background-color 0.15s; }
.kqr-header__toggle:hover { background-color: var(--bg-10); }
.kqr-header.is-solid .kqr-header__toggle { color: var(--color-foreground); }
.kqr-header.is-solid .kqr-header__toggle:hover { background-color: color-mix(in srgb, var(--color-foreground) 6%, transparent); }
.kqr-header__toggle-close { display: none; }
.kqr-header.is-menu-open .kqr-header__toggle-open { display: none; }
.kqr-header.is-menu-open .kqr-header__toggle-close { display: inline-flex; }
@media (min-width: 1280px) { .kqr-header__toggle { display: none; } }
.kqr-header__logo { order: 2; display: flex; flex-shrink: 0; align-items: center; }
@media (min-width: 1280px) { .kqr-header__logo { order: 1; justify-self: start; } }
.kqr-header__logo-img { height: var(--logo-height, 3rem); width: auto; flex-shrink: 0; object-fit: contain; }
.kqr-header__brand { display: none; font-family: var(--font-display); font-size: 17px; line-height: 1.25; letter-spacing: 0.06em; transition: color 0.5s; color: var(--color-background); }
.kqr-header.is-solid .kqr-header__brand { color: var(--color-foreground); }
@media (min-width: 640px) { .kqr-header__brand { display: block; margin-left: 0.5rem; font-size: 19px; } }
.kqr-header__brand-script { color: var(--color-secondary); }
.kqr-nav { order: 3; display: none; }
@media (min-width: 1280px) { .kqr-nav { order: 2; display: flex; align-items: center; justify-self: center; } }
.kqr-nav__list { display: flex; align-items: center; gap: 1rem; }
.kqr-nav__link { position: relative; display: block; font-size: 14px; font-weight: 500; transition: color 0.3s; color: var(--bg-85); }
.kqr-nav__link--page { font-size: 13px; }
.kqr-nav__link:hover, .kqr-nav__link.is-active { color: var(--color-background); }
.kqr-header.is-solid .kqr-nav__link { color: var(--fg-75); }
.kqr-header.is-solid .kqr-nav__link:hover, .kqr-header.is-solid .kqr-nav__link.is-active { color: var(--color-primary); }
.kqr-nav__bar { pointer-events: none; position: absolute; bottom: -0.375rem; left: 50%; height: 2px; width: 1rem; transform: translateX(-50%) scaleX(0); opacity: 0; border-radius: 9999px; background-color: var(--color-secondary); transition: all 0.3s; }
.kqr-nav__link.is-active .kqr-nav__bar { transform: translateX(-50%) scaleX(1); opacity: 1; }
.kqr-header__actions { order: 3; display: flex; align-items: center; gap: 0.5rem; justify-self: end; }
.kqr-header__donate { display: none; }
@media (min-width: 1280px) { .kqr-header__donate { display: inline-flex; } }
.kqr-header__cart { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; border-radius: 9999px; color: var(--color-background); transition: color 0.15s, background-color 0.15s; }
.kqr-header__cart:hover { background-color: var(--bg-10); }
.kqr-header.is-solid .kqr-header__cart { color: var(--color-foreground); }
.kqr-header.is-solid .kqr-header__cart:hover { background-color: color-mix(in srgb, var(--color-foreground) 6%, transparent); }
.theme-cart-count { position: absolute; right: -0.125rem; top: -0.125rem; display: flex; align-items: center; justify-content: center; height: 18px; min-width: 18px; padding: 0 0.25rem; border-radius: 9999px; background-color: var(--color-secondary); font-size: 12px; font-weight: 600; color: var(--color-foreground); }
.theme-cart-count:empty { display: none; }
.kqr-mobile-menu { border-top: 1px solid var(--pr-15); background-color: var(--color-background); animation: fade-in 0.7s ease-out both; }
@media (min-width: 1280px) { .kqr-mobile-menu { display: none !important; } }
.kqr-mobile-menu__inner { display: flex; flex-direction: column; padding-top: 1rem; padding-bottom: 1rem; }
.kqr-mobile-menu__list { display: block; }
.kqr-mobile-menu .kqr-nav__link, .kqr-mobile-menu .kqr-nav__link--page { display: block; padding: 0.75rem 0; font-size: 14px; text-align: left; color: color-mix(in srgb, var(--color-foreground) 80%, transparent); border-bottom: 1px solid color-mix(in srgb, var(--color-primary) 10%, transparent); }
.kqr-mobile-menu .kqr-nav__link:hover { color: var(--color-primary); }
.kqr-mobile-menu li:last-child .kqr-nav__link { border-bottom: 0; }
.kqr-mobile-menu .kqr-nav__bar { display: none; }
.kqr-mobile-menu__donate { margin-top: 1rem; width: 100%; }

/* ---------- Hero ---------- */
.kqr-hero { position: relative; display: flex; flex-direction: column; justify-content: flex-end; width: 100%; min-height: 100vh; overflow: hidden; }
.kqr-hero__shade-a { position: absolute; inset: 0; background-color: var(--fg-45); }
.kqr-hero__shade-b { position: absolute; inset: 0; background-image: linear-gradient(to top, color-mix(in srgb, var(--color-foreground) 95%, transparent), var(--fg-25), var(--fg-55)); }
.kqr-hero__body { position: relative; width: 100%; padding-top: 8rem; padding-bottom: 3.5rem; }
@media (min-width: 640px) { .kqr-hero__body { padding-bottom: 4rem; } }
.kqr-hero__badge { display: inline-flex; align-items: center; gap: 0.625rem; border-radius: 9999px; border: 1px solid color-mix(in srgb, var(--color-background) 25%, transparent); background-color: var(--bg-10); padding: 0.5rem 1rem; font-size: 13px; font-weight: 500; color: var(--color-background); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.kqr-hero__title { margin-top: 1.75rem; max-width: 56rem; font-family: var(--font-display); font-size: 13vw; line-height: 0.95; color: var(--color-background); }
@media (min-width: 640px) { .kqr-hero__title { font-size: 3.75rem; } }
@media (min-width: 1024px) { .kqr-hero__title { font-size: 5.2rem; } }
.kqr-hero__text { margin-top: 1.75rem; max-width: 36rem; font-size: 15px; line-height: 1.625; color: var(--bg-85); }
@media (min-width: 640px) { .kqr-hero__text { font-size: 16px; } }
.kqr-hero__actions { margin-top: 2.25rem; display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem; }
.kqr-hero__tagline { margin-top: 2rem; display: inline-flex; align-items: center; gap: 0.5rem; font-size: 13px; color: var(--bg-70); }

/* ---------- About ---------- */
.kqr-about { background-color: var(--color-background); padding: 7rem 0; }
@media (min-width: 640px) { .kqr-about { padding: 9rem 0; } }
.kqr-about__head { max-width: 48rem; }
.kqr-about__title { margin-top: 1.75rem; font-size: 3rem; line-height: 1.02; color: var(--color-foreground); }
@media (min-width: 640px) { .kqr-about__title { font-size: 3.75rem; } }
@media (min-width: 1024px) { .kqr-about__title { font-size: 4.5rem; } }
.kqr-about__grid { margin-top: 5rem; display: grid; gap: 4rem; }
@media (min-width: 1024px) { .kqr-about__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 5rem; } .kqr-about__media { grid-column: span 5 / span 5; position: sticky; top: 6rem; align-self: start; } .kqr-about__copy { grid-column: span 7 / span 7; } }
.kqr-about__frame { aspect-ratio: 4 / 5; overflow: hidden; border-radius: 1rem; background-color: var(--color-muted); box-shadow: var(--shadow-elevated); }
.kqr-about__img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1); }
.kqr-about__img:hover { transform: scale(1.03); }
.kqr-about__lead { font-family: var(--font-display); font-size: 1.875rem; line-height: 1.375; color: var(--color-foreground); }
@media (min-width: 640px) { .kqr-about__lead { font-size: 34px; } }
.kqr-about__body { margin-top: 2.5rem; font-size: 1rem; line-height: 1.85; color: var(--color-muted-foreground); }
.kqr-about__body > * + * { margin-top: 1.5rem; }
.kqr-about__pillars { margin-top: 3rem; display: grid; gap: 2rem; border-top: 1px solid var(--color-border); padding-top: 3rem; }
@media (min-width: 640px) { .kqr-about__pillars { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .kqr-about__pillars { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; } }
.kqr-pillar { display: flex; flex-direction: column; gap: 0.875rem; }
.kqr-pillar__icon { display: inline-flex; width: 2.25rem; height: 2.25rem; align-items: center; justify-content: center; border-radius: 9999px; background-color: var(--pr-10); color: var(--color-primary); }
.kqr-pillar__title { font-size: 1rem; font-weight: 600; line-height: 1.25; color: var(--color-foreground); }
.kqr-pillar__body { margin-top: 0.5rem; font-size: 14px; line-height: 1.625; color: var(--color-muted-foreground); }

/* ---------- Founder ---------- */
.kqr-founder { background-color: var(--color-ivory); padding: 6rem 0; }
@media (min-width: 640px) { .kqr-founder { padding: 8rem 0; } }
.kqr-founder__grid { display: grid; gap: 3rem; }
@media (min-width: 1024px) { .kqr-founder__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 4rem; } .kqr-founder__side { grid-column: span 5 / span 5; } .kqr-founder__copy { grid-column: span 7 / span 7; } }
.kqr-founder__name { margin-top: 1.5rem; font-size: 2.25rem; line-height: 1.06; color: var(--color-foreground); }
@media (min-width: 640px) { .kqr-founder__name { font-size: 3rem; } }
.kqr-founder__role { margin-top: 1rem; font-size: 14px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.18em; color: var(--fg-55); }
.kqr-founder__photo { margin-top: 2rem; overflow: hidden; border-radius: 0.5rem; border: 1px solid var(--pr-15); background-color: var(--color-linen); }
@media (min-width: 1024px) { .kqr-founder__photo { position: sticky; top: 7rem; } }
.kqr-founder__img { width: 100%; height: 100%; object-fit: cover; }
.kqr-founder__paras { margin-top: 1.5rem; font-size: 15px; line-height: 1.9; color: var(--fg-78); }
.kqr-founder__paras > * + * { margin-top: 1.25rem; }
.kqr-founder__sign { margin-top: 2.5rem; border-top: 1px solid var(--pr-15); padding-top: 1.75rem; }
.kqr-founder__sign-script { font-family: var(--font-display); font-size: 1.875rem; line-height: 2.25rem; font-style: italic; color: var(--color-primary); }
.kqr-founder__sign-by { margin-top: 0.5rem; font-size: 14px; color: var(--fg-65); }

/* ---------- Programs ---------- */
.kqr-programs { background-color: var(--color-bone); padding: 6rem 0; }
@media (min-width: 640px) { .kqr-programs { padding: 8rem 0; } }
.kqr-programs__head { max-width: 48rem; }
.kqr-programs__title { margin-top: 1.5rem; font-size: 2.25rem; line-height: 1.06; color: var(--color-foreground); }
@media (min-width: 640px) { .kqr-programs__title { font-size: 3rem; } }
@media (min-width: 1024px) { .kqr-programs__title { font-size: 3.4rem; } }
.kqr-programs__intro { margin-top: 1.5rem; max-width: 42rem; font-size: 15px; line-height: 1.625; color: var(--fg-72); }
.kqr-programs__carousel { margin-top: 3.5rem; }
.kqr-programs__stage { position: relative; }
.kqr-programs__viewport { overflow: hidden; border-radius: 1rem; border: 1px solid var(--pr-15); background-color: var(--color-ivory); box-shadow: var(--shadow-soft); }
.kqr-programs__track { display: flex; transition: transform 0.7s ease-out; }
.kqr-program { width: 100%; flex-shrink: 0; }
.kqr-program__grid { display: grid; }
@media (min-width: 1024px) { .kqr-program__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.kqr-program__media { position: relative; aspect-ratio: 4 / 3; overflow: hidden; }
@media (min-width: 1024px) { .kqr-program__media { aspect-ratio: auto; } }
.kqr-program__img { width: 100%; height: 100%; object-fit: cover; }
.kqr-program__shade { position: absolute; inset: 0; background-image: linear-gradient(to top, var(--fg-60), var(--fg-10), transparent); }
@media (min-width: 1024px) { .kqr-program__shade { background-image: linear-gradient(to right, var(--fg-60), var(--fg-10), transparent); } }
.kqr-program__cap { position: absolute; left: 0; right: 0; bottom: 0; z-index: 10; padding: 1.5rem; }
@media (min-width: 1024px) { .kqr-program__cap { top: 0; display: flex; flex-direction: column; justify-content: flex-end; } }
.kqr-program__num { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.2em; color: var(--color-secondary); }
.kqr-program__name { margin-top: 0.375rem; font-size: 1.875rem; line-height: 1.25; color: var(--color-background); }
@media (min-width: 640px) { .kqr-program__name { font-size: 2.25rem; } }
.kqr-program__info { display: flex; flex-direction: column; justify-content: center; padding: 1.75rem; }
@media (min-width: 640px) { .kqr-program__info { padding: 2.5rem; } }
@media (min-width: 1024px) { .kqr-program__info { padding: 3rem; } }
.kqr-program__tagline { font-family: var(--font-display); font-size: 1.5rem; line-height: 2rem; font-style: italic; color: var(--color-primary); }
@media (min-width: 640px) { .kqr-program__tagline { font-size: 28px; } }
.kqr-program__desc { margin-top: 1rem; font-size: 15px; line-height: 1.625; color: var(--fg-72); }
.kqr-program__focus { margin-top: 1.5rem; }
.kqr-program__focus li { display: flex; align-items: flex-start; gap: 0.75rem; font-size: 14px; color: var(--fg-78); }
.kqr-program__focus li + li { margin-top: 0.75rem; }
.kqr-program__actions { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: 0.75rem; }
.kqr-programs__arrows { pointer-events: none; position: absolute; top: 0; bottom: 0; left: 0; right: 0; display: none; align-items: center; justify-content: space-between; padding: 0 0.5rem; }
@media (min-width: 640px) { .kqr-programs__arrows { padding: 0 1rem; } }
@media (min-width: 1024px) { .kqr-programs__arrows { display: flex; } }
.kqr-programs__arrows .kqr-circle-btn { pointer-events: auto; }
.kqr-programs__mobile-arrows { margin-top: 1rem; display: flex; align-items: center; justify-content: center; gap: 1rem; }
@media (min-width: 1024px) { .kqr-programs__mobile-arrows { display: none; } }
.kqr-circle-btn { display: inline-flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; border-radius: 9999px; border: 1px solid var(--pr-15); background-color: var(--color-background); color: var(--color-foreground); box-shadow: var(--shadow-soft); transition: all 0.15s; }
@media (min-width: 640px) { .kqr-circle-btn { width: 3rem; height: 3rem; } }
.kqr-circle-btn:hover { background-color: var(--color-primary); color: var(--color-background); }
.kqr-programs__dots { margin-top: 1.5rem; display: flex; align-items: center; justify-content: center; gap: 0.5rem; }
.kqr-dot { height: 0.5rem; width: 0.5rem; border-radius: 9999px; background-color: var(--pr-25); transition: all 0.3s; }
.kqr-dot:hover { background-color: var(--pr-50); }
.kqr-dot.is-active { width: 2rem; background-color: var(--color-primary); }
.kqr-programs__cta { margin-top: 3.5rem; display: grid; align-items: center; gap: 2rem; border-radius: 1rem; border: 1px solid var(--color-primary); background-color: var(--color-primary); padding: 2rem; color: var(--color-background); }
@media (min-width: 640px) { .kqr-programs__cta { padding: 3rem; } }
@media (min-width: 1024px) { .kqr-programs__cta { grid-template-columns: repeat(12, minmax(0, 1fr)); } .kqr-programs__cta-icon { grid-column: span 1 / span 1; } .kqr-programs__cta-copy { grid-column: span 8 / span 8; } .kqr-programs__cta-btn { grid-column: span 3 / span 3; justify-self: end; } }
.kqr-programs__cta h3 { font-size: 1.5rem; line-height: 1.25; }
@media (min-width: 640px) { .kqr-programs__cta h3 { font-size: 1.875rem; } }
@media (min-width: 1024px) { .kqr-programs__cta h3 { font-size: 34px; } }
.kqr-programs__cta p { margin-top: 0.75rem; max-width: 42rem; font-size: 14px; line-height: 1.625; color: color-mix(in srgb, var(--color-background) 80%, transparent); }

/* ---------- Testimonials ---------- */
.kqr-testimonials { background-color: var(--color-primary); padding: 6rem 0; color: var(--color-background); }
@media (min-width: 640px) { .kqr-testimonials { padding: 8rem 0; } }
.kqr-testimonials__head { max-width: 48rem; }
.kqr-testimonials__eyebrow { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.18em; color: var(--color-secondary); }
.kqr-testimonials__title { margin-top: 1.5rem; font-size: 2.25rem; line-height: 1.06; }
@media (min-width: 640px) { .kqr-testimonials__title { font-size: 3rem; } }
.kqr-testimonials__grid { margin-top: 3.5rem; display: grid; gap: 2.5rem; }
@media (min-width: 1024px) { .kqr-testimonials__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4rem; } }
.kqr-testimonial { border-top: 1px solid color-mix(in srgb, var(--color-background) 20%, transparent); padding-top: 2rem; }
.kqr-testimonial__quote { margin-top: 1.25rem; font-family: var(--font-display); font-size: 1.5rem; line-height: 1.625; }
@media (min-width: 640px) { .kqr-testimonial__quote { font-size: 1.875rem; } }
.kqr-testimonial__caption { margin-top: 1.5rem; font-size: 13px; text-transform: uppercase; letter-spacing: 0.14em; color: color-mix(in srgb, var(--color-background) 65%, transparent); }

/* ---------- Join + shared forms ---------- */
.kqr-join { background-color: var(--color-ivory); padding: 6rem 0; }
@media (min-width: 640px) { .kqr-join { padding: 8rem 0; } }
.kqr-join__grid { display: grid; align-items: start; gap: 3rem; }
@media (min-width: 1024px) { .kqr-join__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 4rem; } .kqr-join__intro { grid-column: span 5 / span 5; } .kqr-join__form { grid-column: span 7 / span 7; } }
.kqr-join__title { margin-top: 1.5rem; font-size: 2.25rem; line-height: 1.06; color: var(--color-foreground); }
@media (min-width: 640px) { .kqr-join__title { font-size: 3rem; } }
.kqr-join__text { margin-top: 1.5rem; font-size: 15px; line-height: 1.625; color: var(--fg-72); }
.kqr-join__steps { margin-top: 2.5rem; }
.kqr-join__steps li { display: flex; gap: 1rem; }
.kqr-join__steps li + li { margin-top: 1.25rem; }
.kqr-join__step-num { margin-top: 0.125rem; display: grid; width: 2rem; height: 2rem; flex-shrink: 0; place-items: center; border-radius: 9999px; background-color: var(--color-primary); font-size: 13px; font-weight: 600; color: var(--color-background); }
.kqr-join__steps p { font-size: 14px; line-height: 1.625; color: var(--fg-75); }
.kqr-join__schol { margin-top: 2.5rem; border-radius: 0.5rem; border: 1px solid var(--se-40); background-color: var(--se-10); padding: 1.5rem; }
.kqr-join__schol-title { display: inline-flex; align-items: center; gap: 0.5rem; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.18em; color: var(--color-primary); }
.kqr-join__schol-text { margin-top: 0.75rem; font-size: 14px; line-height: 1.625; color: var(--fg-75); }
.kqr-form { border-radius: 0.5rem; border: 1px solid var(--pr-15); background-color: var(--color-linen); padding: 1.5rem; box-shadow: var(--shadow-soft); }
@media (min-width: 640px) { .kqr-join__form { padding: 2rem; } }
.kqr-form__grid { display: grid; gap: 1rem; }
@media (min-width: 640px) { .kqr-form__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .kqr-form__full { grid-column: span 2 / span 2; } }
.kqr-label { margin-bottom: 0.5rem; display: block; font-size: 12px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.18em; color: var(--fg-60); }
.kqr-label--wide { font-weight: 400; letter-spacing: 0.2em; }
.kqr-input { width: 100%; height: 3rem; padding: 0 1rem; background-color: var(--color-ivory); border: 1px solid var(--pr-20); border-radius: 0.375rem; font-size: 14px; color: var(--color-foreground); font-family: var(--font-body); transition: border-color 0.15s; }
.kqr-input:focus { outline: none; border-color: var(--color-primary); }
.kqr-input--select { -webkit-appearance: none; appearance: none; padding-right: 2.5rem; }
.kqr-input--area { height: auto; resize: none; padding-top: 0.75rem; padding-bottom: 0.75rem; }
.kqr-select { position: relative; }
.kqr-select__chevron { pointer-events: none; position: absolute; right: 1rem; top: 50%; transform: translateY(-50%); color: var(--fg-55); }
.kqr-form__checks { margin-top: 1.25rem; }
.kqr-form__checks > * + * { margin-top: 0.75rem; }
.kqr-check { display: flex; cursor: pointer; align-items: flex-start; gap: 0.75rem; border-radius: 0.375rem; border: 1px solid var(--pr-15); background-color: var(--color-ivory); padding: 1rem; }
.kqr-check__box { margin-top: 0.125rem; display: grid; width: 1.25rem; height: 1.25rem; flex-shrink: 0; place-items: center; border-radius: 0.25rem; border: 1px solid color-mix(in srgb, var(--color-foreground) 30%, transparent); background-color: var(--color-background); color: var(--color-background); transition: color 0.15s, background-color 0.15s, border-color 0.15s; }
.kqr-check__tick { width: 0.875rem; height: 0.875rem; display: none; }
.kqr-check.is-checked .kqr-check__box { border-color: var(--color-primary); background-color: var(--color-primary); }
.kqr-check.is-checked .kqr-check__tick { display: block; }
.kqr-check__text { font-size: 14px; line-height: 1.625; color: color-mix(in srgb, var(--color-foreground) 80%, transparent); }
.kqr-form__message { margin-top: 1.25rem; }
.kqr-join__form .kqr-form__submit { margin-top: 1.5rem; }
.kqr-form__submit-sent { display: none; }
.kqr-form__submit.is-sent .kqr-form__submit-default { display: none; }
.kqr-form__submit.is-sent .kqr-form__submit-sent { display: inline; }
.kqr-form__submit-default { display: inline-flex; align-items: center; gap: 0.5rem; }
.kqr-form__note { margin-top: 0.75rem; text-align: center; font-size: 12px; line-height: 1.625; color: var(--fg-55); }

/* ---------- Shop quote ---------- */
.kqr-quote { position: relative; display: flex; align-items: center; justify-content: center; width: 100%; min-height: 60vh; overflow: hidden; padding: 6rem 0; }
@media (min-width: 640px) { .kqr-quote { min-height: 70vh; } }
.kqr-quote__img { position: absolute; top: -10%; left: 0; width: 100%; height: 120%; object-fit: cover; }
.kqr-quote__shade-a { position: absolute; inset: 0; background-color: var(--fg-55); }
.kqr-quote__shade-b { position: absolute; inset: 0; background-image: linear-gradient(to bottom, color-mix(in srgb, var(--color-foreground) 75%, transparent), color-mix(in srgb, var(--color-foreground) 35%, transparent), color-mix(in srgb, var(--color-foreground) 80%, transparent)); }
.kqr-quote__inner { position: relative; z-index: 10; margin: 0 auto; width: 100%; max-width: 56rem; padding: 0 1.5rem; text-align: center; }
@media (min-width: 640px) { .kqr-quote__inner { padding: 0 2rem; } }
.kqr-quote__rule { margin: 0 auto 2rem; height: 1px; width: 6rem; background-image: linear-gradient(to right, transparent, var(--color-secondary), transparent); }
.kqr-quote__rule--end { margin: 2rem auto 0; }
.kqr-quote__text { font-family: var(--font-display); font-size: 1.875rem; line-height: 1.2; color: var(--color-background); }
@media (min-width: 640px) { .kqr-quote__text { font-size: 2.25rem; } }
@media (min-width: 768px) { .kqr-quote__text { font-size: 3rem; } }
@media (min-width: 1024px) { .kqr-quote__text { font-size: 3.4rem; } }
.kqr-quote__cite { margin-top: 2rem; font-family: var(--font-script); font-size: 1.5rem; line-height: 2rem; color: var(--color-secondary); }
@media (min-width: 640px) { .kqr-quote__cite { font-size: 1.875rem; line-height: 2.25rem; } }

/* ---------- Shop + product cards ---------- */
.kqr-shop { background-color: var(--color-bone); padding: 6rem 0; }
@media (min-width: 768px) { .kqr-shop { padding: 8rem 0; } }
.kqr-shop__head { margin-bottom: 2.5rem; display: flex; flex-direction: column; gap: 1.5rem; }
@media (min-width: 1024px) { .kqr-shop__head { flex-direction: row; align-items: flex-end; justify-content: space-between; } }
.kqr-shop__intro { max-width: 42rem; }
.kqr-shop__title { margin-top: 1.25rem; font-size: 2.25rem; line-height: 1.05; color: var(--color-foreground); }
@media (min-width: 768px) { .kqr-shop__title { font-size: 3rem; } }
@media (min-width: 1024px) { .kqr-shop__title { font-size: 3.2rem; } }
.kqr-shop__title-em { font-style: italic; color: var(--color-primary); }
.kqr-shop__text { margin-top: 1.25rem; max-width: 36rem; font-size: 15px; line-height: 1.625; color: var(--fg-72); }
.kqr-shop__search { position: relative; width: 100%; }
@media (min-width: 1024px) { .kqr-shop__search { width: 20rem; } }
.kqr-shop__search-icon { position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); color: var(--fg-40); }
.kqr-shop__search-input { height: 2.75rem; width: 100%; border-radius: 9999px; border: 1px solid var(--pr-20); background-color: var(--color-ivory); padding: 0 1rem 0 2.75rem; font-size: 14px; transition: border-color 0.15s; -webkit-appearance: none; appearance: none; }
.kqr-shop__search-input:focus { border-color: var(--color-primary); outline: none; }
.kqr-shop__pills { margin-bottom: 2.5rem; display: flex; flex-wrap: wrap; gap: 0.625rem; }
.kqr-pill.kqr-btn--default, .kqr-pill.kqr-btn--outline { border-radius: 9999px; }
.kqr-pill:not(.is-active) { background-color: transparent; color: var(--color-foreground); border-color: var(--fg-25); }
.kqr-pill:not(.is-active):hover { border-color: var(--color-foreground); background-color: color-mix(in srgb, var(--color-foreground) 4%, transparent); }
.kqr-pill.is-active { background-color: var(--color-primary); color: var(--color-background); border-color: var(--color-primary); }
.kqr-shop__grid { display: grid; grid-template-columns: minmax(0, 1fr); column-gap: 1.5rem; row-gap: 3rem; align-items: stretch; }
@media (min-width: 640px) { .kqr-shop__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .kqr-shop__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.kqr-shop__empty { padding: 5rem 0; text-align: center; color: var(--fg-55); }
.kqr-shop__more { margin-top: 3rem; display: flex; justify-content: center; }
.kqr-shop__note { margin-top: 3.5rem; display: inline-flex; align-items: center; gap: 0.625rem; border-radius: 9999px; border: 1px solid var(--se-40); background-color: var(--se-10); padding: 0.75rem 1.25rem; font-size: 14px; color: var(--fg-80); }
.kqr-shop__note svg { flex-shrink: 0; }

.theme-product-card { display: flex; flex-direction: column; height: 100%; border-radius: 1rem; border: 1px solid var(--pr-15); background-color: var(--color-ivory); box-shadow: var(--shadow-soft); transition: opacity 900ms cubic-bezier(0.22, 1, 0.36, 1), transform 500ms cubic-bezier(0.4, 0, 0.2, 1), box-shadow 500ms cubic-bezier(0.4, 0, 0.2, 1); }
.theme-product-card.is-revealed:hover { transform: translateY(-0.25rem); box-shadow: var(--shadow-elevated); }
.kqr-card__media { position: relative; aspect-ratio: 1 / 1; overflow: hidden; border-radius: 1rem 1rem 0 0; }
.theme-card-link { position: absolute; inset: 0; z-index: 0; display: block; }
.kqr-card__img { position: static; width: 100%; height: 100%; object-fit: contain; padding: 1rem; pointer-events: none; transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1); }
.theme-product-card:hover .kqr-card__img { transform: scale(1.05); }
.kqr-card__badge { position: absolute; left: 1rem; top: 1rem; z-index: 10; border-radius: 9999px; border: 1px solid var(--se-30); background-color: var(--bg-90); padding: 0.375rem 0.75rem; font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.12em; color: var(--color-primary); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.kqr-card__badge--sold { background-color: var(--color-foreground); color: var(--color-background); font-size: 11px; letter-spacing: 0.05em; border-color: transparent; }
.kqr-card__arrow { position: absolute; top: 50%; z-index: 20; display: inline-flex; width: 2rem; height: 2rem; align-items: center; justify-content: center; transform: translateY(-50%); border-radius: 9999px; background-color: color-mix(in srgb, var(--color-linen) 90%, transparent); color: var(--color-foreground); opacity: 0; box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); transition: all 0.3s; }
.kqr-card__arrow--prev { left: 0.5rem; }
.kqr-card__arrow--next { right: 0.5rem; }
.kqr-card__arrow:hover { background-color: var(--color-primary); color: var(--color-background); }
.theme-product-card:hover .kqr-card__arrow { opacity: 1; }
.kqr-card__dots { pointer-events: none; position: absolute; right: 1rem; top: 1rem; z-index: 10; display: flex; gap: 0.25rem; }
.kqr-card__dot { height: 0.25rem; width: 0.25rem; border-radius: 9999px; background-color: color-mix(in srgb, var(--color-primary) 40%, transparent); transition: all 0.15s; }
.kqr-card__dot.is-active { width: 1rem; background-color: var(--color-primary); }
.kqr-card__info { display: flex; flex: 1; flex-direction: column; padding: 1.5rem; text-align: center; }
@media (min-width: 640px) { .kqr-card__info { padding: 1.75rem; } }
.kqr-card__title-link { display: block; }
.kqr-card__title { font-family: var(--font-display); font-size: 1.35rem; line-height: 1.25; color: var(--color-foreground); transition: color 0.3s; }
@media (min-width: 640px) { .kqr-card__title { font-size: 1.5rem; } }
.theme-product-card:hover .kqr-card__title { color: var(--color-primary); }
.kqr-card__price-row { margin: 0.75rem 0; display: flex; align-items: center; justify-content: center; gap: 0.75rem; }
.kqr-card__price-rule { height: 1px; flex: 1 1 0%; max-width: 3rem; background-image: linear-gradient(to right, transparent, var(--se-50), transparent); }
.kqr-card__price { font-size: 15px; font-weight: 500; color: var(--fg-85); }
.kqr-card__price ins { text-decoration: none; }
.kqr-card__desc { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 13px; line-height: 1.625; color: var(--fg-62); }
.kqr-card__action { margin-top: auto; padding-top: 1.5rem; }
.kqr-card__soldout { display: inline-flex; width: 100%; align-items: center; justify-content: center; border-radius: 0.125rem; border: 1px solid var(--fg-20); padding: 0.875rem 0; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.2em; color: var(--fg-55); }

/* ---------- FAQ ---------- */
.kqr-faq { background-color: var(--color-linen); padding: 6rem 0; }
@media (min-width: 640px) { .kqr-faq { padding: 8rem 0; } }
.kqr-faq__grid { display: grid; align-items: start; gap: 3rem; }
@media (min-width: 1024px) { .kqr-faq__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 5rem; } .kqr-faq__side { grid-column: span 5 / span 5; position: sticky; top: 7rem; align-self: start; } .kqr-faq__main { grid-column: span 7 / span 7; } }
.kqr-faq__title { margin-top: 1.5rem; font-size: 2.25rem; line-height: 1.06; color: var(--color-foreground); }
@media (min-width: 640px) { .kqr-faq__title { font-size: 3rem; } }
@media (min-width: 1024px) { .kqr-faq__title { font-size: 3.2rem; } }
.kqr-faq__intro { margin-top: 1.5rem; max-width: 28rem; font-size: 15px; line-height: 1.625; color: var(--fg-72); }
.kqr-faq__box { margin-top: 2.5rem; border-radius: 0.5rem; border: 1px solid var(--pr-15); background-color: var(--color-ivory); padding: 1.75rem; }
.kqr-faq__box-icon { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border-radius: 9999px; background-color: var(--color-primary); color: var(--color-background); }
.kqr-faq__box-title { margin-top: 1.25rem; font-size: 1.25rem; line-height: 1.75rem; color: var(--color-foreground); }
.kqr-faq__box-text { margin-top: 0.75rem; font-size: 14px; line-height: 1.625; color: var(--fg-72); }
.kqr-faq__box-btn { margin-top: 1.5rem; display: inline-flex; align-items: center; border-radius: 9999px; background-color: var(--color-primary); padding: 0.75rem 1.5rem; font-size: 14px; font-weight: 500; color: var(--color-background); transition: background-color 0.15s; }
.kqr-faq__box-btn:hover { background-color: var(--color-foreground); }
.kqr-faq__list { border-top: 1px solid var(--pr-15); border-bottom: 1px solid var(--pr-15); }
.kqr-faq__list > li + li { border-top: 1px solid var(--pr-15); }
.kqr-faq__q { display: flex; width: 100%; align-items: flex-start; justify-content: space-between; gap: 1.5rem; padding: 1.5rem 0; text-align: left; }
.kqr-faq__q-text { font-family: var(--font-display); font-size: 1.25rem; line-height: 1.375; color: var(--color-foreground); }
@media (min-width: 640px) { .kqr-faq__q-text { font-size: 1.4rem; } }
.kqr-faq__chevron { margin-top: 0.25rem; width: 20px; height: 20px; flex-shrink: 0; color: var(--color-primary); transition: transform 0.3s; }
.kqr-faq__q[aria-expanded='true'] .kqr-faq__chevron { transform: rotate(180deg); }
.kqr-faq__panel { display: grid; grid-template-rows: 0fr; opacity: 0; transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1); }
.kqr-faq__panel.is-open { grid-template-rows: 1fr; opacity: 1; }
.kqr-faq__panel-inner { min-height: 0; overflow: hidden; }
.kqr-faq__a { max-width: 42rem; padding: 0 1rem 1.75rem 0; font-size: 15px; line-height: 1.625; color: var(--fg-72); }
@media (min-width: 640px) { .kqr-faq__a { padding-right: 2rem; } }
.kqr-faq__more { margin-top: 2.5rem; display: flex; justify-content: center; }
@media (min-width: 1024px) { .kqr-faq__more { justify-content: flex-start; } }
.kqr-faq__more-btn { display: inline-flex; align-items: center; gap: 0.5rem; border-radius: 9999px; border: 1px solid var(--pr-30); padding: 0.875rem 1.75rem; font-size: 14px; font-weight: 500; color: var(--color-foreground); transition: color 0.15s, background-color 0.15s; }
.kqr-faq__more-btn:hover { background-color: var(--color-primary); color: var(--color-background); }

/* ---------- Donate ---------- */
.kqr-donate { background-color: var(--color-background); }
.kqr-donate__head { border-bottom: 1px solid color-mix(in srgb, var(--color-primary) 10%, transparent); padding: 5rem 0; }
@media (min-width: 640px) { .kqr-donate__head { padding: 7rem 0; } }
.kqr-donate__head-grid { display: grid; align-items: end; gap: 2.5rem; }
@media (min-width: 1024px) { .kqr-donate__head-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); } .kqr-donate__head-main { grid-column: span 8 / span 8; } .kqr-donate__head-text { grid-column: span 4 / span 4; } }
.kqr-donate__title { margin-top: 1.5rem; font-size: 3rem; line-height: 1.02; color: var(--color-foreground); }
@media (min-width: 640px) { .kqr-donate__title { font-size: 3.75rem; } }
@media (min-width: 1024px) { .kqr-donate__title { font-size: 4.5rem; } }
.kqr-donate__head-text { font-size: 15px; line-height: 1.625; color: var(--color-muted-foreground); }
.kqr-donate__levels { background-color: var(--color-ivory); padding: 5rem 0; }
@media (min-width: 640px) { .kqr-donate__levels { padding: 7rem 0; } }
.kqr-donate__levels-head { margin: 0 auto; max-width: 48rem; text-align: center; }
.kqr-donate__h3 { margin-top: 1.25rem; font-family: var(--font-display); font-size: 2.25rem; line-height: 1.25; color: var(--color-foreground); }
@media (min-width: 640px) { .kqr-donate__h3 { font-size: 3rem; } }
.kqr-donate__h3--left { margin-top: 1.5rem; }
.kqr-donate__p { margin-top: 1.25rem; font-size: 15px; line-height: 1.625; color: var(--color-muted-foreground); }
.kqr-donate__p--left { margin-top: 1.5rem; }
.kqr-donate__grid { margin-top: 3.5rem; display: grid; gap: 1.25rem; }
@media (min-width: 768px) { .kqr-donate__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .kqr-donate__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.kqr-level { display: flex; flex-direction: column; border-radius: 0.5rem; border: 1px solid var(--pr-15); background-color: var(--color-background); padding: 1.75rem; box-shadow: var(--shadow-soft); }
.kqr-level__name { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.16em; color: var(--color-primary); }
.kqr-level__amount { margin-top: 0.75rem; font-family: var(--font-display); font-size: 2.25rem; line-height: 2.5rem; color: var(--color-foreground); }
.kqr-level__rule { margin: 1.5rem 0; height: 1px; background-color: var(--color-border); }
.kqr-level__benefits li { display: flex; gap: 0.625rem; font-size: 14px; line-height: 1.625; color: var(--fg-75); }
.kqr-level__benefits li + li { margin-top: 0.75rem; }
.kqr-level__supports { margin-top: 1.5rem; border-top: 1px solid var(--color-border); padding-top: 1.25rem; font-size: 13px; line-height: 1.625; color: var(--color-muted-foreground); }
.kqr-level__supports strong { color: var(--color-foreground); }
.kqr-donate__give { padding: 5rem 0; }
@media (min-width: 640px) { .kqr-donate__give { padding: 7rem 0; } }
.kqr-donate__give-grid { display: grid; gap: 3rem; }
@media (min-width: 1024px) { .kqr-donate__give-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 5rem; } .kqr-donate__give-intro { grid-column: span 5 / span 5; } .kqr-donate__methods { grid-column: span 7 / span 7; } }
.kqr-donate__methods { border-top: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); }
.kqr-method { display: flex; min-height: 6rem; flex-direction: column; justify-content: center; gap: 0.75rem; padding: 1.25rem 0; }
.kqr-method + .kqr-method { border-top: 1px solid var(--color-border); }
@media (min-width: 640px) { .kqr-method { flex-direction: row; align-items: center; justify-content: space-between; } }
.kqr-method__name { font-family: var(--font-display); font-size: 1.25rem; line-height: 1.75rem; color: var(--color-foreground); }
.kqr-method__detail { margin-top: 0.25rem; font-size: 13px; color: var(--color-muted-foreground); }
.kqr-method__soon { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.14em; color: var(--pr-65); }
.kqr-donate__band { background-color: var(--color-primary); padding: 5rem 0; color: var(--color-background); }
@media (min-width: 640px) { .kqr-donate__band { padding: 6rem 0; } }
.kqr-donate__band-grid { display: grid; align-items: center; gap: 2rem; }
@media (min-width: 1024px) { .kqr-donate__band-grid { grid-template-columns: 1fr auto; } }
.kqr-donate__band-script { font-size: 2.25rem; line-height: 2.5rem; color: var(--color-secondary); }
.kqr-donate__band-title { margin-top: 1rem; max-width: 48rem; font-family: var(--font-display); font-size: 1.875rem; line-height: 1.25; }
@media (min-width: 640px) { .kqr-donate__band-title { font-size: 2.25rem; } }

/* ---------- Closing CTA ---------- */
.kqr-cta { position: relative; display: flex; min-height: 95vh; flex-direction: column; justify-content: space-between; overflow: hidden; }
.kqr-cta__shade-a { position: absolute; inset: 0; background-color: var(--fg-60); }
.kqr-cta__shade-b { position: absolute; inset: 0; background-image: linear-gradient(to bottom, color-mix(in srgb, var(--color-foreground) 70%, transparent), var(--fg-25), color-mix(in srgb, var(--color-foreground) 85%, transparent)); }
.kqr-cta__top { position: relative; margin: 0 auto; width: 100%; max-width: 48rem; padding: 6rem 1.25rem 0; text-align: center; }
@media (min-width: 640px) { .kqr-cta__top { padding: 7rem 2rem 0; } }
.kqr-cta__title { font-size: 2.25rem; line-height: 1.05; color: var(--color-background); }
@media (min-width: 640px) { .kqr-cta__title { font-size: 3rem; } }
@media (min-width: 1024px) { .kqr-cta__title { font-size: 3.6rem; } }
.kqr-cta__ref { margin: 1.25rem auto 0; max-width: 28rem; font-size: 14px; line-height: 1.625; color: var(--bg-80); }
.kqr-cta__text { margin: 1.5rem auto 0; max-width: 32rem; font-size: 15px; line-height: 1.625; color: var(--bg-85); }
.kqr-cta__actions { margin-top: 2rem; display: flex; flex-wrap: wrap; justify-content: center; gap: 0.75rem; }
.kqr-cta__bottom { position: relative; }
.kqr-cta__info { display: flex; flex-direction: column; align-items: center; gap: 2rem; padding-bottom: 3rem; text-align: center; }
@media (min-width: 640px) { .kqr-cta__info { flex-direction: row; align-items: flex-end; justify-content: space-between; text-align: left; } }
.kqr-cta__hello { font-size: 15px; color: var(--bg-60); }
.kqr-cta__email { margin-top: 0.25rem; display: block; word-break: break-all; font-size: 18px; color: var(--color-background); transition: color 0.15s; }
@media (min-width: 640px) { .kqr-cta__email { font-size: 22px; } }
.kqr-cta__email:hover { color: var(--color-secondary); }
.kqr-cta__meta { font-size: 15px; line-height: 1.625; color: var(--bg-70); }
@media (min-width: 640px) { .kqr-cta__meta { text-align: right; } }
.kqr-cta__meta a:hover { color: var(--color-background); }
.kqr-cta__marquee { padding-bottom: 0.5rem; overflow: hidden; }
.kqr-marquee-row { display: flex; flex-shrink: 0; align-items: center; }
.kqr-marquee-item { display: flex; align-items: center; }
.kqr-marquee-word { white-space: nowrap; padding: 0 1rem; font-family: var(--font-display); font-size: 13vw; line-height: 1; color: var(--bg-90); }
.kqr-marquee-em { font-style: italic; color: var(--color-secondary); }
.kqr-marquee-star { padding: 0 0.5rem; font-family: var(--font-display); font-size: 9vw; font-style: italic; color: var(--color-secondary); }
@media (min-width: 640px) { .kqr-marquee-word { padding: 0 1.5rem; font-size: 6vw; } .kqr-marquee-star { padding: 0 1rem; font-size: 3.8vw; } }

/* ---------- Contact ---------- */
.kqr-contact { background-color: var(--color-ivory); padding: 6rem 0 3rem; }
@media (min-width: 768px) { .kqr-contact { padding: 8rem 0 4rem; } }
.kqr-contact__grid { display: grid; grid-template-columns: minmax(0, 1fr); align-items: stretch; gap: 3rem; }
@media (min-width: 1024px) { .kqr-contact__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5rem; } }
.kqr-contact__info { display: flex; height: 100%; flex-direction: column; }
.kqr-contact__title { margin-top: 1.25rem; font-size: 2.25rem; line-height: 1.05; color: var(--color-foreground); }
@media (min-width: 768px) { .kqr-contact__title { font-size: 3rem; } }
@media (min-width: 1024px) { .kqr-contact__title { font-size: 3.4rem; } }
.kqr-contact__text { margin-top: 1.5rem; max-width: 28rem; font-size: 15px; line-height: 1.625; color: var(--fg-72); }
.kqr-contact__list { margin-top: 2.5rem; }
.kqr-contact__list li + li { margin-top: 1.25rem; }
.kqr-contact__item { display: inline-flex; align-items: center; gap: 1rem; color: var(--color-foreground); }
a.kqr-contact__item:hover { color: var(--color-primary); }
.kqr-contact__icon { display: inline-flex; width: 2.75rem; height: 2.75rem; align-items: center; justify-content: center; border-radius: 9999px; border: 1px solid var(--pr-20); background-color: var(--color-linen); }
.kqr-contact__lines { display: flex; flex-direction: column; text-align: left; }
.kqr-contact__label { font-size: 12px; text-transform: uppercase; letter-spacing: 0.2em; color: var(--fg-55); }
.kqr-contact__value { font-size: 15px; font-weight: 500; }
.kqr-contact__value--break { word-break: break-all; }
.kqr-contact__social { margin-top: 2rem; display: flex; align-items: center; gap: 0.75rem; }
.kqr-contact__social-link { display: inline-flex; width: 2.75rem; height: 2.75rem; align-items: center; justify-content: center; border-radius: 9999px; border: 1px solid var(--pr-20); background-color: var(--color-linen); color: var(--color-foreground); }
.kqr-contact__social-link:hover { border-color: var(--color-primary); color: var(--color-primary); }
.kqr-contact__handle { font-size: 14px; color: var(--fg-70); }
.kqr-contact__word-wrap { margin-top: auto; padding-top: 2.5rem; }
.kqr-contact__word { position: relative; border-radius: 0.5rem; border: 1px solid var(--pr-15); background-color: var(--color-linen); padding: 1.5rem; }
@media (min-width: 768px) { .kqr-contact__word { padding: 1.75rem; } }
.kqr-contact__word-tag { position: absolute; top: -0.75rem; left: 1.5rem; display: inline-flex; align-items: center; gap: 0.375rem; border-radius: 9999px; background-color: var(--color-primary); padding: 0.25rem 0.75rem; font-size: 12px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.16em; color: var(--color-background); }
.kqr-contact__word-quote { border-left: 2px solid var(--color-secondary); padding-left: 1.25rem; font-family: var(--font-display); font-size: 1.25rem; font-style: italic; line-height: 1.375; color: color-mix(in srgb, var(--color-foreground) 85%, transparent); }
.kqr-contact__word-note { margin-top: 0.75rem; padding-left: 1.25rem; font-size: 13px; letter-spacing: 0.025em; color: var(--fg-60); }
.kqr-contact__form { display: flex; height: 100%; flex-direction: column; padding: 1.5rem; }
@media (min-width: 768px) { .kqr-contact__form { padding: 2rem; } }
.kqr-contact__fields { flex: 1 1 0%; }
.kqr-contact__fields > * + * { margin-top: 1rem; }
.kqr-form__two { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
@media (min-width: 640px) { .kqr-form__two { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.kqr-contact__submit { padding-top: 1rem; }
.kqr-contact__submit .kqr-form__note { margin-top: 0.75rem; }

/* ---------- Footer ---------- */
.kqr-footer { color: var(--color-background); }
.kqr-footer__inner { padding-top: 3.5rem; padding-bottom: 2rem; }
@media (min-width: 1024px) { .kqr-footer__inner { padding-top: 5rem; padding-bottom: 2.5rem; } }
.kqr-footer__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2.5rem; }
@media (min-width: 640px) { .kqr-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .kqr-footer__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3rem; } }
.kqr-footer__logo { display: inline-flex; align-items: center; gap: 0.625rem; }
.kqr-footer__logo-img { height: var(--logo-height, 3rem); width: auto; object-fit: contain; }
.kqr-footer__brand { font-family: var(--font-display); font-size: 20px; line-height: 1.25; letter-spacing: 0.05em; color: var(--color-background); }
.kqr-footer__brand-italic { font-style: italic; color: var(--color-secondary); }
.kqr-footer__tagline { margin-top: 1.25rem; font-family: var(--font-display); font-size: 1.25rem; line-height: 1.75rem; font-style: italic; color: var(--color-secondary); }
.kqr-footer__about { margin-top: 0.75rem; max-width: 20rem; font-size: 14px; line-height: 1.625; color: var(--bg-70); }
.kqr-footer__nonprofit { margin-top: 1.25rem; display: flex; align-items: center; gap: 0.5rem; font-size: 13px; color: var(--color-secondary); }
.kqr-footer__donate { display: inline-flex; margin-top: 1.5rem; }
@media (max-width: 639px) {
	.kqr-footer__grid > div:first-child .kqr-footer__donate {
		display: inline-flex;
		margin-top: 1rem;
	}
}
.kqr-footer__title { margin-bottom: 1rem; font-size: 1.125rem; line-height: 1.75rem; color: var(--color-secondary); }
.kqr-footer__list li + li { margin-top: 0.625rem; }
.kqr-footer__link { display: inline-block; text-align: left; font-size: 14px; color: var(--bg-70); }
.kqr-footer__link:hover { color: var(--color-background); }
.kqr-footer__contact { font-size: 14px; }
.kqr-footer__contact li + li { margin-top: 0.75rem; }
.kqr-footer__contact-link { display: inline-flex; align-items: center; gap: 0.5rem; color: var(--bg-80); }
.kqr-footer__contact-link--email { align-items: flex-start; word-break: break-all; }
.kqr-footer__contact-link:hover { color: var(--color-background); }
.kqr-footer__social { margin-top: 1.25rem; display: flex; align-items: center; gap: 0.75rem; }
.kqr-footer__social-link { display: inline-flex; width: 2.25rem; height: 2.25rem; align-items: center; justify-content: center; border-radius: 9999px; border: 1px solid color-mix(in srgb, var(--color-background) 20%, transparent); color: var(--bg-80); }
.kqr-footer__social-link:hover { border-color: var(--color-secondary); color: var(--color-secondary); }
.kqr-footer__reinvest { margin-top: 1.25rem; font-size: 13px; line-height: 1.625; color: var(--bg-60); }
.kqr-footer__bottom { margin-top: 2.5rem; display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 1rem; border-top: 1px solid var(--bg-10); padding-top: 1.5rem; text-align: center; font-size: 12px; color: color-mix(in srgb, var(--color-background) 55%, transparent); }
@media (min-width: 640px) { .kqr-footer__bottom { flex-direction: row; text-align: left; } }
.kqr-footer__top { display: inline-flex; align-items: center; gap: 0.5rem; border-radius: 9999px; border: 1px solid var(--se-60); padding: 0.5rem 1.25rem; font-size: 13px; font-weight: 500; color: var(--color-secondary); transition: color 0.15s, background-color 0.15s; }
.kqr-footer__top:hover { background-color: var(--color-secondary); color: var(--color-foreground); }

/* ---------- Promo banner + floating badge ---------- */
.kqr-promo { position: fixed; bottom: 1rem; left: 1rem; right: 1rem; z-index: 50; display: flex; align-items: flex-start; gap: 0.75rem; border-radius: 0.5rem; background-color: var(--color-primary); padding: 1rem 1.25rem; color: var(--color-background); box-shadow: var(--shadow-elevated); animation: fade-in 0.7s ease-out both; }
@media (min-width: 640px) { .kqr-promo { bottom: 1.5rem; left: auto; right: 1.5rem; max-width: 26rem; } }
.kqr-promo__icon { margin-top: 0.125rem; color: var(--color-secondary); }
.kqr-promo__text { width: 100%; flex: 1 1 0%; font-size: 13px; line-height: 1.625; }
@media (min-width: 640px) { .kqr-promo__text { font-size: 14px; } }
.kqr-promo__close { margin-top: 0.125rem; flex-shrink: 0; border-radius: 9999px; padding: 0.375rem; transition: background-color 0.15s; }
.kqr-promo__close:hover { background-color: var(--bg-10); }
.kqr-badge { position: fixed; bottom: 1.25rem; right: 1.25rem; z-index: 40; transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1); opacity: 0; pointer-events: none; }
.kqr-badge.is-visible { opacity: 1; pointer-events: auto; }
@media (min-width: 640px) { .kqr-badge { right: 1.75rem; } }
.kqr-badge__card { position: absolute; bottom: calc(100% + 0.75rem); right: 0; width: 252px; border-radius: 0.5rem; border: 1px solid var(--pr-15); background-color: var(--color-ivory); padding: 1.25rem; box-shadow: var(--shadow-elevated); }
.kqr-badge__close { position: absolute; right: 0.75rem; top: 0.75rem; color: var(--fg-45); }
.kqr-badge__close:hover { color: var(--color-foreground); }
.kqr-badge__eyebrow { display: inline-flex; align-items: center; gap: 0.375rem; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.18em; color: var(--color-primary); }
.kqr-badge__eyebrow svg { width: 0.75rem; height: 0.75rem; }
.kqr-badge__tagline { margin-top: 0.5rem; font-family: var(--font-display); font-size: 1.125rem; line-height: 1.375; color: var(--color-foreground); }
.kqr-badge__links { margin-top: 1rem; font-size: 13px; }
.kqr-badge__links > * + * { margin-top: 0.75rem; }
.kqr-badge__links a { display: flex; align-items: center; gap: 0.625rem; word-break: break-all; color: var(--fg-75); }
.kqr-badge__links a:hover { color: var(--color-primary); }
.kqr-badge__join { margin-top: 1.25rem; display: block; width: 100%; border-radius: 9999px; background-color: var(--color-primary); padding: 0.625rem 1rem; text-align: center; font-size: 13px; font-weight: 500; color: var(--color-background); }
.kqr-badge__join:hover { opacity: 0.9; }
.kqr-badge__ring { position: relative; display: grid; width: 76px; height: 76px; place-items: center; }
@media (min-width: 640px) { .kqr-badge__ring { width: 5rem; height: 5rem; } }
.kqr-badge__button { display: grid; width: 100%; height: 100%; place-items: center; border-radius: 9999px; color: var(--color-foreground); transition: color 0.3s; }
.kqr-badge.is-on-dark .kqr-badge__button { color: var(--color-background); }
.kqr-badge__spin { position: absolute; inset: 0; }
.kqr-badge__svg { width: 100%; height: 100%; }
.kqr-badge__rotor { transform-origin: center; animation: kqr-spin 24s linear infinite; }
.kqr-badge__text { text-transform: uppercase; font-weight: 400; fill: currentColor; font-size: 8px; letter-spacing: 0.14em; }
.kqr-badge__crown { position: relative; width: 1rem; height: 1rem; color: var(--color-secondary); }

/* ---------- Cart drawer ---------- */
#theme-cart-overlay { display: none; position: fixed; inset: 0; z-index: 50; background-color: var(--fg-30); }
#theme-cart-drawer { display: none; position: fixed; right: 0; top: 0; z-index: 50; height: 100%; width: 100%; max-width: 28rem; flex-direction: column; background-color: var(--color-ivory); box-shadow: var(--shadow-elevated); }
body.cart-open #theme-cart-overlay { display: block; animation: fade-in 0.7s ease-out both; }
body.cart-open #theme-cart-drawer { display: flex; }
body.cart-drawer-opening #theme-cart-drawer { animation: slide-in-bottom 0.7s ease-out both; }
#theme-cart-drawer.is-updating { opacity: 0.6; pointer-events: none; }
.kqr-cart__head { display: flex; align-items: center; justify-content: space-between; padding: 1.5rem; border-bottom: 1px solid var(--fg-10); }
.kqr-cart__title { font-family: var(--font-display); font-size: 1.5rem; line-height: 2rem; color: var(--color-foreground); }
.kqr-cart__close { padding: 0.375rem; border-radius: 9999px; transition: background-color 0.15s; }
.kqr-cart__close:hover { background-color: color-mix(in srgb, var(--color-foreground) 6%, transparent); }
.kqr-cart__empty { display: flex; flex: 1 1 0%; flex-direction: column; align-items: center; justify-content: center; padding: 1.5rem; text-align: center; }
.kqr-cart__empty-icon { width: 3rem; height: 3rem; margin-bottom: 1rem; color: color-mix(in srgb, var(--color-foreground) 30%, transparent); }
.kqr-cart__empty p { margin-bottom: 1.5rem; font-size: 14px; color: var(--fg-65); }
.kqr-cart__items { flex: 1 1 0%; overflow: auto; padding: 1.5rem; }
.kqr-cart__item { display: flex; gap: 1rem; }
.kqr-cart__item + .kqr-cart__item { margin-top: 1.25rem; }
.kqr-cart__thumb { width: 5rem; height: 6rem; flex-shrink: 0; overflow: hidden; border-radius: 0.375rem; background-color: var(--color-bone); }
.kqr-cart__thumb-img { width: 100%; height: 100%; object-fit: cover; }
.kqr-cart__info { min-width: 0; flex: 1 1 0%; }
.kqr-cart__name { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; font-weight: 500; transition: color 0.15s; }
.kqr-cart__name:hover { color: var(--color-primary); }
.kqr-cart__meta { margin: 0.25rem 0 0; padding: 0; list-style: none; font-size: 12px; color: var(--fg-60); }
.kqr-cart__meta-item + .kqr-cart__meta-item { margin-top: 0.125rem; }
.kqr-cart__meta-label { font-weight: 600; }
.kqr-cart__name.cart-item-name { display: block; }
.kqr-cart__price { margin-top: 0.125rem; font-size: 13px; color: var(--fg-60); }
.kqr-cart__controls { margin-top: 0.75rem; display: flex; align-items: center; gap: 0.75rem; }
.kqr-cart__qty-btn { padding: 0.25rem; border-radius: 0.25rem; transition: background-color 0.15s; }
.kqr-cart__qty-btn:hover { background-color: var(--color-bone); }
.kqr-cart__qty { width: 1.5rem; text-align: center; font-size: 13px; }
.kqr-cart__remove { margin-left: auto; font-size: 13px; color: var(--fg-55); transition: color 0.15s; }
.kqr-cart__remove:hover { color: var(--color-destructive); }
.kqr-cart__footer { padding: 1.5rem; border-top: 1px solid var(--fg-10); background-color: color-mix(in srgb, var(--color-linen) 40%, transparent); }
.kqr-cart__footer > * + * { margin-top: 1rem; }
.kqr-cart__subtotal { display: flex; justify-content: space-between; font-size: 14px; }
.kqr-cart__subtotal > span:first-child { color: var(--fg-65); }
.kqr-cart__subtotal-value { font-weight: 500; }
.kqr-cart__note { font-size: 13px; color: var(--fg-55); }
.kqr-cart__empty-btn { color: var(--fg-60); }

/* ---------- Single product ---------- */
.kqr-pdp { padding-top: 9rem; background-color: var(--color-ivory); }
@media (min-width: 640px) { .kqr-pdp { padding-top: 8rem; } }
.kqr-pdp__crumbs { padding: 1.5rem 0; font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--fg-55); }
.kqr-pdp__crumbs a { transition: color 0.15s; }
.kqr-pdp__crumbs a:hover { color: var(--color-primary); }
.kqr-pdp__crumb-sep { margin: 0 0.5rem; opacity: 0.5; }
.kqr-pdp__crumb-current { color: var(--color-foreground); }
.kqr-pdp__grid { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: 2.5rem; padding-bottom: 5rem; min-width: 0; }
@media (min-width: 1024px) { .kqr-pdp__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 4rem; } .kqr-pdp__gallery { grid-column: span 7 / span 7; position: sticky; top: 7rem; align-self: start; } .kqr-pdp__info { grid-column: span 5 / span 5; } }
.single-product .theme-product-gallery, .single-product .theme-product-info { min-width: 0; max-width: 100%; }
.kqr-pdp__main { position: relative; aspect-ratio: 4 / 5; width: 100%; background-color: var(--color-linen); border-radius: 0.25rem; overflow: hidden; margin-bottom: 1rem; }
.kqr-pdp__main-img { width: 100%; height: 100%; object-fit: cover; }
.kqr-pdp__thumbs { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.625rem; max-width: 100%; }
.kqr-pdp__thumb { aspect-ratio: 1 / 1; background-color: var(--color-linen); border-radius: 0.375rem; overflow: hidden; border: 2px solid transparent; transition: border-color 0.15s; }
.kqr-pdp__thumb:hover { border-color: var(--fg-20); }
.kqr-pdp__thumb.is-active { border-color: var(--color-primary); }
.kqr-pdp__thumb-img { width: 100%; height: 100%; object-fit: cover; }
.kqr-pdp__cat { margin-bottom: 0.75rem; font-size: 11px; font-weight: 500; letter-spacing: 0.28em; text-transform: uppercase; color: var(--color-primary); }
.kqr-pdp__title { margin-bottom: 1rem; font-family: var(--font-display); font-weight: 400; font-size: 1.875rem; line-height: 1.05; color: var(--color-foreground); }
@media (min-width: 768px) { .kqr-pdp__title { font-size: 2.25rem; } }
@media (min-width: 1024px) { .kqr-pdp__title { font-size: 2.6rem; } }
.kqr-pdp__price { margin-bottom: 1.75rem; font-size: 20px; font-weight: 500; color: color-mix(in srgb, var(--color-foreground) 90%, transparent); }
.kqr-pdp__price ins { text-decoration: none; }
.kqr-pdp__desc { margin-bottom: 2rem; font-size: 15px; line-height: 1.625; color: var(--fg-75); white-space: pre-line; overflow-wrap: break-word; }
.kqr-pdp__qty { flex: 0 0 100%; margin-bottom: 0.75rem; }
.kqr-pdp__label { margin-bottom: 0.625rem; font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--fg-55); }
.theme-quantity-wrapper { display: inline-flex; align-items: center; border: 1px solid var(--fg-20); border-radius: 9999px; }
.theme-quantity-wrapper button { padding: 0.625rem 1rem; transition: color 0.15s; line-height: 1; }
.theme-quantity-wrapper button:hover { color: var(--color-primary); }
.theme-qty-input { width: 44px; min-width: 44px; padding: 0.625rem 0; border: 0; background: transparent; text-align: center; font-size: 14px; font-weight: 500; -moz-appearance: textfield; appearance: textfield; }
.theme-qty-input::-webkit-outer-spin-button, .theme-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.theme-qty-input:focus { outline: none; }
.theme-add-to-cart-area { display: flex; align-items: stretch; flex-wrap: wrap; gap: 0.75rem; }
.single-product .theme-add-to-cart-area > .single_add_to_cart_button, .single-product .theme-add-to-cart-area > .theme-buy-now { flex: 1 1 100%; min-width: 160px; }
@media (min-width: 640px) { .single-product .theme-add-to-cart-area > .single_add_to_cart_button, .single-product .theme-add-to-cart-area > .theme-buy-now { flex: 1 1 0%; } }
.kqr-pdp__details { margin-top: 2rem; padding-top: 2rem; border-top: 1px solid var(--fg-10); }
.kqr-pdp__details .kqr-pdp__label { margin-bottom: 1rem; }
.woocommerce-product-details__short-description ul li { display: flex; align-items: flex-start; font-size: 14px; color: var(--fg-75); }
.woocommerce-product-details__short-description ul li + li { margin-top: 0.625rem; }
.woocommerce-product-details__short-description ul li::before { content: ''; flex-shrink: 0; width: 4px; height: 4px; margin-top: 0.625rem; margin-right: 0.75rem; border-radius: 9999px; background-color: var(--color-primary); }
.single-product .woocommerce-product-details__short-description, .single-product .woocommerce-variation-description, .single-product .posted_in { overflow-wrap: break-word; word-break: break-word; }
.kqr-pdp__trust { margin-top: 2rem; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.75rem; padding-top: 1.5rem; border-top: 1px solid var(--fg-10); text-align: center; }
.kqr-pdp__trust-icon { width: 1.25rem; height: 1.25rem; margin: 0 auto 0.5rem; color: var(--color-primary); }
.kqr-pdp__trust p { font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--fg-60); }
.kqr-pdp__related { padding: 5rem 0; border-top: 1px solid var(--fg-10); }
.kqr-pdp__related-head { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 2.5rem; }
.kqr-pdp__related-title { font-family: var(--font-display); font-size: 1.875rem; line-height: 2.25rem; color: var(--color-foreground); }
@media (min-width: 768px) { .kqr-pdp__related-title { font-size: 2.25rem; line-height: 2.5rem; } }
.kqr-pdp__viewall { display: none; align-items: center; gap: 0.375rem; font-size: 14px; font-weight: 500; color: var(--fg-70); transition: color 0.15s; }
.kqr-pdp__viewall:hover { color: var(--color-primary); }
@media (min-width: 640px) { .kqr-pdp__viewall { display: inline-flex; } }
.kqr-pdp__related-grid { display: grid; grid-template-columns: minmax(0, 1fr); column-gap: 1.5rem; row-gap: 2.5rem; align-items: stretch; }
@media (min-width: 640px) { .kqr-pdp__related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .kqr-pdp__related-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.single-product .variations tbody, .single-product .variations tbody tr, .single-product .variations tbody td { display: block; width: 100%; }
.single-product .variations tbody td.label { padding-bottom: 0.25rem; }
.single-product .variations tbody td.label label { font-family: var(--font-body); font-weight: 600; font-style: normal; font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--fg-55); }
.single-product .variations tbody td.value { padding-top: 0; margin-bottom: 1rem; }
.theme-attr-select-hidden { display: none !important; }
.theme-attr-pills { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.theme-attr-pill { border: 1px solid var(--fg-20); border-radius: 9999px; padding: 0.5rem 1rem; font-size: 14px; transition: all 0.15s; }
.theme-attr-pill:hover { border-color: var(--color-primary); }
.theme-attr-pill.is-selected { background-color: var(--color-primary); border-color: var(--color-primary); color: var(--color-background); }
.single-product .single_variation_wrap .woocommerce-variation-price { margin-bottom: 1rem; font-size: 18px; font-weight: 500; }

/* ---------- Woo button overrides (mandatory) ---------- */
.single_add_to_cart_button.button,
.add_to_cart_button.button,
a.single_add_to_cart_button,
a.add_to_cart_button {
	background-color: var(--color-primary) !important;
	color: var(--color-primary-foreground) !important;
	border: none !important;
	border-radius: var(--btn-radius) !important;
	min-height: var(--btn-height) !important;
	padding: var(--btn-padding) !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-family: var(--font-body) !important;
	font-size: var(--btn-font-size) !important;
	font-weight: var(--btn-font-weight) !important;
	letter-spacing: var(--btn-letter-spacing) !important;
	text-transform: var(--btn-text-transform) !important;
	cursor: pointer !important;
	transition: opacity 0.2s ease !important;
}
.single_add_to_cart_button.button:hover,
.add_to_cart_button.button:hover {
	opacity: 0.85 !important;
	background-color: var(--color-primary) !important;
	color: var(--color-primary-foreground) !important;
}
.single_add_to_cart_button.button:disabled,
.single_add_to_cart_button.button.disabled,
.add_to_cart_button.button:disabled,
.add_to_cart_button.button.disabled {
	cursor: not-allowed !important;
	opacity: 0.4 !important;
	pointer-events: none !important;
}
.single_add_to_cart_button.button:disabled:hover,
.single_add_to_cart_button.button.disabled:hover,
.add_to_cart_button.button:disabled:hover,
.add_to_cart_button.button.disabled:hover {
	opacity: 0.4 !important;
	background-color: var(--color-primary) !important;
}
.single-product .single_add_to_cart_button { text-transform: none; }
.theme-product-card a.add_to_cart_button,
.theme-product-card a.add_to_cart_button.ajax_add_to_cart {
	min-height: 0 !important;
	width: 100% !important;
	gap: 0.5rem !important;
	background-color: transparent !important;
	color: var(--color-primary) !important;
	border: 1px solid var(--color-primary) !important;
	border-radius: 0.125rem !important;
	padding: 0.875rem 0 !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
	transition: all 0.3s !important;
	position: relative;
	z-index: 3;
	pointer-events: auto;
}
.theme-product-card a.add_to_cart_button:hover {
	background-color: var(--color-primary) !important;
	color: var(--color-primary-foreground) !important;
	opacity: 1 !important;
}
.woocommerce-page a.added_to_cart.wc-forward,
.single-product a.added_to_cart.wc-forward,
body a.added_to_cart.wc-forward { display: none !important; }
.ajax_add_to_cart.theme-btn-loading { opacity: 0.6 !important; pointer-events: none !important; cursor: wait !important; }
.single-product .single_add_to_cart_button.loading::after,
.ajax_add_to_cart.loading::after { display: none !important; }
.single-product .woocommerce-message, .single-product .woocommerce-info { display: none; }
#theme-cart-drawer .woocommerce-message { display: none; }

/* ---------- Generic pages, checkout, thank-you ---------- */
.kqr-page { padding: 9rem 0 4rem; min-height: 60vh; }
@media (min-width: 1024px) { .kqr-page { padding-top: 10rem; } }
.page-title { font-family: var(--font-display); font-size: 2.25rem; line-height: 1.1; margin-bottom: 2rem; color: var(--color-foreground); }
@media (min-width: 768px) { .page-title { font-size: 3rem; } }
.kqr-page .entry-content { max-width: 100%; }

/* C — Checkout header + vertical spacing */
body.woocommerce-checkout .theme-checkout-main.kqr-page {
	padding: 0;
	min-height: 0;
}
body.woocommerce-checkout .theme-checkout-shell,
.entry-content:has(> .wc-block-checkout) {
	padding-top: calc(var(--header-height) + 0.5rem);
	padding-bottom: 4rem;
	padding-inline: 1.25rem;
	max-width: none;
	width: 100%;
	box-sizing: border-box;
}
@media (min-width: 640px) {
	body.woocommerce-checkout .theme-checkout-shell,
	.entry-content:has(> .wc-block-checkout) { padding-inline: 1.5rem; }
}
@media (min-width: 1024px) {
	body.woocommerce-checkout .theme-checkout-shell,
	.entry-content:has(> .wc-block-checkout) { padding-inline: 2.5rem; }
}
.theme-checkout-header {
	max-width: var(--checkout-max-width);
	width: 100%;
	margin-inline: auto;
	margin-bottom: 0;
	box-sizing: border-box;
}
.checkout-continue-link,
.kqr-checkout__continue {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 1rem;
	font-size: 14px;
	color: var(--fg-65);
	transition: color 0.15s;
}
.checkout-continue-link:hover,
.kqr-checkout__continue:hover { color: var(--color-primary); }
.theme-checkout-title {
	margin: 0;
	font-family: var(--font-display);
	font-size: 2.25rem;
	line-height: 1.1;
	color: var(--color-foreground);
}
@media (min-width: 768px) { .theme-checkout-title { font-size: 3rem; } }
.theme-checkout-intro { margin: 0.75rem 0 0; font-size: 15px; line-height: 1.6; color: var(--fg-70); }
body.woocommerce-checkout .theme-checkout-main .entry-content,
.entry-content:has(.wc-block-checkout) { margin-top: 0; padding-top: 0; }
body.woocommerce-checkout .theme-checkout-main .entry-content > .wc-block-checkout,
body.woocommerce-checkout .theme-checkout-main .entry-content > .wp-block-woocommerce-checkout,
.entry-content > .wc-block-checkout:first-child,
.entry-content > .wp-block-woocommerce-checkout:first-child { margin-top: 0; }

/* D — Checkout block width */
body.woocommerce-checkout .wc-block-checkout,
body.woocommerce-checkout .wp-block-woocommerce-checkout,
.entry-content .wc-block-checkout,
.entry-content .wp-block-woocommerce-checkout {
	max-width: var(--checkout-max-width);
	width: 100%;
	margin-inline: auto;
	box-sizing: border-box;
	min-width: 0;
	font-family: var(--font-body);
	color: var(--color-foreground);
}
body.woocommerce-checkout .theme-checkout-main > .container-wide,
body.woocommerce-checkout .theme-checkout-shell,
body.woocommerce-checkout .theme-checkout-main .entry-content {
	max-width: none;
	width: 100%;
}
body.woocommerce-checkout .wc-block-checkout,
.entry-content .wc-block-checkout { margin-top: 0; padding-top: 0; }
body.woocommerce-checkout .wc-block-checkout.alignwide,
.entry-content .wc-block-checkout.alignwide { margin-top: 0; }
body.woocommerce-checkout .wc-block-checkout__main,
body.woocommerce-checkout .wc-block-components-main,
.entry-content .wc-block-checkout__main,
.entry-content .wc-block-components-main { margin-top: 0; padding-top: 0; }
body.woocommerce-checkout .wc-block-checkout .wc-block-components-sidebar-layout,
body.woocommerce-checkout .wc-block-checkout .wc-block-checkout-sidebar-layout,
.entry-content .wc-block-checkout .wc-block-components-sidebar-layout,
.entry-content .wc-block-checkout .wc-block-checkout-sidebar-layout { margin-top: 0; padding-top: 0; }

/* G — Notices */
body.woocommerce-checkout .wc-block-components-notices,
.entry-content .wc-block-components-notices {
	max-width: var(--checkout-max-width);
	width: 100%;
	margin-inline: auto;
	box-sizing: border-box;
	margin-top: 0;
	padding-top: 0;
	margin-bottom: var(--checkout-gap);
}
body.woocommerce-checkout .wc-block-checkout > .wc-block-components-notices:empty,
.entry-content .wc-block-checkout > .wc-block-components-notices:empty {
	display: none;
	margin: 0;
	padding: 0;
}

/* E — Two-column grid (internal wrapper only) */
@media (min-width: 768px) {
	body.woocommerce-checkout .wc-block-checkout .wc-block-components-sidebar-layout,
	body.woocommerce-checkout .wc-block-checkout .wc-block-checkout-sidebar-layout,
	.entry-content .wc-block-checkout .wc-block-components-sidebar-layout,
	.entry-content .wc-block-checkout .wc-block-checkout-sidebar-layout {
		display: grid !important;
		grid-template-columns: 1fr minmax(360px, 400px);
		gap: var(--checkout-gap);
		align-items: start;
		flex-direction: unset;
		flex-wrap: nowrap;
		margin: 0;
	}
	body.woocommerce-checkout .wc-block-checkout .wc-block-components-sidebar-layout .wc-block-checkout__main,
	body.woocommerce-checkout .wc-block-checkout .wc-block-components-sidebar-layout .wc-block-components-main,
	body.woocommerce-checkout .wc-block-checkout .wc-block-components-sidebar-layout .wc-block-checkout__sidebar,
	body.woocommerce-checkout .wc-block-checkout .wc-block-components-sidebar-layout .wc-block-components-sidebar,
	.entry-content .wc-block-checkout .wc-block-components-sidebar-layout .wc-block-checkout__main,
	.entry-content .wc-block-checkout .wc-block-components-sidebar-layout .wc-block-components-main,
	.entry-content .wc-block-checkout .wc-block-components-sidebar-layout .wc-block-checkout__sidebar,
	.entry-content .wc-block-checkout .wc-block-components-sidebar-layout .wc-block-components-sidebar {
		width: auto !important;
		max-width: 100%;
		min-width: 0;
		margin: 0 !important;
		padding: 0 !important;
		box-sizing: border-box;
	}
	body.woocommerce-checkout .wc-block-checkout:has(> .wc-block-checkout__main):has(> .wc-block-checkout__sidebar),
	.entry-content .wc-block-checkout:has(> .wc-block-checkout__main):has(> .wc-block-checkout__sidebar) {
		display: grid;
		grid-template-columns: 1fr minmax(360px, 400px);
		gap: var(--checkout-gap);
		align-items: start;
	}
	body.woocommerce-checkout .wc-block-checkout > .wc-block-components-notices,
	.entry-content .wc-block-checkout > .wc-block-components-notices { grid-column: 1 / -1; }
}

/* F — Sidebar card on order summary only */
body.woocommerce-checkout .wc-block-checkout__sidebar,
body.woocommerce-checkout .wc-block-components-sidebar,
body.woocommerce-checkout .wp-block-woocommerce-checkout-totals-block,
.entry-content .wc-block-checkout__sidebar,
.entry-content .wc-block-components-sidebar,
.entry-content .wp-block-woocommerce-checkout-totals-block {
	background: transparent;
	padding: 0;
	border-radius: 0;
}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block,
.entry-content .wp-block-woocommerce-checkout-order-summary-block {
	width: 100%;
	background-color: var(--color-linen);
	border: 1px solid var(--fg-10);
	border-radius: 1rem;
	padding: 1.5rem 1.75rem;
	box-sizing: border-box;
}
@media (min-width: 1024px) {
	body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block,
	.entry-content .wp-block-woocommerce-checkout-order-summary-block { padding: 1.75rem; }
}

/* H — Empty checkout cart */
body.woocommerce-checkout .wc-block-checkout-empty,
.entry-content .wc-block-checkout-empty {
	margin-inline: auto;
	max-width: 36rem;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
}

/* Checkout form controls */
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-select select,
body.woocommerce-checkout .wc-block-components-textarea textarea,
.entry-content .wc-block-checkout .wc-block-components-text-input input,
.entry-content .wc-block-checkout .wc-block-components-select select,
.entry-content .wc-block-checkout .wc-block-components-textarea textarea {
	width: 100% !important;
	max-width: none !important;
	background-color: var(--color-ivory);
	border: 1px solid var(--pr-20);
	border-radius: 0.375rem;
	color: var(--color-foreground);
	font-family: var(--font-body);
	font-size: 14px;
}
body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-select select:focus,
.entry-content .wc-block-checkout .wc-block-components-text-input input:focus,
.entry-content .wc-block-checkout .wc-block-components-select select:focus {
	border-color: var(--color-primary);
	outline: none;
	box-shadow: none;
}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button,
.entry-content .wc-block-checkout .wc-block-components-checkout-place-order-button {
	background-color: var(--color-primary);
	color: var(--color-primary-foreground);
	border-radius: 9999px;
	font-family: var(--font-body);
	font-size: 14px;
	font-weight: 500;
	text-transform: none;
}
body.woocommerce-checkout .wc-block-components-notice-banner,
.entry-content .wc-block-components-notice-banner { border-radius: 0.5rem; font-family: var(--font-body); }
body.woocommerce-cart .wc-block-cart { font-family: var(--font-body); color: var(--color-foreground); }
body.woocommerce-checkout .wc-block-cart-items,
.entry-content .wc-block-cart-items { font-family: var(--font-body); }

body.theme-thankyou-page { overflow-x: hidden; }
body.theme-thankyou-page .woocommerce-order { font-size: 15px; color: var(--fg-75); }
body.theme-thankyou-page .woocommerce-order-overview { display: flex; flex-wrap: wrap; gap: 1.5rem; padding: 1.5rem; margin: 0 0 2rem; border: 1px solid var(--pr-15); border-radius: 0.5rem; background-color: var(--color-linen); }
body.theme-thankyou-page .woocommerce-order-overview li { font-size: 12px; text-transform: uppercase; letter-spacing: 0.14em; }
body.theme-thankyou-page .woocommerce-order-overview li strong { display: block; margin-top: 0.25rem; font-size: 15px; letter-spacing: 0; text-transform: none; color: var(--color-foreground); }
body.theme-thankyou-page .woocommerce-order h2,
body.theme-thankyou-page .woocommerce-order-details__title { font-family: var(--font-display); font-size: 1.5rem; padding: 0 0 1rem 0; color: var(--color-foreground); }
body.theme-thankyou-page .woocommerce-order-details table { width: 100%; table-layout: fixed; }
body.theme-thankyou-page .woocommerce-order-details th, body.theme-thankyou-page .woocommerce-order-details td { padding: 0.75rem 0; border-bottom: 1px solid var(--color-border); text-align: left; }
body.theme-thankyou-page .woocommerce-order-details tfoot th { text-align: left; }
body.theme-thankyou-page .woocommerce-order-details tfoot td { text-align: right; }
body.theme-thankyou-page .woocommerce-customer-details { display: flex; flex-direction: column; gap: 1.5rem; margin-top: 2rem; }
body.theme-thankyou-page .woocommerce-customer-details address { max-width: 480px; overflow-wrap: break-word; font-style: normal; }
.woocommerce-notices-wrapper .woocommerce-message, .woocommerce-notices-wrapper .woocommerce-error, .woocommerce-notices-wrapper .woocommerce-info { list-style: none; padding: 1rem 1.25rem; margin-bottom: 1rem; border-radius: 0.5rem; border: 1px solid var(--pr-15); background-color: var(--color-linen); font-size: 14px; }
.woocommerce-error { color: var(--color-destructive); }

/* ---------- 404 ---------- */
.kqr-404 { display: flex; min-height: 100vh; align-items: center; justify-content: center; background-color: var(--color-muted); }
.kqr-404__inner { text-align: center; }
.kqr-404__title { margin-bottom: 1rem; font-size: 2.25rem; line-height: 2.5rem; font-weight: 700; }
.kqr-404__text { margin-bottom: 1rem; font-size: 1.25rem; line-height: 1.75rem; color: var(--color-muted-foreground); }
.kqr-404__link { color: var(--color-primary); text-decoration: underline; }
.kqr-404__link:hover { color: color-mix(in srgb, var(--color-primary) 90%, transparent); }

/* ---------- Leaders ---------- */
.kqr-leaders { background-color: var(--color-background); padding-top: 6rem; }
@media (min-width: 1024px) { .kqr-leaders { padding-top: 7rem; } }
.kqr-leaders__hero { border-bottom: 1px solid color-mix(in srgb, var(--color-primary) 10%, transparent); padding: 5rem 0; }
@media (min-width: 640px) { .kqr-leaders__hero { padding: 7rem 0; } }
.kqr-leaders__hero-inner { text-align: center; }
.kqr-leaders__eyebrow { display: block; margin-top: 1.25rem; }
.kqr-leaders__title { margin: 1.5rem auto 0; max-width: 56rem; font-size: 3rem; line-height: 1.02; color: var(--color-foreground); }
@media (min-width: 640px) { .kqr-leaders__title { font-size: 3.75rem; } }
@media (min-width: 1024px) { .kqr-leaders__title { font-size: 4.5rem; } }
.kqr-leaders__text { margin: 1.75rem auto 0; max-width: 42rem; font-size: 16px; line-height: 1.625; color: var(--color-muted-foreground); }
.kqr-leaders__list { padding: 5rem 0; }
@media (min-width: 640px) { .kqr-leaders__list { padding: 7rem 0; } }
.kqr-leaders__stack > * + * { margin-top: 5rem; }
@media (min-width: 1024px) { .kqr-leaders__stack > * + * { margin-top: 7rem; } }
.kqr-leader { display: grid; align-items: center; gap: 2.5rem; }
@media (min-width: 1024px) { .kqr-leader { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 5rem; } .kqr-leader__media { grid-column: span 5 / span 5; } .kqr-leader__copy { grid-column: span 7 / span 7; } .kqr-leader.is-flipped .kqr-leader__media { order: 2; } .kqr-leader.is-flipped .kqr-leader__copy { order: 1; } }
.kqr-leader__frame { margin: 0 auto; aspect-ratio: 1 / 1; max-width: 28rem; overflow: hidden; border-radius: 0.5rem; background-color: var(--color-muted); box-shadow: var(--shadow-elevated); }
.kqr-leader__img { width: 100%; height: 100%; object-fit: cover; }
.kqr-leader__role { font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.18em; color: var(--color-primary); }
.kqr-leader__name { margin-top: 1rem; font-size: 2.25rem; line-height: 1.25; color: var(--color-foreground); }
@media (min-width: 640px) { .kqr-leader__name { font-size: 3rem; } }
.kqr-leader__rule { margin-top: 1.5rem; height: 1px; width: 4rem; background-color: var(--color-secondary); }
.kqr-leader__bio { margin-top: 1.75rem; font-size: 15px; line-height: 1.85; color: var(--color-muted-foreground); }
.kqr-leader__bio > * + * { margin-top: 1.25rem; }
.kqr-leaders__cta { background-color: var(--color-primary); padding: 5rem 0; text-align: center; color: var(--color-background); }
@media (min-width: 640px) { .kqr-leaders__cta { padding: 6rem 0; } }
.kqr-leaders__cta-script { font-size: 2.25rem; line-height: 2.5rem; color: var(--color-secondary); }
@media (min-width: 640px) { .kqr-leaders__cta-script { font-size: 3rem; line-height: 1; } }
.kqr-leaders__cta-title { margin: 1.25rem auto 0; max-width: 42rem; font-size: 2.25rem; line-height: 1.25; }
@media (min-width: 640px) { .kqr-leaders__cta-title { font-size: 3rem; line-height: 1; } }
.kqr-leaders__cta-actions { margin-top: 2rem; display: flex; flex-wrap: wrap; justify-content: center; gap: 0.75rem; }
