/* ===== UNSTOPPABLE MINDSET — GLOBAL STYLES ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: 'DM Sans', sans-serif; background: #FFFBF5; color: #3a2a2a; overflow-x: hidden; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
::selection { background: #F0C4D0; color: #6B2D3E; }
img { max-width: 100%; height: auto; }
a { text-decoration: none; }
button { cursor: pointer; font-family: inherit; }
input, select, textarea { font-family: inherit; }
input:focus, select:focus, textarea:focus { outline: 2px solid #C5944A; outline-offset: 2px; }

/* ===== ANIMATIONS ===== */
@keyframes fadeInUp { from { opacity:0; transform:translateY(30px); } to { opacity:1; transform:translateY(0); } }
@keyframes float { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-12px); } }
@keyframes shimmer { 0% { background-position:-200% center; } 100% { background-position:200% center; } }
@keyframes pulse { 0%,100% { transform:scale(1); } 50% { transform:scale(1.05); } }
@keyframes gentleBob { 0%,100% { transform:translateY(0) rotate(-2deg); } 50% { transform:translateY(-6px) rotate(2deg); } }
@keyframes countPulse { 0%,100% { transform:scale(1); } 50% { transform:scale(1.08); } }
@keyframes sparkle { 0%,100% { opacity:0; transform:scale(0) rotate(0deg); } 50% { opacity:1; transform:scale(1) rotate(180deg); } }
@keyframes marquee { 0% { transform:translateX(0); } 100% { transform:translateX(-50%); } }
@keyframes orbFloat1 { 0%,100% { transform:translate(0,0) scale(1); } 33% { transform:translate(30px,-20px) scale(1.1); } 66% { transform:translate(-20px,15px) scale(0.95); } }
@keyframes orbFloat2 { 0%,100% { transform:translate(0,0) scale(1); } 33% { transform:translate(-25px,20px) scale(0.9); } 66% { transform:translate(15px,-25px) scale(1.08); } }
@keyframes glowPulse { 0%,100% { opacity:0.4; } 50% { opacity:0.7; } }
@keyframes textShine { 0% { background-position:0% 50%; } 100% { background-position:200% 50%; } }
@keyframes petalFall { 0% { opacity:1; transform:translateY(0) rotate(0deg) translateX(0); } 100% { opacity:0; transform:translateY(100vh) rotate(360deg) translateX(80px); } }

/* ===== SCROLL REVEAL ===== */
.sr { opacity:0; transform:translateY(40px) scale(0.98); filter:blur(4px); transition:all 0.8s cubic-bezier(0.16,1,0.3,1); }
.sr.visible { opacity:1; transform:translateY(0) scale(1); filter:blur(0); }

/* ===== GRAIN OVERLAY ===== */
body::after { content:''; position:fixed; inset:0; pointer-events:none; z-index:9998; opacity:0.025; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); background-repeat:repeat; background-size:180px; }

/* ===== UTILITY CLASSES ===== */
.container { max-width:1200px; margin:0 auto; padding:0 24px; }
.section-pad { padding:100px 24px; }
.text-center { text-align:center; }
.font-display { font-family:'Playfair Display',serif; }
.font-script { font-family:'Caveat',cursive; }

/* ===== HOVER HELPERS (vanilla JS toggles) ===== */
.hover-lift { transition:all 0.4s cubic-bezier(0.16,1,0.3,1); }
.hover-lift:hover { transform:translateY(-6px) scale(1.02); box-shadow:0 16px 40px rgba(107,45,62,0.1); }

