/** Shopify CDN: Minification failed

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

**/
/* ==========================================================================
   Nerdy Creations — Motion & Design Override System
   Loaded via layout/theme.liquid before </head>
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. CUSTOM EASING & DURATION VARIABLES
   -------------------------------------------------------------------------- */
:root {
  /* Strong ease-out: entering elements, button press, card reveals */
  --ease-out-ui: cubic-bezier(0.23, 1, 0.32, 1);

  /* Strong ease-in-out: elements moving across screen (translateY reveals) */
  --ease-in-out-move: cubic-bezier(0.77, 0, 0.175, 1);

  /* Standard ease: color/opacity-only transitions */
  --ease-tint: cubic-bezier(0.25, 0.1, 0.25, 1);

  /* Durations */
  --duration-press:   120ms;
  --duration-hover:   160ms;
  --duration-reveal:  480ms;
  --duration-stagger: 60ms;

  /* Nerdy Creations brand tokens */
  --nc-obsidian:         #0e0e0e;
  --nc-gallery-charcoal: #1a1a1a;
  --nc-oxblood:          #8b0000;
  --nc-oxblood-dark:     #6e0000;
  --nc-arcane-teal:      #1ab8c4;
  --nc-bone-white:       #f0f0f0;
  --nc-white:            #ffffff;
}

/* --------------------------------------------------------------------------
   2. GOOGLE FONTS — Cormorant + Assistant
   -------------------------------------------------------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Cormorant:wght@700&family=Assistant:wght@400&display=swap');

/* --------------------------------------------------------------------------
   3. BASE OVERRIDES — enforce the design system on Dawn's global tokens
   -------------------------------------------------------------------------- */

/* Force heading font to Cormorant if theme settings haven't been updated */
.banner__heading,
.rich-text__heading,
.image-with-text__heading,
h1, h2, h3 {
  font-family: Cormorant, Georgia, 'Times New Roman', serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.06rem;
}

/* Force body font to Assistant */
body,
p,
.banner__text,
.rich-text__text,
.image-with-text__text,
.button,
.btn,
a,
li,
label,
input,
select,
textarea {
  font-family: Assistant, -apple-system, 'Segoe UI', sans-serif;
  font-weight: 400;
}

/* --------------------------------------------------------------------------
   4. FOCUS-VISIBLE RING — accessibility, Oxblood ring (the one sanctioned glow)
   -------------------------------------------------------------------------- */
:focus-visible {
  outline: 2px solid #8b0000;
  outline-offset: 3px;
}

/* --------------------------------------------------------------------------
   5. BUTTON OVERRIDES — flat square Oxblood primary
   -------------------------------------------------------------------------- */

/* Remove Dawn's border-radius from buttons */
.button,
.btn,
[type="submit"],
[type="button"],
[type="reset"] {
  border-radius: 0 !important;
}

/* Primary button: Oxblood fill, white label */
.button--primary,
.btn--primary {
  background-color: #8b0000;
  color: #ffffff;
  border: none;
  border-radius: 0;
  min-height: 4.4rem;
  padding: 1.2rem 3rem;
  transition:
    transform var(--duration-press) var(--ease-out-ui),
    background-color var(--duration-hover) var(--ease-tint);
}

@media (hover: hover) and (pointer: fine) {
  .button--primary:hover,
  .btn--primary:hover {
    background-color: #6e0000;
    transition:
      transform var(--duration-press) var(--ease-out-ui),
      background-color var(--duration-hover) var(--ease-tint);
  }
}

.button--primary:active,
.btn--primary:active {
  transform: scale(0.97);
  transition-duration: calc(var(--duration-press) / 2);
}

/* Secondary / outline button: transparent bg, Oxblood border + label */
.button--secondary,
.btn--secondary {
  background-color: transparent;
  border: 1px solid #8b0000;
  color: #8b0000;
  border-radius: 0;
  min-height: 4.4rem;
  padding: 1.2rem 3rem;
  position: relative;
  overflow: hidden;
}

