/** Shopify CDN: Minification failed

Line 49:0 All "@import" rules must come first

**/
/* ============================================================
   QUIRKYHEADS — Global Design System
   Shared by all qh-* custom sections
============================================================ */

/* ---- TOKENS ---- */
:root {
  --qh-white: #FFFFFF;
  --qh-cream: #F9F7F2;
  --qh-parchment: #F2EFE8;
  --qh-warm-mid: #E8E4DA;
  --qh-border: #DDD9CF;
  --qh-border-dark: #C8C3B5;

  --qh-ink: #111008;
  --qh-ink-80: rgba(17, 16, 8, 0.80);
  --qh-ink-50: rgba(17, 16, 8, 0.50);
  --qh-ink-30: rgba(17, 16, 8, 0.30);
  --qh-ink-10: rgba(17, 16, 8, 0.07);

  --qh-yellow: #FFD231;
  --qh-yellow-dark: #E6BC1E;
  --qh-yellow-pale: #FFF8D6;
  --qh-yellow-mid: #FFF0A0;

  --qh-green: #0B6E52;
  --qh-green-soft: #E4F4EE;

  --qh-font-display: 'Instrument Serif', Georgia, serif;
  --qh-font-body: 'DM Sans', system-ui, sans-serif;

  --qh-r-sm: 8px;
  --qh-r-md: 14px;
  --qh-r-lg: 20px;
  --qh-r-xl: 28px;

  --qh-shadow-sm: 0 1px 3px rgba(17, 16, 8, 0.07), 0 1px 2px rgba(17, 16, 8, 0.04);
  --qh-shadow-md: 0 4px 20px rgba(17, 16, 8, 0.09), 0 2px 6px rgba(17, 16, 8, 0.05);
  --qh-shadow-lg: 0 16px 48px rgba(17, 16, 8, 0.11), 0 4px 14px rgba(17, 16, 8, 0.07);
  --qh-shadow-xl: 0 32px 72px rgba(17, 16, 8, 0.14), 0 8px 20px rgba(17, 16, 8, 0.08);
}

/* ---- FONTS ---- */
@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;1,9..40,300&display=swap');

/* ---- GLOBAL RESETS: override Impulse theme settings bleeding into our sections ---- */
/* Prevent Impulse's text-transform:uppercase from affecting our custom nav/sections */
.qh-nav-logo-text,
.qh-nav-link,
.qh-nav-cta,
[class^="qh-"] {
  text-transform: none;
  letter-spacing: normal;
}

/* Ensure body background is cream, not white */
body {
  background-color: var(--qh-cream);
  font-family: var(--qh-font-body);
  color: var(--qh-ink);
  -webkit-font-smoothing: antialiased;
}


/* ---- TYPOGRAPHY ---- */
.qh-display-xl {
  font-family: var(--qh-font-display);
  font-size: clamp(46px, 6.5vw, 88px);
  line-height: 1.04;
  letter-spacing: -0.025em;
  color: var(--qh-ink);
}

.qh-display-xl em {
  font-style: italic;
  color: var(--qh-ink-50);
}

.qh-display-lg {
  font-family: var(--qh-font-display);
  font-size: clamp(32px, 4vw, 56px);
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: var(--qh-ink);
}

.qh-display-md {
  font-family: var(--qh-font-display);
  font-size: clamp(24px, 2.5vw, 36px);
  line-height: 1.2;
  letter-spacing: -0.015em;
}

.qh-eyebrow {
  font-family: var(--qh-font-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--qh-ink-50);
}

.qh-eyebrow-yellow {
  font-family: var(--qh-font-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--qh-yellow-dark);
}

.qh-body-lg {
  font-size: 18px;
  line-height: 1.7;
  color: var(--qh-ink-80);
  font-weight: 300;
}

.qh-body-md {
  font-size: 15px;
  line-height: 1.7;
  color: var(--qh-ink-50);
}

/* ---- BUTTONS ---- */
.qh-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--qh-font-body);
  font-size: 14px;
  font-weight: 500;
  padding: 13px 24px;
  border-radius: 100px;
  cursor: pointer;
  transition: all 0.22s ease;
  border: none;
  white-space: nowrap;
  letter-spacing: 0.01em;
  text-decoration: none;
}

.qh-btn-yellow {
  background: var(--qh-yellow);
  color: var(--qh-ink);
  box-shadow: 0 2px 10px rgba(255, 210, 49, 0.35);
}

.qh-btn-yellow:hover {
  background: var(--qh-yellow-dark);
  box-shadow: 0 4px 20px rgba(255, 210, 49, 0.45);
  transform: translateY(-1px);
}

.qh-btn-ink {
  background: var(--qh-ink);
  color: var(--qh-white);
}

.qh-btn-ink:hover {
  background: #2a2917;
  transform: translateY(-1px);
}

.qh-btn-outline {
  background: transparent;
  color: var(--qh-ink);
  border: 1.5px solid var(--qh-border-dark);
}

.qh-btn-outline:hover {
  border-color: var(--qh-ink);
  background: var(--qh-ink-10);
}

/* ---- LAYOUT ---- */
.qh-container {
  width: 100%;
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 32px;
}

.qh-section {
  padding: 104px 0;
}

.qh-section-header {
  margin-bottom: 60px;
}

.qh-section-header .qh-eyebrow,
.qh-section-header .qh-eyebrow-yellow {
  margin-bottom: 16px;
}

.qh-section-header .qh-display-lg {
  margin-bottom: 18px;
}

/* ---- BACKGROUNDS ---- */
.qh-grid-bg {
  position: relative;
}

.qh-grid-bg::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(17, 16, 8, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(17, 16, 8, 0.045) 1px, transparent 1px);
  background-size: 56px 56px;
  pointer-events: none;
  z-index: 0;
}

.qh-grid-bg>* {
  position: relative;
  z-index: 1;
}

/* ---- REVEAL ANIMATIONS ---- */
.qh-reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

.qh-reveal.in {
  opacity: 1;
  transform: translateY(0);
}

.qh-reveal-d1 {
  transition-delay: 0.08s;
}

.qh-reveal-d2 {
  transition-delay: 0.16s;
}

.qh-reveal-d3 {
  transition-delay: 0.24s;
}

.qh-reveal-d4 {
  transition-delay: 0.32s;
}

/* ---- RESPONSIVE ---- */
@media (max-width: 768px) {
  .qh-section {
    padding: 72px 0;
  }

  .qh-container {
    padding: 0 20px;
  }
}