/* ===== NAV ===== */
.nav { position:fixed; top:0; left:0; width:100%; z-index:1000; background:rgba(255,251,245,0.55); backdrop-filter:blur(20px) saturate(1.8); -webkit-backdrop-filter:blur(20px) saturate(1.8); border-bottom:1px solid rgba(197,148,74,0.1); transition:all 0.3s ease; box-shadow:0 1px 24px rgba(107,45,62,0.04); }
.nav-inner { max-width:1200px; margin:0 auto; padding:10px 16px; display:flex; align-items:center; justify-content:space-between; gap:8px; }
.nav-logo { display:flex; align-items:center; gap:8px; flex-shrink:0; }
.nav-links { display:flex; align-items:center; gap:20px; }
.nav-link { font-size:13px; color:#6B2D3E; font-weight:500; opacity:0.7; transition:opacity 0.2s; }
.nav-link:hover { opacity:1; }
.nav-cta { font-size:12px; color:white; background:linear-gradient(135deg,#C5944A,#B8833A); padding:8px 18px; border-radius:100px; font-weight:600; letter-spacing:0.3px; transition:transform 0.2s, box-shadow 0.2s; box-shadow:0 2px 8px rgba(197,148,74,0.3); white-space:nowrap; flex-shrink:0; }
.nav-cta:hover { transform:translateY(-1px); box-shadow:0 4px 16px rgba(197,148,74,0.4); }

/* ===== FEATURE CARD ===== */
.feature-card { background:rgba(255,255,255,0.6); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); border-radius:16px; padding:32px 28px; border:1px solid rgba(197,148,74,0.12); transition:all 0.4s cubic-bezier(0.16,1,0.3,1); box-shadow:0 2px 12px rgba(107,45,62,0.03); }
.feature-card:hover { transform:translateY(-6px) scale(1.02); box-shadow:0 16px 40px rgba(107,45,62,0.1); border-color:rgba(197,148,74,0.25); }
/* Centered card grids — flex wrap centers partial rows reliably */
.features-grid,
.cards-grid,
.cards-grid-wide,
.cards-grid-sm,
.cards-grid-md,
.cards-grid-audience {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: stretch;
  gap: 28px;
}
.features-grid { gap: 24px; }
.cards-grid-sm { gap: 16px; }
.cards-grid-md { gap: 20px; }
.features-grid > .feature-card { flex: 0 1 260px; max-width: 280px; width: 100%; box-sizing: border-box; }
.cards-grid > .product-card,
.cards-grid > .product-card-link,
.cards-grid > .review-card { flex: 0 1 270px; max-width: 300px; width: 100%; box-sizing: border-box; }
.cards-grid-wide > .product-card { flex: 0 1 300px; max-width: 340px; width: 100%; box-sizing: border-box; }
.cards-grid-sm > .feature-card { flex: 0 1 200px; max-width: 240px; width: 100%; box-sizing: border-box; }
.cards-grid-sm > *:not(.feature-card) { flex: 0 1 220px; max-width: 260px; width: 100%; box-sizing: border-box; }
.cards-grid-md > * { flex: 0 1 260px; max-width: 320px; width: 100%; box-sizing: border-box; }
.cards-grid-audience > * { flex: 0 1 240px; max-width: 280px; width: 100%; box-sizing: border-box; }
.why-us-grid > .sr { flex: 0 1 340px; max-width: 340px; width: 100%; box-sizing: border-box; }
.product-card-link { display:block; text-decoration:none; color:inherit; height:100%; flex: 0 1 270px; max-width: 300px; width: 100%; box-sizing: border-box; }
.product-card-link:hover .product-card { transform:translateY(-8px) scale(1.02); box-shadow:0 20px 48px rgba(107,45,62,0.12); }
.product-card-link:hover .product-card.featured { box-shadow:0 24px 56px rgba(197,148,74,0.22); }
.product-card-link .product-card { height:100%; display:flex; flex-direction:column; }
.product-card-link .product-card-body { flex:1; display:flex; flex-direction:column; }
.product-card-link .product-card-body .card-spacer { flex:1; }
.product-card.sold-out-card { opacity:0.85; }
.product-card.sold-out-card:hover { transform:none; box-shadow:0 2px 12px rgba(107,45,62,0.04); }
.card-action { display:block; text-align:center; font-size:14px; color:#6B2D3E; border:1.5px solid rgba(107,45,62,0.2); padding:12px; border-radius:100px; font-weight:600; }
.card-action-primary { color:white; background:linear-gradient(135deg,#C5944A,#B8833A); padding:14px; border:none; box-shadow:0 4px 16px rgba(197,148,74,0.3); }
.card-details { display:block; text-align:center; font-size:12px; color:#C5944A; margin-top:10px; font-weight:500; }
.card-sold-btn { text-align:center; font-size:14px; color:#999; background:rgba(107,45,62,0.04); border:1.5px solid rgba(107,45,62,0.1); padding:12px; border-radius:100px; font-weight:600; cursor:not-allowed; }

/* ===== PRODUCT CARD ===== */
.product-card { background:rgba(255,255,255,0.7); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); border-radius:20px; overflow:hidden; border:1px solid rgba(197,148,74,0.1); transition:all 0.4s cubic-bezier(0.16,1,0.3,1); box-shadow:0 2px 12px rgba(107,45,62,0.04); }
.product-card:hover { transform:translateY(-8px) scale(1.02); box-shadow:0 20px 48px rgba(107,45,62,0.12); }
.product-card.featured { border:2px solid rgba(197,148,74,0.4); box-shadow:0 4px 24px rgba(197,148,74,0.12); }
.product-card.featured:hover { box-shadow:0 24px 56px rgba(197,148,74,0.22); }

/* ===== FORM ===== */
.form-card { background:rgba(255,255,255,0.65); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); border-radius:20px; padding:40px; box-shadow:0 8px 32px rgba(107,45,62,0.08); border:1px solid rgba(197,148,74,0.15); }
.form-input { width:100%; padding:14px 16px; border:1.5px solid rgba(197,148,74,0.2); border-radius:12px; font-size:14px; color:#6B2D3E; background:#FFFBF5; outline:none; transition:border-color 0.3s; box-sizing:border-box; }
.form-input:focus { border-color:#C5944A; }
.form-label { font-size:13px; color:#6B2D3E; font-weight:600; display:block; margin-bottom:6px; }

/* ===== FAQ ===== */
.faq-item { background:white; border-radius:14px; border:1px solid rgba(197,148,74,0.1); overflow:hidden; transition:all 0.3s; }
.faq-btn { width:100%; padding:20px 24px; background:none; border:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px; text-align:left; }
.faq-answer { padding:0 24px 20px; display:none; }
.faq-item.open .faq-answer { display:block; }

/* ===== BOOK FLIPPER ===== */
.book-container { position:relative; perspective:1200px; cursor:pointer; }
.book-page { position:absolute; inset:0; background:white; border-radius:4px 16px 16px 4px; box-shadow:4px 4px 20px rgba(107,45,62,0.1); border:1px solid rgba(197,148,74,0.12); overflow:hidden; }
.book-page.flipping { transform-origin:left center; transition:transform 0.8s cubic-bezier(0.645,0.045,0.355,1); backface-visibility:hidden; }

/* ===== REVIEWS (hidden by default, shown via ?preview=reviews) ===== */
.reviews-hidden { display:none !important; }
.reviews-hidden.preview-active { display:block !important; }

/* ===== FLIPBOOK ===== */
/* Stage uses cream so cover/first/last pages read clearly against empty space */
#journal-flipbook,
#journal-flipbook .stf__block,
#journal-flipbook .stf__item,
#journal-flipbook .stf__outer {
  background: #FFFBF5 !important;
}
#journal-flipbook .flip-page {
  background: #fff;
}

/* ===== RESPONSIVE ===== */
@media (min-width:768px) { .nav-desk { display:inline !important; } }
@media (max-width:767px) {
  .nav-desk { display:none !important; }
  .hero-grid { flex-direction:column !important; text-align:center; }
  .hero-left { max-width:100% !important; align-items:center !important; }
  .countdown-row { justify-content:center; }
  .hero-cta-row { justify-content:center; }
  .hero-social { justify-content:center; }
  .hero-book { margin-top:20px; }
}
@media (max-width:480px) {
  .section-pad { padding:60px 16px !important; }
  .form-card { padding:24px !important; }
  .nav-inner { padding:10px 12px; }
}