.button--secondary::before,
.btn--secondary::before {
  content: '';
  position: absolute;
  inset: 0;
  background-color: #8b0000;
  clip-path: inset(0 100% 0 0);
  transition: clip-path var(--duration-hover) var(--ease-out-ui);
  z-index: 0;
}

.button--secondary span,
.btn--secondary span {
  position: relative;
  z-index: 1;
  color: #8b0000;
  transition: color var(--duration-hover) var(--ease-tint);
}

@media (hover: hover) and (pointer: fine) {
  .button--secondary:hover::before,
  .btn--secondary:hover::before {
    clip-path: inset(0 0 0 0);
  }

  .button--secondary:hover span,
  .btn--secondary:hover span {
    color: #ffffff;
  }
}

.button--secondary:active,
.btn--secondary:active {
  transform: scale(0.97);
}

/* Generic .button without modifier — treat as primary on the homepage */
.banner__buttons .button:not(.button--secondary) {
  background-color: #8b0000;
  color: #ffffff;
  border-radius: 0;
  min-height: 4.4rem;
  padding: 1.2rem 3rem;
  transition:
    transform var(--duration-press) var(--ease-out-ui),
    background-color var(--duration-hover) var(--ease-tint);
}

@media (hover: hover) and (pointer: fine) {
  .banner__buttons .button:not(.button--secondary):hover {
    background-color: #6e0000;
  }
}

.banner__buttons .button:not(.button--secondary):active {
  transform: scale(0.97);
  transition-duration: calc(var(--duration-press) / 2);
}

/* --------------------------------------------------------------------------
   6. CARD OVERRIDES — enforce square corners on Dawn's product/collection cards
   -------------------------------------------------------------------------- */
.card,
.card__inner,
.card-wrapper,
.card__media,
.card__information {
  border-radius: 0 !important;
}

/* --------------------------------------------------------------------------
   7. HERO TEXT ENTER ANIMATION
   -------------------------------------------------------------------------- */
.nc-hero-text-enter {
  opacity: 0;
  transform: translateY(12px);
  will-change: opacity, transform;
}

.nc-hero-text-enter.is-visible {
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity var(--duration-reveal) var(--ease-out-ui),
    transform var(--duration-reveal) var(--ease-out-ui);
}

/* Stagger: child index within the banner content container */
.nc-hero-text-enter:nth-child(1).is-visible { transition-delay: 80ms; }
.nc-hero-text-enter:nth-child(2).is-visible { transition-delay: 180ms; }
.nc-hero-text-enter:nth-child(3).is-visible { transition-delay: 260ms; }

/* --------------------------------------------------------------------------
   8. SECTION REVEAL ON SCROLL
   -------------------------------------------------------------------------- */

/* Sections 2-4: block reveal */
.nc-reveal {
  opacity: 0;
  transform: translateY(20px);
  will-change: opacity, transform;
}

.nc-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity var(--duration-reveal) var(--ease-out-ui),
    transform var(--duration-reveal) var(--ease-out-ui);
}

/* Section 5: sculptor grid cards - stagger */
.nc-reveal-stagger {
  opacity: 0;
  transform: translateY(16px);
  will-change: opacity, transform;
}

.nc-reveal-stagger.is-visible {
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity var(--duration-reveal) var(--ease-out-ui),
    transform var(--duration-reveal) var(--ease-out-ui);
}

.nc-reveal-stagger.is-visible:nth-child(1) { transition-delay: 0ms; }
.nc-reveal-stagger.is-visible:nth-child(2) { transition-delay: 60ms; }
.nc-reveal-stagger.is-visible:nth-child(3) { transition-delay: 120ms; }
.nc-reveal-stagger.is-visible:nth-child(4) { transition-delay: 180ms; }
.nc-reveal-stagger.is-visible:nth-child(5) { transition-delay: 240ms; }
.nc-reveal-stagger.is-visible:nth-child(6) { transition-delay: 300ms; }
.nc-reveal-stagger.is-visible:nth-child(7) { transition-delay: 360ms; }
.nc-reveal-stagger.is-visible:nth-child(8) { transition-delay: 360ms; }

/* --------------------------------------------------------------------------
   9. SCULPTOR CARD BASE — layout and hover owned by each section's inline style
   -------------------------------------------------------------------------- */
.nc-sculptor-card,
.nc-sculptor-card__image-wrap {
  border-radius: 0;
}

.nc-sculptor-card:focus-visible {
  outline: 2px solid #8b0000;
  outline-offset: 2px;
}

/* --------------------------------------------------------------------------
   10. BRAND STATEMENT SECTION — hairline top, left-aligned, Gallery Charcoal
   -------------------------------------------------------------------------- */
.rich-text.color-background-2 {
  border-top: 1px solid rgba(240, 240, 240, 0.07);
}

.rich-text__heading {
  font-family: Cormorant, Georgia, 'Times New Roman', serif !important;
  font-weight: 700 !important;
}

.rich-text__wrapper--left .rich-text__blocks {
  text-align: left;
}

/* --------------------------------------------------------------------------
   11. IMAGE-WITH-TEXT SECTION — painting service spotlight
   -------------------------------------------------------------------------- */
.image-with-text__heading {
  font-family: Cormorant, Georgia, 'Times New Roman', serif !important;
  font-weight: 700 !important;
}

/* Remove corner radius on the media block */
.image-with-text__media,
.image-with-text__media img {
  border-radius: 0 !important;
}

/* --------------------------------------------------------------------------
   12. BANNER (HERO) OVERRIDES
   -------------------------------------------------------------------------- */
.banner__heading {
  font-family: Cormorant, Georgia, 'Times New Roman', serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.06rem;
}

/* Remove text box background on hero — text sits directly over image */
.banner--desktop-transparent .banner__box {
  background: none !important;
  padding: 0 !important;
}

.banner__box {
  text-shadow: none !important;
}

/* Hero content positioned bottom-left: extra left padding on desktop */
@media screen and (min-width: 750px) {
  .banner__content--bottom-left {
    padding-bottom: 5rem;
  }
}

/* --------------------------------------------------------------------------
   13. PREFERS-REDUCED-MOTION FALLBACKS
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {

  /* Buttons: remove scale, keep color transition */
  .button--primary:active,
  .btn--primary:active,
  .button--secondary:active,
  .btn--secondary:active,
  .banner__buttons .button:active {
    transform: none;
  }

  /* Outline button fill: instant switch, no clip-path sweep */
  .button--secondary::before,
  .btn--secondary::before {
    clip-path: none;
    background-color: transparent;
    transition: none;
  }

  @media (hover: hover) and (pointer: fine) {
    .button--secondary:hover::before,
    .btn--secondary:hover::before {
      background-color: #8b0000;
      clip-path: none;
    }
  }

  /* Sculptor cards: no image lift */
  .nc-sculptor-card__image {
    transform: none !important;
    transition: none;
  }

  /* Hero text: fade only, no translateY */
  .nc-hero-text-enter {
    transform: none;
  }

  .nc-hero-text-enter.is-visible {
    opacity: 1;
    transform: none;
    transition: opacity 300ms var(--ease-out-ui);
  }

  /* Section reveals: fade only */
  .nc-reveal {
    transform: none;
  }

  .nc-reveal.is-visible {
    opacity: 1;
    transform: none;
    transition: opacity 300ms var(--ease-out-ui);
  }

  .nc-reveal-stagger {
    transform: none;
  }

  .nc-reveal-stagger.is-visible {
    opacity: 1;
    transform: none;
    transition: opacity 300ms var(--ease-out-ui);
    /* Preserve stagger delays so cards don't all flash at once */
  }
}
