/*
Theme Name: Flavor Starter
Theme URI: https://example.com/flavor-starter
Author: Flavor Starter
Author URI: https://example.com
Description: A professional, modern WordPress theme built for software companies. Features a dark, refined aesthetic with full WooCommerce support for selling software licenses, subscriptions, and digital products. Perfect for audio VST plugins, creative tools, book formatting software, and SaaS products.
Version: 3.1.2
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: flavor-starter
Tags: e-commerce, custom-menu, featured-images, threaded-comments, translation-ready, one-column, custom-logo
*/

/* ============================================
   CUSTOM PROPERTIES
   ============================================ */
:root {
  /* Core palette — deep navy base with electric teal accent */
  --c-bg:          #0b0e14;
  --c-bg-raised:   #111620;
  --c-surface:     #171d2a;
  --c-surface-2:   #1e2536;
  --c-border:      #2a3348;
  --c-border-light:#384462;
  --c-text:        #e2e6f0;
  --c-text-muted:  #8892a8;
  --c-text-dim:    #5c6680;
  --c-heading:     #f0f2f8;
  --c-accent:      #00d4aa;
  --c-accent-2:    #00b894;
  --c-accent-glow: rgba(0,212,170,0.15);
  --c-accent-dim:  rgba(0,212,170,0.08);
  --c-hot:         #ff6b6b;
  --c-sale:        #ff6b6b;
  --c-success:     #00d4aa;
  --c-warning:     #ffc53d;
  --c-error:       #ff6b6b;
  --c-white:       #ffffff;

  /* Typography */
  --f-display: 'Outfit', system-ui, sans-serif;
  --f-body:    'Source Sans 3', system-ui, sans-serif;
  --f-mono:    'JetBrains Mono', 'Fira Code', monospace;

  /* Spacing / Layout */
  --max-w:    1240px;
  --gap:      2rem;
  --radius:   8px;
  --radius-lg:16px;

  /* Shadows */
  --shadow-sm:  0 1px 3px rgba(0,0,0,0.3);
  --shadow-md:  0 4px 20px rgba(0,0,0,0.35);
  --shadow-lg:  0 12px 48px rgba(0,0,0,0.5);
  --shadow-glow:0 0 30px rgba(0,212,170,0.12);

  --transition: 0.25s cubic-bezier(0.4,0,0.2,1);
}

/* ============================================
   RESET & BASE
   ============================================ */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}

body{
  font-family:var(--f-body);
  font-size:16px;
  line-height:1.7;
  color:var(--c-text);
  background:var(--c-bg);
}

/* Subtle noise overlay on body */
body::before{
  content:'';
  position:fixed;
  inset:0;
  background: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)' opacity='0.03'/%3E%3C/svg%3E");
  pointer-events:none;
  z-index:0;
}

body>*{position:relative;z-index:1}

::selection{background:var(--c-accent);color:var(--c-bg)}

img{max-width:100%;height:auto;display:block}

a{
  color:var(--c-accent);
  text-decoration:none;
  transition:color var(--transition);
}
a:hover{color:var(--c-accent-2)}

h1,h2,h3,h4,h5,h6{
  font-family:var(--f-display);
  font-weight:700;
  line-height:1.2;
  color:var(--c-heading);
  letter-spacing:-0.02em;
}
h1{font-size:clamp(2.25rem,5vw,3.5rem)}
h2{font-size:clamp(1.75rem,3.5vw,2.5rem)}
h3{font-size:1.375rem}
h4{font-size:1.125rem}

p+p{margin-top:1rem}

code,pre{font-family:var(--f-mono);font-size:0.9em}

pre{
  background:var(--c-surface);
  border:1px solid var(--c-border);
  border-radius:var(--radius);
  padding:1.25rem;
  overflow-x:auto;
}

/* ============================================
   LAYOUT
   ============================================ */
.site-container{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  overflow-x:hidden;
}

.container{
  width:100%;
  max-width:var(--max-w);
  margin:0 auto;
  padding:0 1.5rem;
}

.container--narrow{max-width:800px}

.site-content{flex:1}

/* Utility: section spacing */
.section{padding:5rem 0}
.section--sm{padding:3rem 0}

/* ============================================
   HEADER — TWO-PILL FLOATING BAR (Hyprland-style)
   ============================================ */
.site-header{
  position:fixed;
  top:0;left:0;right:0;
  z-index:1000;
  padding:0.65rem 1.25rem 0;
  pointer-events:none;
  transition:top 0.35s ease;
}

.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  max-width:var(--max-w);
  margin:0 auto;
  gap:0.75rem;
}

/* ── Shared pill base — blur lives HERE on the element itself ── */
.header-pill{
  position:relative;
  pointer-events:auto;
  border-radius:50px;
  background:rgba(13,17,26,0.3);
  -webkit-backdrop-filter:blur(16px) saturate(1.4);
  backdrop-filter:blur(16px) saturate(1.4);
  transition:background 0.35s ease,box-shadow 0.35s ease;
}

/* Teal gradient border */
.header-pill::after{
  content:'';
  position:absolute;
  inset:0;
  border-radius:50px;
  border-top:1.5px solid rgba(0,212,170,0.5);
  border-left:1px solid rgba(0,212,170,0.15);
  border-right:1px solid rgba(0,212,170,0.15);
  border-bottom:1px solid rgba(0,212,170,0.03);
  box-shadow:
    0 -1px 12px rgba(0,212,170,0.08),
    0 8px 32px rgba(0,0,0,0.25),
    inset 0 1px 0 rgba(255,255,255,0.04);
  pointer-events:none;
}

/* ── Left pill — branding ── */
.header-pill--brand{
  padding:0 1.25rem;
  height:52px;
  display:flex;
  align-items:center;
  flex-shrink:0;
}

/* ── Right pill — nav + actions ── */
.header-pill--nav{
  display:flex;
  align-items:center;
  height:52px;
  padding:0 0.5rem 0 1.25rem;
  gap:0.25rem;
}

/* ── Scrolled state — both pills ── */
.site-header.scrolled .header-pill{
  background:rgba(13,17,26,0.4);
}
.site-header.scrolled .header-pill::after{
  border-top-color:rgba(0,212,170,0.6);
  border-left-color:rgba(0,212,170,0.2);
  border-right-color:rgba(0,212,170,0.2);
  box-shadow:
    0 -1px 16px rgba(0,212,170,0.1),
    0 8px 40px rgba(0,0,0,0.35),
    0 0 60px rgba(0,212,170,0.04),
    inset 0 1px 0 rgba(255,255,255,0.05);
}

/* Push page content below the fixed header */
.site-content{
  flex:1;
  padding-top:5rem;
}

/* Front page: hero bleeds under the floating nav */
.home .site-content,
.page-template-front-page .site-content{
  padding-top:0;
}
.hero{
  padding-top:6rem; /* account for floating header overlap */
}

/* Branding */
.site-branding{display:flex;align-items:center;gap:0.75rem}

.site-branding .custom-logo-link img{height:36px;width:auto}

.site-branding .site-title{
  font-family:var(--f-display);
  font-size:1.35rem;
  font-weight:800;
  letter-spacing:-0.03em;
  line-height:1;
}

.site-branding .site-title a{color:var(--c-heading)}
.site-branding .site-title a:hover{color:var(--c-accent)}

.site-description{display:none}

/* Navigation */
.main-navigation ul{
  list-style:none;
  display:flex;
  align-items:center;
  gap:0.25rem;
}

.main-navigation a{
  display:block;
  padding:0.5rem 0.9rem;
  color:var(--c-text-muted);
  font-family:var(--f-body);
  font-size:0.9rem;
  font-weight:500;
  border-radius:var(--radius);
  transition:color var(--transition), background var(--transition);
}

.main-navigation a:hover,
.main-navigation .current-menu-item>a,
.main-navigation .current_page_item>a{
  color:var(--c-heading);
  background:var(--c-surface);
}

/* Sub-menus */
.main-navigation li{position:relative}

.main-navigation ul ul{
  display:none;
  position:absolute;
  top:calc(100% + 4px);
  left:0;
  background:var(--c-surface);
  border:1px solid var(--c-border);
  border-radius:var(--radius);
  box-shadow:var(--shadow-lg);
  padding:0.5rem;
  min-width:220px;
  flex-direction:column;
  gap:0;
  z-index:100;
}

.main-navigation li:hover>ul{display:flex}

.main-navigation ul ul a{
  padding:0.6rem 0.75rem;
  border-radius:calc(var(--radius) - 2px);
  white-space:nowrap;
}

.main-navigation ul ul a:hover{background:var(--c-accent-dim)}

/* Header actions */
.header-actions{
  display:flex;
  align-items:center;
  gap:0.75rem;
}

.header-cta{
  display:inline-flex;
  align-items:center;
  gap:0.4rem;
  padding:0.5rem 1.35rem;
  font-family:var(--f-body);
  font-size:0.85rem;
  font-weight:600;
  color:var(--c-bg);
  background:linear-gradient(135deg, #00d4aa 0%, #00b4d8 100%);
  border:none;
  border-radius:50px;
  cursor:pointer;
  transition:background var(--transition),transform var(--transition),box-shadow var(--transition);
}

.header-cta:hover{
  background:linear-gradient(135deg, #00e4ba 0%, #00c4e8 100%);
  color:var(--c-bg);
  transform:translateY(-1px);
  box-shadow:0 4px 20px rgba(0,212,170,0.3);
}

.cart-link{
  display:flex;
  align-items:center;
  gap:0.35rem;
  color:var(--c-text-muted);
  font-size:0.85rem;
  font-weight:500;
  padding:0.5rem 0.75rem;
  border-radius:var(--radius);
  transition:color var(--transition),background var(--transition);
}

.cart-link:hover{color:var(--c-heading);background:var(--c-surface)}

.cart-link svg{width:18px;height:18px}

.cart-count{
  background:var(--c-accent);
  color:var(--c-bg);
  font-size:0.65rem;
  font-weight:800;
  border-radius:50%;
  width:18px;
  height:18px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}

/* Mobile toggle */
.menu-toggle{
  display:none;
  background:none;
  border:1px solid var(--c-border);
  border-radius:var(--radius);
  cursor:pointer;
  padding:0.5rem;
  color:var(--c-text);
  transition:background var(--transition);
}
.menu-toggle:hover{background:var(--c-surface)}
.menu-toggle svg{width:22px;height:22px}

@media(max-width:900px){
  .menu-toggle{display:flex}
  .site-header{padding:0.5rem 0.75rem 0}
  .header-pill--nav{padding:0 0.5rem;gap:0.15rem}
  .main-navigation{display:none!important}
  .header-cta .cta-label{display:none}
}

/* ── Mobile dropdown — independent blur layer ── */
.mobile-navigation{
  display:none;
  max-width:var(--max-w);
  margin:0.6rem auto 0;
  padding:0.75rem 1.25rem 1rem;
  border-radius:20px;
  background:rgba(13,17,26,0.3);
  -webkit-backdrop-filter:blur(16px) saturate(1.4);
  backdrop-filter:blur(16px) saturate(1.4);
  border-top:1.5px solid rgba(0,212,170,0.35);
  border-left:1px solid rgba(0,212,170,0.1);
  border-right:1px solid rgba(0,212,170,0.1);
  border-bottom:1px solid rgba(0,212,170,0.03);
  box-shadow:0 12px 48px rgba(0,0,0,0.4);
  pointer-events:auto;
}
.mobile-navigation.toggled{display:block}
.mobile-navigation ul{
  list-style:none;
  margin:0;padding:0;
  display:flex;
  flex-direction:column;
}
.mobile-navigation li{
  border-bottom:1px solid rgba(255,255,255,0.06);
}
.mobile-navigation li:last-child{border-bottom:none}
.mobile-navigation a{
  display:block;
  padding:0.85rem 0.5rem;
  color:var(--c-text-muted);
  font-size:0.95rem;
  font-weight:500;
  text-decoration:none;
  transition:color 0.2s ease;
}
.mobile-navigation a:hover{color:var(--c-accent)}
.mobile-navigation ul ul{padding:0 0 0 1rem}
@media(min-width:901px){
  .mobile-navigation{display:none!important}
}
/* --- Screenshot deck that always hovers on all layers --- */
/* --- 2D Screenshot deck: all 3 layers hover correctly --- */
.deck-parallax{
  --radius: 18px;
  --shadow: 0 30px 90px rgba(0,0,0,.6);
  --border: 1px solid rgba(255,255,255,.08);

  width: min(1100px, 100%);
  margin-inline: auto;
  padding: 5rem 0 4rem;

  position: relative;
  z-index: 50;
}

/* Give lots of vertical room + prevent next sections overlapping */
.deck-parallax__stage{
  position: relative;
  height: clamp(980px, 95vw, 1500px);
}

/* Card container does NOT take pointer events */
.deck-card{
  position: absolute;
  left: 50%;
  margin: 0;
  width: min(980px, 100%);
  pointer-events: none; /* prevents blocking other layers */
}

/* Only the visible card box is hoverable */
.deck-card__hit{
  pointer-events: auto;

  width: 100%;
  aspect-ratio: 16 / 9;

  border-radius: var(--radius);
  overflow: hidden;
  border: var(--border);
  box-shadow: var(--shadow);

  transition: transform 220ms ease, opacity 220ms ease, filter 220ms ease;
  will-change: transform;
}

.deck-card__hit img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* MUCH more vertical spacing (use px for predictable spacing) */
.deck-card--top{
  top: 0px;
  transform: translateX(-50%) scale(.86);
  z-index: 1;
}
.deck-card--mid{
  top: clamp(280px, 28vw, 220px);
  transform: translateX(-50%) scale(.92);
  z-index: 2;
}
.deck-card--front{
  top: clamp(600px, 62vw, 600px);
  transform: translateX(-50%) scale(1);
  z-index: 3;
}

/* Styling differences */
.deck-card--top  .deck-card__hit{ opacity:.35; filter: blur(1px) saturate(.9) brightness(.78); }
.deck-card--mid  .deck-card__hit{ opacity:.62; filter: blur(.7px) saturate(.95) brightness(.86); }
.deck-card--front .deck-card__hit{ opacity:1; filter:none; }

/* Hover: ONLY hovered card lifts 20% and comes to front */
.deck-card__hit:hover{
  transform: translateY(-20%);
  opacity: 1;
  filter: none;
}

/* Make hovered card render on top */
.deck-card__hit:hover{
  position: relative;
  z-index: 999;
}

/* Mobile */
@media (max-width: 700px){
  .deck-parallax__stage{
    height: clamp(900px, 130vw, 1500px);
  }
}


.hero-canvas,
.perspective-grid,
.orb-container,
.light-rays,
.ring-halos,
.glow-core,
.streaks,
.hero-noise{
  pointer-events: none !important;
}

/* ============================================
   BUTTONS
   ============================================ */
.btn,
button,
input[type="submit"],
.wp-block-button__link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0.5rem;
  padding:0.75rem 1.75rem;
  font-family:var(--f-body);
  font-size:0.9rem;
  font-weight:600;
  border:none;
  border-radius:var(--radius);
  cursor:pointer;
  background:var(--c-accent);
  color:var(--c-bg);
  transition:all var(--transition);
  text-decoration:none;
  line-height:1.4;
}

.btn:hover,
button:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover{
  background:var(--c-accent-2);
  color:var(--c-bg);
  transform:translateY(-1px);
  box-shadow:var(--shadow-glow);
}

.btn--outline{
  background:transparent;
  color:var(--c-text);
  border:1px solid var(--c-border);
}
.btn--outline:hover{
  border-color:var(--c-accent);
  color:var(--c-accent);
  background:var(--c-accent-dim);
  box-shadow:none;
}

.btn--lg{padding:0.95rem 2.5rem;font-size:1rem}
.btn--sm{padding:0.5rem 1rem;font-size:0.8rem}

.btn--ghost{
  background:transparent;
  color:var(--c-accent);
  padding:0.75rem 0;
}
.btn--ghost:hover{
  background:transparent;
  color:var(--c-accent-2);
  box-shadow:none;
  transform:none;
}
.btn--ghost::after{
  content:'→';
  transition:transform var(--transition);
}
.btn--ghost:hover::after{transform:translateX(4px)}

/* ============================================
   FORMS
   ============================================ */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="url"],
input[type="tel"],
input[type="number"],
textarea,
select{
  width:100%;
  padding:0.7rem 1rem;
  font-family:var(--f-body);
  font-size:0.95rem;
  color:var(--c-text);
  background:var(--c-surface);
  border:1px solid var(--c-border);
  border-radius:var(--radius);
  transition:border-color var(--transition),box-shadow var(--transition);
}
input:focus,textarea:focus,select:focus{
  outline:none;
  border-color:var(--c-accent);
  box-shadow:0 0 0 3px var(--c-accent-glow);
}

label{
  font-weight:500;
  font-size:0.9rem;
  color:var(--c-text);
  display:block;
  margin-bottom:0.35rem;
}

/* ============================================
   HERO SECTION (front-page.php)
   ============================================ */
.hero{
  position:relative;
  padding:0;
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  overflow:hidden;
}

/* ── Particle Canvas ── */
.hero-canvas{
  position:absolute;
  inset:0;
  z-index:1;
}

/* ── Hero bottom fade — prevents hard cut-off ── */
.hero::after{
  content:'';
  position:absolute;
  bottom:0;left:0;right:0;
  height:200px;
  background:linear-gradient(to bottom, transparent 0%, var(--c-bg) 100%);
  z-index:8;
  pointer-events:none;
}

/* ============================================
   HERO → DECK BRIDGE (smooth background flow)
   ============================================ */
.hero-bridge{
  position:relative;
  overflow:hidden;
  /* Pull up into the hero fade zone for seamless blend */
  margin-top:-80px;
  padding-top:80px;
}

/* Continuing perspective grid — fades in at top, fades out at bottom */
.hero-bridge__grid{
  position:absolute;
  top:0;left:50%;
  transform:translateX(-50%) perspective(600px) rotateX(55deg);
  width:200%;height:70%;
  z-index:0;
  background:
    linear-gradient(90deg,rgba(0,212,170,0.035) 1px,transparent 1px),
    linear-gradient(0deg,rgba(0,212,170,0.035) 1px,transparent 1px);
  background-size:60px 60px;
  mask-image:linear-gradient(to bottom, black 0%, black 30%, transparent 80%);
  -webkit-mask-image:linear-gradient(to bottom, black 0%, black 30%, transparent 80%);
  animation:gridScroll 20s linear infinite;
  pointer-events:none;
}

/* Ambient glow orbs that float behind the deck */
.hero-bridge__glow{
  position:absolute;
  border-radius:50%;
  pointer-events:none;
  filter:blur(100px);
  z-index:0;
}

.hero-bridge__glow--1{
  width:500px;height:500px;
  top:5%;left:40%;
  background:radial-gradient(circle, rgba(0,212,170,0.1) 0%, rgba(0,212,170,0.03) 40%, transparent 70%);
  animation:bridgeGlow1 10s ease-in-out infinite;
}

.hero-bridge__glow--2{
  width:400px;height:400px;
  top:20%;right:15%;
  background:radial-gradient(circle, rgba(124,58,237,0.07) 0%, rgba(124,58,237,0.02) 40%, transparent 70%);
  animation:bridgeGlow2 12s ease-in-out infinite;
}

@keyframes bridgeGlow1{
  0%,100%{transform:translate(0,0) scale(1);opacity:0.7}
  50%{transform:translate(30px,-20px) scale(1.1);opacity:1}
}
@keyframes bridgeGlow2{
  0%,100%{transform:translate(0,0) scale(1);opacity:0.5}
  50%{transform:translate(-20px,15px) scale(1.08);opacity:0.8}
}

/* Scattered particle dots via radial gradients */
.hero-bridge__particles{
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    radial-gradient(1px 1px at 15% 20%, rgba(0,212,170,0.4) 50%, transparent 100%),
    radial-gradient(1px 1px at 35% 45%, rgba(0,212,170,0.25) 50%, transparent 100%),
    radial-gradient(1.5px 1.5px at 60% 15%, rgba(0,212,170,0.35) 50%, transparent 100%),
    radial-gradient(1px 1px at 80% 35%, rgba(124,58,237,0.3) 50%, transparent 100%),
    radial-gradient(1px 1px at 25% 65%, rgba(0,212,170,0.2) 50%, transparent 100%),
    radial-gradient(1.5px 1.5px at 70% 55%, rgba(59,130,246,0.25) 50%, transparent 100%),
    radial-gradient(1px 1px at 90% 20%, rgba(0,212,170,0.3) 50%, transparent 100%),
    radial-gradient(1px 1px at 50% 80%, rgba(124,58,237,0.2) 50%, transparent 100%),
    radial-gradient(1px 1px at 10% 50%, rgba(0,212,170,0.25) 50%, transparent 100%);
  mask-image:linear-gradient(to bottom, black 0%, black 40%, transparent 75%);
  -webkit-mask-image:linear-gradient(to bottom, black 0%, black 40%, transparent 75%);
  animation:bridgeParticlesDrift 25s linear infinite alternate;
}

@keyframes bridgeParticlesDrift{
  0%{background-position:0 0}
  100%{background-position:30px 20px}
}

/* Ensure deck-parallax sits above the bridge effects */
.hero-bridge .deck-parallax{
  position:relative;
  z-index:1;
}

/* ── Perspective Grid Floor ── */
.perspective-grid{
  position:absolute;
  bottom:-10%;left:50%;
  transform:translateX(-50%) perspective(600px) rotateX(55deg);
  width:200%;height:80vh;
  z-index:2;
  background:
    linear-gradient(90deg,rgba(0,212,170,0.04) 1px,transparent 1px),
    linear-gradient(0deg,rgba(0,212,170,0.04) 1px,transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(ellipse 50% 80% at 50% 100%,black 20%,transparent 70%);
  -webkit-mask-image:radial-gradient(ellipse 50% 80% at 50% 100%,black 20%,transparent 70%);
  animation:gridScroll 20s linear infinite;
}
@keyframes gridScroll{0%{background-position:0 0}100%{background-position:0 60px}}

/* ── Mesh Gradient Orbs ── */
.orb-container{
  position:absolute;inset:0;z-index:3;overflow:hidden;
  filter:blur(80px);
}
.orb{position:absolute;border-radius:50%}
.orb--primary{
  width:600px;height:600px;top:10%;left:50%;transform:translateX(-50%);
  background:radial-gradient(circle at 40% 40%,rgba(0,212,170,0.18) 0%,rgba(0,212,170,0.06) 40%,transparent 70%);
  animation:orbFloat1 8s ease-in-out infinite;
}
.orb--secondary{
  width:500px;height:500px;top:20%;left:35%;
  background:radial-gradient(circle at 60% 30%,rgba(124,58,237,0.14) 0%,rgba(124,58,237,0.04) 45%,transparent 70%);
  animation:orbFloat2 10s ease-in-out infinite;
}
.orb--tertiary{
  width:450px;height:450px;top:5%;right:20%;
  background:radial-gradient(circle at 30% 60%,rgba(59,130,246,0.12) 0%,rgba(59,130,246,0.03) 50%,transparent 70%);
  animation:orbFloat3 12s ease-in-out infinite;
}
.orb--accent{
  width:300px;height:300px;top:35%;left:50%;transform:translateX(-50%);
  background:radial-gradient(circle,rgba(0,230,195,0.1) 0%,transparent 60%);
  animation:orbPulse 4s ease-in-out infinite;
}
@keyframes orbFloat1{0%,100%{transform:translateX(-50%) translate(0,0) scale(1)}33%{transform:translateX(-50%) translate(30px,-20px) scale(1.05)}66%{transform:translateX(-50%) translate(-20px,15px) scale(0.95)}}
@keyframes orbFloat2{0%,100%{transform:translate(0,0) scale(1)}25%{transform:translate(-40px,20px) scale(1.08)}50%{transform:translate(20px,-30px) scale(0.92)}75%{transform:translate(30px,10px) scale(1.04)}}
@keyframes orbFloat3{0%,100%{transform:translate(0,0) scale(1)}40%{transform:translate(25px,30px) scale(1.06)}70%{transform:translate(-35px,-15px) scale(0.94)}}
@keyframes orbPulse{0%,100%{opacity:.6;transform:translateX(-50%) scale(1)}50%{opacity:1;transform:translateX(-50%) scale(1.2)}}

/* ── Rotating Light Rays ── */
.light-rays{
  position:absolute;top:-20%;left:50%;transform:translateX(-50%);
  width:1200px;height:900px;z-index:4;opacity:.5;
  mix-blend-mode:screen;
  animation:raysRotate 30s linear infinite;
}
@keyframes raysRotate{0%{transform:translateX(-50%) rotate(0deg)}100%{transform:translateX(-50%) rotate(360deg)}}

/* ── Ring Halos ── */
.ring-halos{position:absolute;top:25%;left:50%;transform:translate(-50%,-50%);z-index:4;pointer-events:none}
.ring{position:absolute;border-radius:50%;border:1px solid;top:50%;left:50%;transform:translate(-50%,-50%)}
.ring--1{width:300px;height:300px;border-color:rgba(0,212,170,0.06);animation:ringExpand 6s ease-in-out infinite}
.ring--2{width:500px;height:500px;border-color:rgba(0,212,170,0.03);animation:ringExpand 6s ease-in-out infinite 1s}
.ring--3{width:700px;height:700px;border-color:rgba(124,58,237,0.025);animation:ringExpand 6s ease-in-out infinite 2s}
@keyframes ringExpand{0%,100%{transform:translate(-50%,-50%) scale(1);opacity:1}50%{transform:translate(-50%,-50%) scale(1.08);opacity:.5}}

/* ── Central Glow Core ── */
.glow-core{
  position:absolute;top:30%;left:50%;transform:translate(-50%,-50%);
  width:500px;height:500px;z-index:5;pointer-events:none;
}
.glow-core::before{
  content:'';position:absolute;inset:0;border-radius:50%;
  background:radial-gradient(circle,rgba(0,212,170,0.08) 0%,rgba(0,212,170,0.03) 30%,transparent 60%);
  animation:corePulse 5s ease-in-out infinite;
}
.glow-core::after{
  content:'';position:absolute;top:50%;left:50%;width:2px;height:2px;
  transform:translate(-50%,-50%);border-radius:50%;
  background:rgba(0,230,195,0.9);
  box-shadow:0 0 20px 8px rgba(0,212,170,0.3),0 0 60px 20px rgba(0,212,170,0.15),0 0 120px 40px rgba(0,212,170,0.06);
  animation:coreGlow 3s ease-in-out infinite;
}
@keyframes corePulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}
@keyframes coreGlow{0%,100%{box-shadow:0 0 20px 8px rgba(0,212,170,.3),0 0 60px 20px rgba(0,212,170,.15),0 0 120px 40px rgba(0,212,170,.06)}50%{box-shadow:0 0 30px 12px rgba(0,212,170,.4),0 0 80px 30px rgba(0,212,170,.2),0 0 160px 60px rgba(0,212,170,.1)}}

/* ── Horizontal Light Streaks ── */
.streaks{position:absolute;top:30%;left:0;right:0;height:200px;z-index:5;pointer-events:none;overflow:hidden}
.streak{position:absolute;height:1px;border-radius:50%}
.streak--1{top:30%;left:10%;width:30%;background:linear-gradient(90deg,transparent,rgba(0,212,170,0.15),transparent);animation:streakMove 7s ease-in-out infinite}
.streak--2{top:55%;left:40%;width:45%;background:linear-gradient(90deg,transparent,rgba(124,58,237,0.1),transparent);animation:streakMove 9s ease-in-out infinite 2s}
.streak--3{top:75%;left:20%;width:25%;background:linear-gradient(90deg,transparent,rgba(59,130,246,0.08),transparent);animation:streakMove 6s ease-in-out infinite 4s}
@keyframes streakMove{0%,100%{transform:translateX(0);opacity:.4}50%{transform:translateX(60px);opacity:1}}

/* ── Noise Texture ── */
.hero-noise{
  position:absolute;inset:0;z-index:6;opacity:0.035;
  background:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  pointer-events:none;
}

/* ── Gradient Text Glow ── */
.hero__title{
  text-shadow:0 0 80px rgba(0,212,170,0.08),0 0 40px rgba(0,212,170,0.04);
}
.highlight{
  background-size:200% 200%;
  animation:gradientShift 6s ease infinite;
  position:relative;
}
.highlight::after{
  content:attr(data-text);
  position:absolute;inset:0;
  background:linear-gradient(135deg,#00d4aa 0%,#00e6c3 30%,#7c3aed 70%,#a855f7 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  background-size:200% 200%;
  animation:gradientShift 6s ease infinite;
  filter:blur(30px);opacity:0.4;z-index:-1;
}
@keyframes gradientShift{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}

.hero__badge{
  display:inline-flex;
  align-items:center;
  gap:0.5rem;
  padding:0.4rem 1rem;
  font-size:0.8rem;
  font-weight:600;
  color:var(--c-accent);
  background:var(--c-accent-dim);
  border:1px solid rgba(0,212,170,0.2);
  border-radius:100px;
  margin-bottom:1.75rem;
  letter-spacing:0.02em;
}

.hero__badge::before{
  content:'';
  width:6px;height:6px;
  background:var(--c-accent);
  border-radius:50%;
  animation:pulse 2s infinite;
}

@keyframes pulse{
  0%,100%{opacity:1;transform:scale(1)}
  50%{opacity:0.5;transform:scale(1.5)}
}

.hero__title{
  font-size:clamp(2.5rem,6vw,4rem);
  font-weight:800;
  letter-spacing:-0.035em;
  line-height:1.1;
  margin-bottom:1.25rem;
  max-width:800px;
  margin-left:auto;
  margin-right:auto;
}

.hero__title .highlight{
  background:linear-gradient(135deg,var(--c-accent) 0%,#00e6c3 50%,#7c3aed 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}

.hero__subtitle{
  font-size:1.2rem;
  color:var(--c-text-muted);
  max-width:560px;
  margin:0 auto 2.5rem;
  line-height:1.7;
}

.hero__actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1rem;
  flex-wrap:wrap;
}

.hero__proof{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:2rem;
  margin-top:3rem;
  font-size:0.85rem;
  color:var(--c-text-dim);
}

.hero__proof-item{display:flex;align-items:center;gap:0.5rem}

.hero__proof-item strong{color:var(--c-text-muted);font-weight:600}

/* Product showcase / screenshot area */
.hero__showcase{
  margin-top:4rem;
  position:relative;
}

.hero__showcase-img{
  width:100%;
  max-width:960px;
  margin:0 auto;
  border-radius:var(--radius-lg);
  border:1px solid var(--c-border);
  box-shadow:var(--shadow-lg),0 0 80px rgba(0,212,170,0.06);
  overflow:hidden;
}

.hero__showcase-img img{width:100%;display:block}

/* Floating glow under showcase */
.hero__showcase::after{
  content:'';
  position:absolute;
  bottom:-40px;left:50%;
  transform:translateX(-50%);
  width:60%;height:80px;
  background:radial-gradient(ellipse,rgba(0,212,170,0.1),transparent 70%);
  pointer-events:none;
}

/* ============================================
   FEATURES GRID
   ============================================ */
.features{
  padding:5rem 0;
}

.features__header{
  text-align:center;
  max-width:600px;
  margin:0 auto 3.5rem;
}

.features__header .overline{
  display:block;
  font-family:var(--f-mono);
  font-size:0.75rem;
  font-weight:600;
  color:var(--c-accent);
  text-transform:uppercase;
  letter-spacing:0.12em;
  margin-bottom:0.75rem;
}

.features__header p{
  color:var(--c-text-muted);
  margin-top:1rem;
  font-size:1.05rem;
}

.features__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}

/* ══════════════════════════════════════
   BENTO GRID — HYPRLAND-STYLE CARDS
   ══════════════════════════════════════ */
.bento-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:auto auto;
  gap:1.25rem;
}

/* Large card spans left column, both rows */
.bento-card--large{
  grid-row:1 / 3;
}

/* ── Card base ── */
.bento-card{
  position:relative;
  border-radius:18px;
  padding:2px;
  background:rgba(255,255,255,0.06);
  cursor:default;
  transition:transform 0.4s cubic-bezier(0.19,1,0.22,1),box-shadow 0.4s ease;
}
.bento-card:hover{
  box-shadow:
    0 0 30px rgba(0,212,170,0.15),
    0 0 80px rgba(0,212,170,0.08);
}

/* ── Mouse-tracking glow overlay ── */
.bento-card__glow{
  position:absolute;
  inset:-1px;
  border-radius:18px;
  opacity:0;
  transition:opacity 0.3s ease;
  pointer-events:none;
  z-index:1;
}
.bento-card:hover .bento-card__glow{
  opacity:1;
}

/* ── Inner body ── */
.bento-card__inner{
  position:relative;
  background:linear-gradient(165deg,#13182480 0%,#0f142080 100%);
  border-radius:16.5px;
  padding:2rem 2rem 2.25rem;
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden;
  z-index:2;
}

/* Large card has more space */
.bento-card--large .bento-card__inner{
  padding:2.5rem 2.5rem 2.75rem;
}

/* ── Icon ── */
.bento-card__icon{
  position:relative;
  width:64px;height:64px;
  display:flex;align-items:center;justify-content:center;
  border-radius:16px;
  margin-bottom:auto;
  background:linear-gradient(135deg,rgba(0,212,170,0.1) 0%,rgba(124,58,237,0.08) 100%);
  border:1px solid rgba(0,212,170,0.15);
  color:var(--c-accent);
  transition:all 0.4s ease;
}
.bento-card__icon svg{width:28px;height:28px}
.bento-card--large .bento-card__icon{
  width:80px;height:80px;border-radius:20px;
}
.bento-card--large .bento-card__icon svg{width:36px;height:36px}
.bento-card:hover .bento-card__icon{
  border-color:rgba(0,212,170,0.35);
  box-shadow:0 0 24px rgba(0,212,170,0.12);
}

/* ── Text ── */
.bento-card__text{
  position:relative;z-index:2;
  margin-top:2rem;
}
.bento-card--large .bento-card__text{
  margin-top:3rem;
}
.bento-card h3{
  font-size:1.5rem;font-weight:800;color:var(--c-heading);
  margin-bottom:0.65rem;letter-spacing:-0.02em;
  transition:color 0.3s ease;
}
.bento-card--large h3{
  font-size:2.25rem;
}
.bento-card p{
  font-size:0.95rem;color:var(--c-text-muted);line-height:1.7;
  transition:color 0.3s ease;
}
.bento-card:hover p{color:var(--c-text)}

/* ── Ambient gradient blob inside cards ── */
.bento-card__inner::before{
  content:'';
  position:absolute;
  top:-30%;right:-20%;
  width:70%;height:70%;
  background:radial-gradient(circle,rgba(0,212,170,0.06) 0%,rgba(124,58,237,0.04) 40%,transparent 70%);
  pointer-events:none;
  filter:blur(40px);
  transition:opacity 0.5s ease;
  opacity:0.5;
}
.bento-card:hover .bento-card__inner::before{
  opacity:1;
}

@media(max-width:768px){
  .bento-grid{grid-template-columns:1fr}
  .bento-card--large{grid-row:auto}
  .bento-card--large h3{font-size:1.75rem}
}

/* ============================================
   SOCIAL PROOF / LOGOS BAR
   ============================================ */
.logos-bar{
  padding:3rem 0;
  border-top:1px solid var(--c-border);
  border-bottom:1px solid var(--c-border);
}

.logos-bar__inner{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:3rem;
  flex-wrap:wrap;
  opacity:0.4;
  filter:grayscale(1) brightness(2);
}

.logos-bar__inner img{height:28px;width:auto}

.logos-bar__label{
  font-size:0.8rem;
  color:var(--c-text-dim);
  text-transform:uppercase;
  letter-spacing:0.1em;
  font-weight:600;
  text-align:center;
  margin-bottom:1.5rem;
}

/* ============================================
   TESTIMONIAL
   ============================================ */
.testimonial-section{
  padding:5rem 0;
}

.testimonial-card{
  max-width:700px;
  margin:0 auto;
  text-align:center;
}

.testimonial-card blockquote{
  font-size:1.3rem;
  line-height:1.6;
  color:var(--c-text);
  font-style:italic;
  position:relative;
  padding:0 2rem;
  margin-bottom:1.5rem;
}

.testimonial-card blockquote::before{
  content:'"';
  font-size:4rem;
  font-family:Georgia,serif;
  color:var(--c-accent);
  position:absolute;
  top:-0.5rem;left:0;
  line-height:1;
  opacity:0.5;
}

.testimonial-card cite{
  font-style:normal;
  font-size:0.9rem;
  color:var(--c-text-muted);
}

.testimonial-card cite strong{
  display:block;
  color:var(--c-heading);
  font-weight:600;
  margin-bottom:0.15rem;
}

/* ============================================
   TESTIMONIAL + COMMUNITY + CTA — SHARED WRAPPER
   ============================================ */
.community-cta-wrapper{
  position:relative;
  overflow:hidden;
  background:var(--c-bg);
}
.community-cta-wrapper__bg{
  position:absolute;
  inset:0;
  background:
    radial-gradient(500px circle at 20% 75%, rgba(220,50,50,0.18) 0%, transparent 100%),
    radial-gradient(450px circle at 45% 80%, rgba(255,160,40,0.15) 0%, transparent 100%),
    radial-gradient(400px circle at 70% 72%, rgba(255,200,50,0.12) 0%, transparent 100%),
    radial-gradient(500px circle at 85% 65%, rgba(80,180,80,0.10) 0%, transparent 100%),
    radial-gradient(350px circle at 10% 60%, rgba(180,60,200,0.12) 0%, transparent 100%),
    radial-gradient(400px circle at 55% 68%, rgba(60,100,220,0.10) 0%, transparent 100%),
    radial-gradient(600px circle at 50% 72%, rgba(255,120,60,0.08) 0%, transparent 100%);
  pointer-events:none;
  /* Colors only bloom in lower half, fading out at bottom and sides */
  mask-image:
    linear-gradient(to bottom, transparent 0%, transparent 25%, black 50%, black 80%, transparent 100%),
    linear-gradient(to right, transparent 0%, black 15%, black 85%, transparent 100%);
  -webkit-mask-image:
    linear-gradient(to bottom, transparent 0%, transparent 25%, black 50%, black 80%, transparent 100%),
    linear-gradient(to right, transparent 0%, black 15%, black 85%, transparent 100%);
  mask-composite:intersect;
  -webkit-mask-composite:source-in;
}

/* Testimonial inherits the wrapper bg seamlessly */
.community-cta-wrapper .testimonial-section{
  position:relative;
  z-index:1;
}

.community-section{
  position:relative;
  padding:8rem 0 4rem;
  background:none;
}

.community-section__content{
  position:relative;
  z-index:2;
  text-align:center;
}

.community-section__title{
  font-family:var(--f-display);
  font-size:clamp(2.5rem, 6vw, 4.5rem);
  font-weight:800;
  letter-spacing:-0.03em;
  line-height:1.05;
  color:var(--c-white);
  margin-bottom:1.25rem;
}

.community-section__subtitle{
  font-size:1.1rem;
  color:var(--c-text-muted);
  max-width:580px;
  margin:0 auto 3rem;
  line-height:1.6;
}

.community-section__logo{
  margin-bottom:2.5rem;
  opacity:0.9;
}
.community-section__logo svg{
  filter:drop-shadow(0 0 25px rgba(255,255,255,0.1));
  transition:filter 0.4s ease;
}
.community-section__logo:hover svg{
  filter:drop-shadow(0 0 35px rgba(88,101,242,0.4));
}

.btn--discord{
  display:inline-flex;
  align-items:center;
  gap:0.6rem;
  padding:0.85rem 2.2rem;
  border:1.5px solid var(--c-accent);
  color:var(--c-accent);
  background:transparent;
  border-radius:var(--radius);
  font-family:var(--f-body);
  font-weight:600;
  font-size:1rem;
  letter-spacing:0.01em;
  cursor:pointer;
  transition:all 0.3s ease;
  text-decoration:none;
}
.btn--discord:hover{
  background:var(--c-accent);
  color:var(--c-bg);
  box-shadow:0 0 30px rgba(0,212,170,0.25), 0 0 60px rgba(0,212,170,0.1);
}

/* ── Floating Avatar Bubbles ── */
.community-avatars{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
}

.c-avatar{
  position:absolute;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  border:2.5px solid hsl(var(--hue,160) 70% 55%);
  background:var(--c-surface);
  box-shadow:
    0 0 12px hsl(var(--hue,160) 70% 55% / 0.25),
    inset 0 0 8px hsl(var(--hue,160) 70% 55% / 0.08);
  animation:avatarFloat 6s ease-in-out infinite;
}
.c-avatar--sm{ width:44px; height:44px; font-size:1.1rem; }
.c-avatar--md{ width:60px; height:60px; font-size:1.4rem; }
.c-avatar--lg{ width:80px; height:80px; font-size:1.8rem; }

.c-avatar__inner{
  line-height:1;
}

@keyframes avatarFloat{
  0%, 100%{ transform:translateY(0) rotate(0deg); }
  33%{ transform:translateY(-10px) rotate(2deg); }
  66%{ transform:translateY(6px) rotate(-1.5deg); }
}

/* Responsive */
@media(max-width:768px){
  .community-section{padding:5rem 0;}
  .community-section__title{font-size:2.2rem;}
  .c-avatar--sm{width:32px;height:32px;font-size:0.85rem;}
  .c-avatar--md{width:44px;height:44px;font-size:1.1rem;}
  .c-avatar--lg{width:58px;height:58px;font-size:1.35rem;}
}

@media(max-width:480px){
  .community-avatars{display:none;}
  .community-section{padding:4rem 0;}
}

/* ============================================
   CTA BANNER
   ============================================ */
.cta-banner{
  position:relative;
  padding:2rem 0 5rem;
  background:none;
}

.cta-banner__inner{
  background:rgba(23,29,42,0.55);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border:1px solid var(--c-border);
  border-radius:var(--radius-lg);
  padding:2.5rem 2rem;
  text-align:center;
  position:relative;
  z-index:1;
  overflow:hidden;
  max-width:700px;
  margin:0 auto;
}

.cta-banner__inner::before{
  content:'';
  position:absolute;
  top:-50%;left:50%;transform:translateX(-50%);
  width:600px;height:600px;
  background:radial-gradient(circle,rgba(0,212,170,0.06) 0%,transparent 70%);
  pointer-events:none;
}

.cta-banner__inner h2{margin-bottom:1rem}
.cta-banner__inner p{color:var(--c-text-muted);margin-bottom:2rem;max-width:500px;margin-left:auto;margin-right:auto}

/* ============================================
   FOOTER
   ============================================ */
.site-footer{
  background:var(--c-bg-raised);
  border-top:1px solid var(--c-border);
  padding:4rem 0 0;
  margin-top:auto;
}

.footer-inner{
  max-width:var(--max-w);
  margin:0 auto;
  padding:0 1.5rem;
}

.footer-top{
  display:grid;
  grid-template-columns:1.5fr repeat(3,1fr);
  gap:3rem;
  padding-bottom:3rem;
}

.footer-brand .site-title{
  font-family:var(--f-display);
  font-size:1.25rem;
  font-weight:800;
  color:var(--c-heading);
  margin-bottom:0.75rem;
}

.footer-brand p{
  font-size:0.9rem;
  color:var(--c-text-muted);
  line-height:1.6;
  max-width:280px;
}

.footer-widgets{
  display:contents;
}

.footer-widget-area{}

.footer-widget-area .widget-title,
.footer-col-title{
  font-family:var(--f-body);
  font-size:0.75rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.1em;
  color:var(--c-text-dim);
  margin-bottom:1rem;
}

.footer-widget-area ul{list-style:none}
.footer-widget-area ul li{margin-bottom:0.4rem}
.footer-widget-area a{
  font-size:0.9rem;
  color:var(--c-text-muted);
  transition:color var(--transition);
}
.footer-widget-area a:hover{color:var(--c-accent)}

.footer-bottom{
  border-top:1px solid var(--c-border);
  padding:1.5rem 0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:1rem;
}

.footer-bottom p{
  font-size:0.8rem;
  color:var(--c-text-dim);
}

.footer-bottom nav ul{
  list-style:none;
  display:flex;
  gap:1.5rem;
}

.footer-bottom nav a{
  font-size:0.8rem;
  color:var(--c-text-dim);
}

.footer-bottom nav a:hover{color:var(--c-text-muted)}

@media(max-width:768px){
  .footer-top{grid-template-columns:1fr 1fr;gap:2rem}
  .footer-brand{grid-column:1/-1}
  .footer-bottom{flex-direction:column;text-align:center}
}

/* ============================================
   POSTS & BLOG
   ============================================ */
.page-header{margin-bottom:2.5rem}

.page-title{margin-bottom:0.5rem}

.posts-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(340px,1fr));
  gap:1.5rem;
}

.post-card{
  background:var(--c-surface);
  border:1px solid var(--c-border);
  border-radius:var(--radius-lg);
  overflow:hidden;
  transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition);
}

.post-card:hover{
  border-color:var(--c-border-light);
  box-shadow:var(--shadow-md);
  transform:translateY(-3px);
}

.post-card .post-thumbnail img{width:100%;height:210px;object-fit:cover}

.post-card .post-body{padding:1.5rem}

.post-card .post-title{font-size:1.1rem;margin-bottom:0.5rem}
.post-card .post-title a{color:var(--c-heading)}
.post-card .post-title a:hover{color:var(--c-accent)}

.post-card .post-excerpt{font-size:0.9rem;color:var(--c-text-muted);margin-bottom:1rem;line-height:1.6}

.post-card .post-meta{font-size:0.8rem;color:var(--c-text-dim)}

/* Single post */
.single-content,.page-content{max-width:720px;margin:0 auto}

.entry-header{margin-bottom:2.5rem;text-align:center}

.entry-title{margin-bottom:0.75rem}

.entry-meta{font-size:0.85rem;color:var(--c-text-muted)}

.entry-content{font-size:1.05rem;line-height:1.85;color:var(--c-text)}

.entry-content p{margin-bottom:1.5rem}
.entry-content h2{margin:3rem 0 1rem}
.entry-content h3{margin:2.5rem 0 0.75rem}
.entry-content ul,.entry-content ol{margin:0 0 1.5rem 1.5rem}

.entry-content blockquote{
  border-left:3px solid var(--c-accent);
  padding:1.25rem 1.5rem;
  margin:2rem 0;
  background:var(--c-accent-dim);
  border-radius:0 var(--radius) var(--radius) 0;
  font-style:italic;
  color:var(--c-text);
}

.entry-content img{border-radius:var(--radius);margin:2rem 0}

/* Pagination */
.pagination,.post-navigation{margin-top:3rem;display:flex;justify-content:center;gap:0.5rem}

.pagination .page-numbers{
  padding:0.5rem 0.9rem;
  border:1px solid var(--c-border);
  border-radius:var(--radius);
  font-size:0.9rem;
  color:var(--c-text-muted);
  transition:all var(--transition);
}

.pagination .page-numbers.current,
.pagination .page-numbers:hover{
  background:var(--c-accent);
  color:var(--c-bg);
  border-color:var(--c-accent);
}

/* ============================================
   SIDEBAR / WIDGETS
   ============================================ */
.widget{margin-bottom:2rem}

.widget-title{
  font-size:0.95rem;
  font-weight:700;
  margin-bottom:1rem;
  padding-bottom:0.5rem;
  border-bottom:2px solid var(--c-accent);
}

/* ============================================
   WOOCOMMERCE — PRODUCT GRID
   ============================================ */
.woocommerce ul.products{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
  gap:1.5rem;
  list-style:none;
  padding:0;
}

.woocommerce ul.products li.product{
  background:var(--c-surface);
  border:1px solid var(--c-border);
  border-radius:var(--radius-lg);
  overflow:hidden;
  transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition);
  float:none!important;width:100%!important;margin:0!important;padding:0!important;
  position:relative;
}

.woocommerce ul.products li.product:hover{
  border-color:var(--c-accent);
  box-shadow:var(--shadow-glow);
  transform:translateY(-4px);
}

.woocommerce ul.products li.product a img{
  width:100%;height:260px;object-fit:cover;margin:0!important;
  transition:transform 0.4s ease;
}

.woocommerce ul.products li.product:hover a img{transform:scale(1.03)}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product a h2{
  font-family:var(--f-display)!important;
  font-size:1rem!important;font-weight:600;
  padding:1rem 1.25rem 0.25rem!important;
  color:var(--c-heading);
}

.woocommerce ul.products li.product .price{
  padding:0 1.25rem;font-size:1.1rem;font-weight:700;color:var(--c-accent);
}

.woocommerce ul.products li.product .price del{color:var(--c-text-dim);font-weight:400;font-size:0.9rem}
.woocommerce ul.products li.product .price ins{text-decoration:none;color:var(--c-hot);font-weight:700}

.woocommerce ul.products li.product .star-rating{margin:0.25rem 1.25rem;font-size:0.8rem;color:var(--c-warning)}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.add_to_cart_button{
  margin:1rem 1.25rem 1.25rem!important;
  width:calc(100% - 2.5rem);
  text-align:center;
  font-size:0.85rem;
  padding:0.65rem 1rem;
  border-radius:var(--radius);
}

/* Sale badge */
.woocommerce span.onsale{
  background:var(--c-hot)!important;color:#fff;
  font-size:0.7rem;font-weight:800;
  padding:0.25rem 0.7rem;
  border-radius:100px;
  position:absolute;top:1rem;left:1rem;z-index:5;
  min-width:auto;min-height:auto;line-height:1.5;
  text-transform:uppercase;letter-spacing:0.04em;
}

/* ============================================
   WOOCOMMERCE — SINGLE PRODUCT
   ============================================ */
.woocommerce div.product div.images{
  border-radius:var(--radius-lg);
  overflow:hidden;
  border:1px solid var(--c-border);
  background:var(--c-surface);
}

.woocommerce div.product .product_title{
  font-family:var(--f-display);
  font-size:2rem;font-weight:800;
  letter-spacing:-0.02em;
  margin-bottom:0.5rem;
}

.woocommerce div.product p.price{
  font-size:1.5rem!important;color:var(--c-accent);font-weight:700;margin-bottom:1.25rem;
}

.woocommerce div.product .woocommerce-product-details__short-description{
  font-size:1rem;color:var(--c-text-muted);margin-bottom:1.5rem;line-height:1.7;
}

.woocommerce div.product form.cart{
  display:flex;align-items:center;gap:0.75rem;margin-bottom:2rem;
}

.woocommerce div.product form.cart .quantity input{width:72px;text-align:center}

.woocommerce div.product form.cart .single_add_to_cart_button{
  flex:1;padding:0.85rem 2rem;font-size:1rem;
}

/* Tabs */
.woocommerce div.product .woocommerce-tabs{margin-top:3rem}

.woocommerce div.product .woocommerce-tabs ul.tabs{
  list-style:none;display:flex;gap:0;
  border-bottom:1px solid var(--c-border);
  padding:0;margin:0 0 1.5rem;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:none!important;border:none!important;padding:0!important;margin:0!important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a{
  display:block;padding:0.8rem 1.25rem;
  font-weight:600;font-size:0.9rem;
  color:var(--c-text-muted);
  border-bottom:2px solid transparent;
  margin-bottom:-1px;
  transition:color var(--transition),border-color var(--transition);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{
  color:var(--c-accent);border-bottom-color:var(--c-accent);
}

.woocommerce div.product .related.products>h2,
.woocommerce div.product .upsells.products>h2{
  font-family:var(--f-display);font-size:1.5rem;margin-bottom:1.5rem;
}

/* ============================================
   WOOCOMMERCE — CART
   ============================================ */
.woocommerce table.shop_table{
  border:1px solid var(--c-border)!important;
  border-radius:var(--radius-lg);
  overflow:hidden;border-collapse:collapse;
  background:var(--c-surface);
}

.woocommerce table.shop_table th{
  background:var(--c-surface-2);
  font-weight:700;font-size:0.8rem;
  text-transform:uppercase;letter-spacing:0.06em;
  padding:0.9rem 1rem!important;color:var(--c-text-muted);
  border-bottom:1px solid var(--c-border)!important;
}

.woocommerce table.shop_table td{
  padding:1rem!important;border-top:1px solid var(--c-border)!important;vertical-align:middle;
}

.woocommerce .cart_totals{
  background:var(--c-surface);border:1px solid var(--c-border);
  border-radius:var(--radius-lg);padding:1.5rem;
}

.woocommerce .wc-proceed-to-checkout a.checkout-button{
  width:100%;padding:1rem;font-size:1rem;font-weight:700;border-radius:var(--radius);
}

/* ============================================
   WOOCOMMERCE — CHECKOUT
   ============================================ */
.woocommerce form .form-row label{font-weight:500;font-size:0.9rem;margin-bottom:0.3rem;display:block;color:var(--c-text)}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select{
  padding:0.7rem 1rem;background:var(--c-surface);border-color:var(--c-border);color:var(--c-text);
}

.woocommerce #payment{
  background:var(--c-surface)!important;
  border:1px solid var(--c-border);
  border-radius:var(--radius-lg);
}

.woocommerce #payment #place_order{width:100%;padding:1rem;font-size:1.05rem}

/* ============================================
   WOOCOMMERCE — MY ACCOUNT
   ============================================ */
.woocommerce-MyAccount-navigation ul{list-style:none;padding:0}

.woocommerce-MyAccount-navigation ul li{border-bottom:1px solid var(--c-border)}

.woocommerce-MyAccount-navigation ul li a{
  display:block;padding:0.75rem 0;color:var(--c-text-muted);font-weight:500;
}
.woocommerce-MyAccount-navigation ul li.is-active a{color:var(--c-accent)}

/* ============================================
   WOOCOMMERCE — NOTICES
   ============================================ */
.woocommerce-message{
  border-top-color:var(--c-success)!important;
  background:rgba(0,212,170,0.08);color:var(--c-text);
  padding:1rem 1.25rem!important;border-radius:var(--radius);
}
.woocommerce-error{
  border-top-color:var(--c-error)!important;
  background:rgba(255,107,107,0.08);
  border-radius:var(--radius);
}
.woocommerce-info{
  border-top-color:var(--c-accent)!important;
  background:var(--c-accent-dim);
  border-radius:var(--radius);
}

/* Breadcrumbs */
.woocommerce .woocommerce-breadcrumb{font-size:0.85rem;color:var(--c-text-dim);margin-bottom:1.5rem;padding:0}
.woocommerce .woocommerce-breadcrumb a{color:var(--c-text-dim)}
.woocommerce .woocommerce-breadcrumb a:hover{color:var(--c-accent)}

/* Result count & ordering */
.woocommerce .woocommerce-result-count{font-size:0.9rem;color:var(--c-text-muted)}
.woocommerce .woocommerce-ordering select{padding:0.5rem 0.75rem;font-size:0.9rem;width:auto}

/* ============================================
   SEARCH
   ============================================ */
.search-form{display:flex;gap:0.5rem}
.search-form .search-field{flex:1}
.search-form .search-submit{flex-shrink:0}

/* ============================================
   COMMENTS
   ============================================ */
.comments-area{margin-top:3rem;padding-top:2rem;border-top:1px solid var(--c-border)}
.comment-list{list-style:none;padding:0}

.comment-body{
  padding:1.25rem;margin-bottom:1rem;
  background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);
}
.comment-meta{font-size:0.85rem;margin-bottom:0.75rem;color:var(--c-text-muted)}
.comment-author .fn{font-weight:600;color:var(--c-heading)}

/* ============================================
   404
   ============================================ */
.error-404{text-align:center;padding:6rem 0}

.error-404 .page-title{
  font-size:7rem;
  font-weight:900;
  letter-spacing:-0.05em;
  background:linear-gradient(135deg,var(--c-accent),#7c3aed);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  margin-bottom:0.5rem;
}

/* ============================================
   UNLOCK FULL POWER (Hyprland-style section)
   ============================================ */
.unlock-power{
  position:relative;
  padding:6rem 0;
  overflow:hidden;
  border-top:1px solid var(--c-border);
}

/* Subtle tech grid background */
.unlock-power__grid-bg{
  position:absolute;
  inset:0;
  z-index:0;
  background:
    linear-gradient(90deg,rgba(0,212,170,0.03) 1px,transparent 1px),
    linear-gradient(0deg,rgba(0,212,170,0.03) 1px,transparent 1px);
  background-size:60px 60px;
  mask-image:radial-gradient(ellipse 80% 70% at 50% 50%,black 20%,transparent 80%);
  -webkit-mask-image:radial-gradient(ellipse 80% 70% at 50% 50%,black 20%,transparent 80%);
}

.unlock-power__layout{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:4rem;
  align-items:start;
}

/* Left: text content */
.unlock-power__title{
  font-size:clamp(2.25rem,5vw,3.5rem);
  font-weight:800;
  letter-spacing:-0.035em;
  color:var(--c-heading);
  margin-bottom:1.25rem;
}

.unlock-power__subtitle{
  font-size:1.1rem;
  color:var(--c-text-muted);
  line-height:1.7;
  max-width:520px;
  margin-bottom:2.5rem;
}

/* Feature cards */
.unlock-card{
  display:flex;
  align-items:flex-start;
  gap:1.25rem;
  padding:1.5rem 1.75rem;
  border-radius:16px;
  border:1px solid rgba(0,212,170,0.15);
  background:rgba(0,212,170,0.03);
  margin-bottom:1.25rem;
  transition:border-color 0.3s ease,background 0.3s ease,box-shadow 0.3s ease;
}

.unlock-card:hover{
  border-color:rgba(0,212,170,0.3);
  background:rgba(0,212,170,0.06);
  box-shadow:0 0 30px rgba(0,212,170,0.08);
}

.unlock-card__icon{
  flex-shrink:0;
  width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;
  border-radius:12px;
  color:var(--c-accent);
  background:rgba(0,212,170,0.08);
  border:1px solid rgba(0,212,170,0.15);
  margin-top:2px;
}

.unlock-card__icon--alt{
  color:#00b4d8;
  background:rgba(0,180,216,0.08);
  border-color:rgba(0,180,216,0.15);
}

.unlock-card__text{
  font-size:0.95rem;
  color:var(--c-text-muted);
  line-height:1.7;
}

.unlock-card__text strong{
  color:var(--c-heading);
  font-weight:700;
}

.unlock-power__actions{
  margin-top:0.5rem;
  margin-bottom:1.75rem;
}

.unlock-power__also{
  font-size:0.95rem;
  color:var(--c-text-muted);
  margin-bottom:0.35rem;
}

.unlock-power__also a{
  color:var(--c-accent);
  font-weight:600;
}

.unlock-power__also a svg{
  display:inline;
  vertical-align:middle;
  margin-left:0.2rem;
}

.unlock-power__community{
  font-size:0.9rem;
  color:var(--c-text-dim);
}

/* Right: terminal + config visual */
.unlock-power__visual{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:440px;
}

/* ============================================
   OPEN BOOK MOCKUP
   ============================================ */
.book-mockup{
  display:flex;
  align-items:stretch;
  width:100%;
  max-width:520px;
  border-radius:18px 18px 18px 18px;
  overflow:visible;
  filter:drop-shadow(0 24px 60px rgba(0,0,0,0.55));
  position:relative;
}

/* Pages */
.book-mockup__page{
  background:#f5f0e8;
  flex:1;
  padding:1.4rem 1.3rem 1.2rem;
  display:flex;
  flex-direction:column;
  gap:0.65rem;
  position:relative;
  min-height:420px;
}

.book-mockup__page--left{
  border-radius:18px 0 0 18px;
  background: linear-gradient(110deg,#f7f2ea 70%,#ede8df 100%);
  box-shadow:inset -6px 0 14px rgba(0,0,0,0.07);
}

.book-mockup__page--right{
  border-radius:0 18px 18px 0;
  background: linear-gradient(250deg,#f7f2ea 70%,#ede8df 100%);
  box-shadow:inset 6px 0 14px rgba(0,0,0,0.07);
}

/* Spine */
.book-mockup__spine{
  width:18px;
  background:linear-gradient(180deg,#c8b99a 0%,#a89070 50%,#c8b99a 100%);
  position:relative;
  flex-shrink:0;
  display:flex;
  flex-direction:column;
  box-shadow:0 0 0 1px rgba(0,0,0,0.12);
}

.book-spine__shadow-left{
  position:absolute;
  left:0; top:0; bottom:0;
  width:7px;
  background:linear-gradient(to right, rgba(0,0,0,0.18), transparent);
}

.book-spine__shadow-right{
  position:absolute;
  right:0; top:0; bottom:0;
  width:7px;
  background:linear-gradient(to left, rgba(0,0,0,0.18), transparent);
}

/* Page header */
.book-page__header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding-bottom:0.4rem;
  border-bottom:1.5px solid rgba(0,0,0,0.12);
  margin-bottom:0.2rem;
}

.book-page__chapter{
  font-size:0.6rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:#6b5a3e;
}

.book-page__num{
  font-size:0.6rem;
  color:#9e8c70;
  font-style:italic;
}

/* Title */
.book-page__title{
  font-size:0.85rem;
  font-weight:800;
  color:#1a1208;
  line-height:1.3;
  margin:0 0 0.1rem;
}

/* Skeleton lines */
.book-page__lines{
  display:flex;
  flex-direction:column;
  gap:5px;
}

.book-line{
  display:block;
  height:6px;
  border-radius:3px;
  background:rgba(0,0,0,0.1);
}

.book-line--full{ width:100%; }
.book-line--md  { width:74%; }
.book-line--sm  { width:52%; }
.book-line--xs  { width:36%; }

/* Pull quote */
.book-page__pull-quote{
  display:flex;
  gap:0.5rem;
  align-items:flex-start;
  background:rgba(0,0,0,0.05);
  border-radius:6px;
  padding:0.5rem 0.6rem;
}

.book-pq__bar{
  display:block;
  width:3px;
  border-radius:2px;
  background:var(--c-accent,#00d4aa);
  flex-shrink:0;
  align-self:stretch;
}

.book-pq__text{
  font-size:0.6rem;
  font-style:italic;
  color:#4a3a22;
  margin:0;
  line-height:1.5;
}

/* Image placeholder */
.book-page__image-block{
  margin-top:0.2rem;
}

.book-img-placeholder{
  background:rgba(0,0,0,0.07);
  border-radius:6px;
  height:60px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  color:#9e8c70;
  font-size:0.55rem;
}

.book-img-placeholder svg{
  opacity:0.5;
}

/* Two column layout */
.book-page__two-col{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0.6rem;
}

.book-col{
  display:flex;
  flex-direction:column;
  gap:5px;
}

/* Badges */
.book-page__badge-row{
  display:flex;
  flex-wrap:wrap;
  gap:0.4rem;
  margin-top:0.3rem;
}

.book-badge{
  font-size:0.55rem;
  font-weight:600;
  padding:3px 7px;
  border-radius:20px;
  white-space:nowrap;
}

.book-badge--template{
  background:rgba(0,212,170,0.15);
  color:#007a62;
  border:1px solid rgba(0,212,170,0.25);
}

.book-badge--pdf{
  background:rgba(139,92,246,0.12);
  color:#5b35b5;
  border:1px solid rgba(139,92,246,0.2);
}

/* Footer */
.book-page__footer{
  margin-top:auto;
  padding-top:0.5rem;
  border-top:1px solid rgba(0,0,0,0.08);
}

.book-footer__ai{
  font-size:0.52rem;
  color:#9e8c70;
  letter-spacing:0.03em;
}

@media(max-width:900px){
  .unlock-power__layout{
    grid-template-columns:1fr;
    gap:2.5rem;
  }
  .unlock-power__visual{
    min-height:320px;
  }
}

@media(max-width:600px){
  .book-mockup{
    max-width:100%;
  }
  .book-mockup__page{
    min-height:320px;
    padding:1rem;
  }
}

/* ============================================
   SCROLL ANIMATIONS
   ============================================ */
.fade-up{
  opacity:0;
  transform:translateY(24px);
  transition:opacity 0.6s ease,transform 0.6s ease;
}
.fade-up.visible{opacity:1;transform:translateY(0)}

/* staggered delays */
.fade-up:nth-child(2){transition-delay:0.08s}
.fade-up:nth-child(3){transition-delay:0.16s}
.fade-up:nth-child(4){transition-delay:0.24s}
.fade-up:nth-child(5){transition-delay:0.32s}
.fade-up:nth-child(6){transition-delay:0.4s}

/* ============================================
   ACCESSIBILITY
   ============================================ */
.screen-reader-text{
  border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);
  height:1px;margin:-1px;overflow:hidden;padding:0;
  position:absolute;width:1px;word-wrap:normal!important;
}
.screen-reader-text:focus{
  background-color:var(--c-surface);clip:auto!important;clip-path:none;
  color:var(--c-text);display:block;font-size:0.9rem;height:auto;
  left:5px;padding:1rem;top:5px;width:auto;z-index:100000;
}

/* ============================================
   RESPONSIVE
   ============================================ */
@media(max-width:768px){
  .section{padding:3.5rem 0}
  .hero{padding:4rem 0 2.5rem;min-height:auto}
  .hero__title{font-size:2rem}
  .perspective-grid{display:none}

  .posts-grid{grid-template-columns:1fr}

  .woocommerce ul.products{grid-template-columns:repeat(2,1fr)!important;gap:1rem}
  .woocommerce ul.products li.product a img{height:180px}

  .cta-banner__inner{padding:2rem 1.25rem}
}

@media(max-width:480px){
  .woocommerce ul.products{grid-template-columns:1fr!important}
  .hero__actions{flex-direction:column;align-items:stretch}
  .hero__proof{flex-direction:column;gap:0.75rem}
}


/* ============================================
   v3.0 ADDITIONS — header price · flipbook · pricing · book spread
   ============================================ */

/* ── Header CTA price chip ── */
.header-cta__price{
  display:inline-flex;
  align-items:center;
  gap:0.4rem;
  margin-right:0.15rem;
}
.header-cta__rrp{
  font-size:0.72rem;
  font-weight:600;
  opacity:0.6;
  text-decoration:line-through;
}
.header-cta__sale{
  font-size:0.9rem;
  font-weight:800;
  letter-spacing:0.01em;
}

/* ── Robust open-book spread image (replaces fragile CSS mockup) ── */
.book-spread{
  margin:0;
  max-width:560px;
  width:100%;
}
.book-spread img{
  display:block;
  width:100%;
  height:auto;
  border-radius:14px;
}
.book-spread__cap{
  display:block;
  margin-top:0.85rem;
  font-family:var(--f-mono);
  font-size:0.72rem;
  letter-spacing:0.04em;
  color:var(--c-accent);
  text-align:center;
}

/* ── Hero Flipbook (StPageFlip / react-pageflip engine) ── */
.hero-flipbook{
  margin:2.2rem auto 0.5rem;
  max-width:760px;
  display:flex;
  flex-direction:column;
  align-items:center;
  outline:none;
}
.hero-flipbook__shell{
  position:relative;
  width:100%;
  max-width:760px;
  min-height:300px;
  display:flex;
  justify-content:center;
}

/* Static preview (before JS / fallback) */
.flipbook-preview{
  position:relative;
  width:100%;
  max-width:520px;
  filter:drop-shadow(0 24px 60px rgba(0,0,0,0.55));
}
.flipbook-preview[hidden]{display:none;}
.flipbook-preview img{
  display:block;
  width:100%;
  height:auto;
  border-radius:12px;
}
.flipbook-preview__tag{
  position:absolute;
  left:50%;
  bottom:0.9rem;
  transform:translateX(-50%);
  font-family:var(--f-mono);
  font-size:0.68rem;
  letter-spacing:0.05em;
  color:#6b5a3e;
  background:rgba(247,242,234,0.85);
  padding:0.2rem 0.7rem;
  border-radius:50px;
}

/* The flip container */
.flipbook{
  width:100%;
  max-width:720px;
  margin:0 auto;
}
.hero-flipbook:not(.is-flip-ready) .flipbook{
  /* keep collapsed until the engine takes over; preview carries the visual */
  position:absolute;
  visibility:hidden;
  pointer-events:none;
  height:1px;
  overflow:hidden;
}

/* Page surfaces */
.flip-page{
  background:linear-gradient(115deg,#f7f2ea 70%,#ede8df 100%);
  color:#1a1208;
  box-sizing:border-box;
  overflow:hidden;
}
.flip-inner,
.flip-cover{
  height:100%;
  box-sizing:border-box;
  padding:1.5rem 1.4rem;
  display:flex;
  flex-direction:column;
}

/* Inner page bits */
.flip-head{
  display:flex;
  justify-content:space-between;
  font-family:var(--f-display);
  font-size:0.62rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:0.08em;
  color:#6b5a3e;
  padding-bottom:0.4rem;
  border-bottom:1.5px solid rgba(0,0,0,0.12);
}
.flip-title{
  font-family:var(--f-display);
  font-size:1.05rem;
  font-weight:800;
  color:#1a1208;
  margin:0.7rem 0 0.5rem;
  line-height:1.25;
}
.flip-body{
  font-family:var(--f-body);
  font-size:0.82rem;
  line-height:1.5;
  color:#4a3f2c;
  margin:0 0 0.7rem;
}
.flip-line{
  display:block;
  height:6px;
  width:100%;
  border-radius:3px;
  background:#d9d0bf;
  margin:0.32rem 0;
}
.flip-line--md{width:72%;}
.flip-line--sm{width:48%;}
.flip-quote{
  font-style:italic;
  font-weight:600;
  color:#3f3522;
  border-left:3px solid var(--c-accent-2);
  padding:0.2rem 0 0.2rem 0.7rem;
  margin:0.7rem 0;
  font-size:0.85rem;
}
.flip-chips,
.flip-swatches{
  display:flex;
  flex-wrap:wrap;
  gap:0.4rem;
  margin:0.5rem 0 0.8rem;
}
.flip-chips span{
  font-family:var(--f-body);
  font-size:0.72rem;
  font-weight:600;
  color:#5a4a2c;
  background:#e7ddca;
  border:1px solid #d6c9ad;
  border-radius:50px;
  padding:0.18rem 0.65rem;
}
.flip-swatches span{
  width:34px;height:34px;border-radius:8px;
  background:var(--s);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,0.35);
}

/* Cover pages */
.flip-page--cover{
  background:linear-gradient(150deg,#10325c 0%,#0b1f3a 60%,#081627 100%);
  color:#eaf2ff;
}
.flip-cover{
  align-items:flex-start;
  justify-content:center;
  text-align:left;
}
.flip-cover--back{justify-content:center;}
.flip-cover__kicker{
  font-family:var(--f-mono);
  font-size:0.66rem;
  letter-spacing:0.12em;
  color:var(--c-accent);
}
.flip-cover__title{
  font-family:var(--f-display);
  font-size:1.8rem;
  font-weight:800;
  line-height:1.1;
  margin:0.8rem 0 0;
  color:#fff;
}
.flip-cover__title--sm{font-size:1.35rem;}
.flip-cover__rule{
  display:block;
  width:54px;height:3px;border-radius:2px;
  background:var(--c-accent);
  margin:1rem 0;
}
.flip-cover__by{
  font-family:var(--f-body);
  font-size:0.8rem;
  color:#9fc7ff;
  margin:0;
}
.flip-cover__hint{
  margin-top:auto;
  font-family:var(--f-mono);
  font-size:0.66rem;
  letter-spacing:0.04em;
  color:rgba(159,199,255,0.7);
}

/* Controls */
.flipbook-controls{
  display:flex;
  align-items:center;
  gap:0.6rem;
  margin-top:1.2rem;
  flex-wrap:wrap;
  justify-content:center;
}
.flipbook-controls[hidden]{display:none;}
.flipbook-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:38px;height:38px;
  border-radius:50%;
  border:1px solid var(--c-border-light);
  background:var(--c-surface);
  color:var(--c-text);
  cursor:pointer;
  transition:background var(--transition),transform var(--transition),border-color var(--transition);
}
.flipbook-btn:hover:not(:disabled){
  background:var(--c-surface-2);
  border-color:var(--c-accent);
  color:var(--c-accent);
  transform:translateY(-1px);
}
.flipbook-btn:disabled{opacity:0.35;cursor:default;}
.flipbook-counter{
  font-family:var(--f-mono);
  font-size:0.8rem;
  color:var(--c-text-muted);
  min-width:54px;
  text-align:center;
}
.flipbook-hint{
  font-size:0.78rem;
  color:var(--c-text-dim);
}

/* StPageFlip engine classes (bundled so no extra CSS file is required) */
.stf__parent{position:relative;display:block;box-sizing:border-box;transform:translateZ(0);-ms-touch-action:pan-y;touch-action:pan-y;margin:0 auto;}
.sft__wrapper{position:relative;width:100%;box-sizing:border-box;}
.stf__parent canvas{position:absolute;width:100%;height:100%;left:0;top:0;}
.stf__block{position:absolute;width:100%;height:100%;box-sizing:border-box;perspective:2000px;}
.stf__item{display:none;position:absolute;transform-style:preserve-3d;}
.stf__outerShadow,.stf__innerShadow,.stf__hardShadow,.stf__hardInnerShadow{position:absolute;left:0;top:0;}

/* ── Pricing section ── */
.pricing-section{position:relative;}
.price-card{
  position:relative;
  max-width:520px;
  margin:2.5rem auto 0;
  padding:2.4rem 2rem 2rem;
  background:var(--c-surface);
  border:1px solid var(--c-border);
  border-radius:var(--radius-lg);
  text-align:center;
  box-shadow:0 24px 70px rgba(0,0,0,0.45);
  overflow:hidden;
}
.price-card::before{
  content:"";
  position:absolute;inset:0;
  background:radial-gradient(120% 80% at 50% 0%, var(--c-accent-dim), transparent 60%);
  pointer-events:none;
}
.price-card > *{position:relative;z-index:1;}
.price-card__flag{
  display:inline-block;
  font-family:var(--f-mono);
  font-size:0.72rem;
  font-weight:600;
  letter-spacing:0.06em;
  color:#fff;
  background:var(--c-sale);
  padding:0.28rem 0.85rem;
  border-radius:50px;
  margin-bottom:1.1rem;
}
.price-card__tags{
  display:flex;
  flex-wrap:wrap;
  gap:0.45rem;
  justify-content:center;
  margin-bottom:1.4rem;
}
.price-card__tag{
  font-size:0.74rem;
  font-weight:600;
  color:var(--c-text-muted);
  background:var(--c-surface-2);
  border:1px solid var(--c-border);
  border-radius:50px;
  padding:0.22rem 0.7rem;
}
.price-card__amounts{
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:0.9rem;
  margin-bottom:0.4rem;
}
.price-rrp{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  color:var(--c-text-dim);
}
.price-rrp__label{
  font-family:var(--f-mono);
  font-size:0.62rem;
  letter-spacing:0.1em;
  text-transform:uppercase;
}
.price-rrp s{
  font-size:1.3rem;
  font-weight:600;
  text-decoration-thickness:2px;
}
.price-sale{
  font-family:var(--f-display);
  font-size:3.4rem;
  font-weight:800;
  line-height:1;
  color:var(--c-heading);
  letter-spacing:-0.02em;
}
.price-sale__cur{
  font-size:1.7rem;
  font-weight:700;
  vertical-align:super;
  margin-right:0.1rem;
  color:var(--c-accent);
}
.price-card__note{
  font-size:0.82rem;
  color:var(--c-text-muted);
  margin:0 0 1.6rem;
}
.price-card__btn{width:100%;justify-content:center;}
.price-card__list{
  list-style:none;
  margin:1.6rem 0 0;
  padding:1.4rem 0 0;
  border-top:1px solid var(--c-border);
  display:flex;
  flex-direction:column;
  gap:0.6rem;
  text-align:left;
}
.price-card__list li{
  position:relative;
  padding-left:1.7rem;
  font-size:0.88rem;
  color:var(--c-text);
}
.price-card__list li::before{
  content:"";
  position:absolute;left:0;top:0.15rem;
  width:16px;height:16px;
  border-radius:50%;
  background:var(--c-accent-dim);
  box-shadow:inset 0 0 0 1.5px var(--c-accent);
}
.price-card__list li::after{
  content:"";
  position:absolute;left:5px;top:0.42rem;
  width:5px;height:8px;
  border:solid var(--c-accent);
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}

@media(max-width:600px){
  .price-sale{font-size:2.7rem;}
  .flip-cover__title{font-size:1.5rem;}
  .hero-flipbook{margin-top:1.6rem;}
}


/* ============================================================
   v3.1 — "VELLUM-STYLE" EDITORIAL FRONT-PAGE ADAPTATION
   Light, bookish layout. Scoped to body.v-adapt so the rest
   of the (dark) theme is untouched.
   ============================================================ */
body.v-adapt{
  --vp:    #faf7f1;   /* warm paper */
  --vp2:   #f2ebdf;   /* deeper paper */
  --vp3:   #ebe2d2;
  --vink:  #221d17;   /* near-black, warm */
  --vsoft: #5e554a;
  --vdim:  #8a8174;
  --vline: #e6dccb;
  --vteal: #0f9d83;
  --vteald:#0b6f5c;
  --vgold: #c98a3a;
  --vf-serif:'Fraunces', Georgia, 'Times New Roman', serif;
  --vf-sans: 'Hanken Grotesk', system-ui, -apple-system, sans-serif;

  background:var(--vp);
  color:var(--vink);
  font-family:var(--vf-sans);
}
body.v-adapt .site-content{padding-top:0;}

/* ---- Header (light) ---- */
body.v-adapt .header-pill{
  background:rgba(255,255,255,0.72);
  -webkit-backdrop-filter:blur(14px) saturate(1.2);
  backdrop-filter:blur(14px) saturate(1.2);
}
body.v-adapt .header-pill::after{
  border-top:1.5px solid rgba(34,29,23,0.10);
  border-left:1px solid rgba(34,29,23,0.06);
  border-right:1px solid rgba(34,29,23,0.06);
  border-bottom:1px solid rgba(34,29,23,0.04);
  box-shadow:0 8px 30px rgba(58,47,28,0.12), inset 0 1px 0 rgba(255,255,255,0.6);
}
body.v-adapt .site-header.scrolled .header-pill{background:rgba(255,255,255,0.9);}
body.v-adapt .site-header.scrolled .header-pill::after{
  border-top-color:rgba(15,157,131,0.5);
  border-left-color:rgba(15,157,131,0.15);
  border-right-color:rgba(15,157,131,0.15);
}
body.v-adapt .site-branding .site-title{font-family:var(--vf-serif);font-weight:600;letter-spacing:-0.01em;}
body.v-adapt .site-branding .site-title a{color:var(--vink);}
body.v-adapt .site-branding .site-title a:hover{color:var(--vteal);}
body.v-adapt .main-navigation a{font-family:var(--vf-sans);color:var(--vsoft);font-weight:600;}
body.v-adapt .main-navigation a:hover,
body.v-adapt .main-navigation .current-menu-item>a,
body.v-adapt .main-navigation .current_page_item>a{color:var(--vink);background:rgba(34,29,23,0.05);}
body.v-adapt .header-cta{background:var(--vteal);color:#fff;}
body.v-adapt .header-cta:hover{background:var(--vteald);box-shadow:0 6px 20px rgba(15,157,131,0.28);}
body.v-adapt .header-cta__rrp{color:rgba(255,255,255,0.7);}
body.v-adapt .menu-toggle{color:var(--vink);}
body.v-adapt .mobile-navigation{background:rgba(250,247,241,0.96);border-color:var(--vline);}
body.v-adapt .mobile-navigation a{color:var(--vink);}

/* ---- Footer (light) ---- */
body.v-adapt .site-footer{background:var(--vp2);border-top:1px solid var(--vline);color:var(--vsoft);}
body.v-adapt .site-footer .site-title{font-family:var(--vf-serif);color:var(--vink);font-weight:600;}
body.v-adapt .site-footer .footer-col-title{color:var(--vink);}
body.v-adapt .site-footer a{color:var(--vsoft);}
body.v-adapt .site-footer a:hover{color:var(--vteal);}
body.v-adapt .footer-bottom{border-top-color:var(--vline);}

/* ---- Layout helpers ---- */
.v-adapt-page{overflow-x:clip;}
.v-container{max-width:1120px;margin:0 auto;padding:0 1.5rem;}
.v-center{text-align:center;}
.v-overline{
  display:inline-block;
  font-family:var(--vf-sans);
  font-size:0.78rem;
  font-weight:700;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--vteal);
  margin-bottom:1rem;
}
.v-h2{
  font-family:var(--vf-serif);
  font-weight:600;
  font-size:clamp(1.9rem,4vw,2.9rem);
  line-height:1.12;
  letter-spacing:-0.01em;
  color:var(--vink);
  margin:0 0 1rem;
}
.v-lead{font-family:var(--vf-sans);font-size:1.15rem;line-height:1.6;color:var(--vsoft);margin:0 0 1rem;}
.v-lead--narrow{max-width:620px;margin-left:auto;margin-right:auto;}
.v-body{font-size:1rem;line-height:1.65;color:var(--vsoft);margin:0 0 1rem;}

/* ---- Buttons ---- */
.v-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;
  font-family:var(--vf-sans);font-size:1rem;font-weight:700;
  padding:0.85rem 1.7rem;border-radius:50px;
  text-decoration:none;cursor:pointer;border:1.5px solid transparent;
  transition:transform 0.2s ease, background 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
}
.v-btn--primary{background:var(--vteal);color:#fff;box-shadow:0 8px 24px rgba(15,157,131,0.25);}
.v-btn--primary:hover{background:var(--vteald);transform:translateY(-2px);box-shadow:0 12px 30px rgba(15,157,131,0.32);}
.v-btn--ghost{background:transparent;color:var(--vink);border-color:var(--vline);}
.v-btn--ghost:hover{border-color:var(--vink);background:rgba(34,29,23,0.04);}
.v-btn--block{display:flex;width:100%;}
.v-btn--lg{font-size:1.1rem;padding:1rem 2.4rem;}

/* ---- Announcement ---- */
.v-announce{display:flex;justify-content:center;padding:6.5rem 1.5rem 0;}
.v-announce__pill{
  display:inline-flex;align-items:center;gap:0.6rem;
  font-family:var(--vf-sans);font-size:0.9rem;font-weight:600;color:var(--vsoft);
  background:#fff;border:1px solid var(--vline);border-radius:50px;
  padding:0.5rem 1.1rem;text-decoration:none;
  box-shadow:0 4px 14px rgba(58,47,28,0.06);
  transition:border-color 0.2s ease, transform 0.2s ease;
}
.v-announce__pill:hover{border-color:var(--vteal);transform:translateY(-1px);}
.v-announce__tag{color:var(--vteal);font-weight:800;}
.v-announce__arrow{color:var(--vteal);}

/* ---- Hero ---- */
.v-hero{padding:2.5rem 0 3.5rem;text-align:center;}
.v-hero__mark{font-size:1.6rem;color:var(--vteal);margin-bottom:0.6rem;}
.v-hero__title{
  font-family:var(--vf-serif);font-weight:600;
  font-size:clamp(2.6rem,7vw,5rem);line-height:1.02;letter-spacing:-0.02em;
  color:var(--vink);margin:0 0 1rem;
}
.v-hero__tagline{
  font-family:var(--vf-serif);font-style:italic;font-weight:500;
  font-size:clamp(1.2rem,2.6vw,1.7rem);color:var(--vsoft);
  max-width:680px;margin:0 auto 1.8rem;line-height:1.4;
}
.v-hero__actions{display:flex;gap:0.9rem;justify-content:center;flex-wrap:wrap;}
.v-hero__meta{
  list-style:none;display:flex;gap:1.6rem;justify-content:center;flex-wrap:wrap;
  margin:1.3rem 0 0;padding:0;font-size:0.9rem;color:var(--vdim);font-weight:600;
}
.v-hero__meta li{position:relative;padding-left:1.2rem;}
.v-hero__meta li::before{content:"✓";position:absolute;left:0;color:var(--vteal);font-weight:800;}
.v-hero__book{margin-top:3rem;}
body.v-adapt .flipbook-preview{filter:drop-shadow(0 30px 60px rgba(58,47,28,0.28));}
body.v-adapt .flipbook-btn{background:#fff;border-color:var(--vline);color:var(--vink);}
body.v-adapt .flipbook-btn:hover:not(:disabled){background:var(--vp2);border-color:var(--vteal);color:var(--vteal);}
body.v-adapt .flipbook-counter{color:var(--vsoft);}
body.v-adapt .flipbook-hint{color:var(--vdim);}

/* ---- Feature rows ---- */
.v-feature{padding:4.5rem 0;}
.v-feature--alt{background:var(--vp2);}
.v-feature__row{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}
.v-feature__row--reverse{direction:rtl;}
.v-feature__row--reverse > *{direction:ltr;}
.v-feature__media img{width:100%;height:auto;display:block;}
.v-checks{list-style:none;margin:1.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:0.7rem;}
.v-checks li{position:relative;padding-left:1.9rem;font-size:1rem;color:var(--vink);font-weight:500;}
.v-checks li::before{
  content:"";position:absolute;left:0;top:0.05rem;width:18px;height:18px;border-radius:50%;
  background:rgba(15,157,131,0.12);box-shadow:inset 0 0 0 1.5px var(--vteal);
}
.v-checks li::after{
  content:"";position:absolute;left:6px;top:0.32rem;width:5px;height:9px;
  border:solid var(--vteal);border-width:0 2px 2px 0;transform:rotate(45deg);
}

/* ---- Style showcase ---- */
.v-styles{padding:4.5rem 0;}
.v-styles__strip{margin-top:2.5rem;}
.v-styles__strip img{width:100%;max-width:980px;height:auto;display:block;margin:0 auto;}

/* ---- Product tour ---- */
.v-tour{padding:4.5rem 0;background:var(--vp2);}
.v-tour__tabs{display:flex;gap:0.5rem;justify-content:center;flex-wrap:wrap;margin:2rem 0 2.5rem;}
.v-tour__tab{
  font-family:var(--vf-sans);font-size:1rem;font-weight:700;color:var(--vsoft);
  background:transparent;border:1.5px solid transparent;border-radius:50px;
  padding:0.6rem 1.4rem;cursor:pointer;transition:all 0.2s ease;
}
.v-tour__tab:hover{color:var(--vink);}
.v-tour__tab.is-active{background:var(--vink);color:var(--vp);}
.v-tour__panel{max-width:880px;margin:0 auto;text-align:center;animation:vFade 0.4s ease;}
.v-tour__panel[hidden]{display:none;}
.v-tour__media img{width:100%;height:auto;display:block;border-radius:12px;}
.v-tour__caption{font-size:1.1rem;line-height:1.6;color:var(--vsoft);max-width:680px;margin:1.6rem auto 0;}
@keyframes vFade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}

/* ---- What will you create ---- */
.v-create{padding:5rem 0;}
.v-genres{
  font-family:var(--vf-serif);font-weight:500;font-style:italic;
  font-size:clamp(1.4rem,3.2vw,2.2rem);line-height:1.5;color:var(--vink);
  max-width:780px;margin:0 auto 1.5rem;
}
.v-create__count{font-size:1.05rem;color:var(--vsoft);}
.v-quotes{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin:3rem auto;max-width:920px;}
.v-quote{
  margin:0;background:#fff;border:1px solid var(--vline);border-radius:16px;
  padding:1.8rem;box-shadow:0 8px 24px rgba(58,47,28,0.06);
}
.v-quote blockquote{
  font-family:var(--vf-serif);font-size:1.2rem;line-height:1.45;color:var(--vink);
  margin:0 0 1rem;font-weight:500;
}
.v-quote figcaption{font-size:0.92rem;color:var(--vdim);}
.v-quote figcaption strong{color:var(--vink);}
.v-covers{margin-top:1rem;overflow-x:auto;}
.v-covers img{width:100%;max-width:1000px;height:auto;display:block;margin:0 auto;}

/* ---- Pricing ---- */
.v-pricing{padding:5rem 0;background:var(--vp2);}
.v-price-table{
  position:relative;max-width:560px;margin:2.5rem auto 0;
  background:#fff;border:1px solid var(--vline);border-radius:20px;
  padding:2.6rem 2.2rem 2.2rem;box-shadow:0 24px 60px rgba(58,47,28,0.12);
}
.v-price-table__flag{
  position:absolute;top:-14px;left:50%;transform:translateX(-50%);
  font-family:var(--vf-sans);font-size:0.78rem;font-weight:800;letter-spacing:0.04em;
  text-transform:uppercase;color:#fff;background:var(--vgold);
  padding:0.35rem 1rem;border-radius:50px;box-shadow:0 6px 16px rgba(201,138,58,0.3);
}
.v-price-row{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;}
.v-price-row__info h3{font-family:var(--vf-serif);font-size:1.5rem;font-weight:600;color:var(--vink);margin:0;}
.v-price-row__info p{font-size:0.95rem;color:var(--vsoft);margin:0.25rem 0 0;}
.v-price-row__price{text-align:right;white-space:nowrap;}
.v-price-row__price s{display:block;font-size:1.05rem;color:var(--vdim);text-decoration-thickness:2px;}
.v-price-now{font-family:var(--vf-serif);font-size:2.6rem;font-weight:700;color:var(--vteal);line-height:1;}
.v-price-table__list{
  list-style:none;margin:1.6rem 0;padding:1.6rem 0;border-top:1px solid var(--vline);border-bottom:1px solid var(--vline);
  display:flex;flex-direction:column;gap:0.7rem;
}
.v-price-table__list li{position:relative;padding-left:1.8rem;font-size:0.98rem;color:var(--vink);}
.v-price-table__list li::before{content:"✓";position:absolute;left:0;color:var(--vteal);font-weight:800;}
.v-price-table__note{text-align:center;font-size:0.86rem;color:var(--vdim);margin:1.1rem 0 0;}
.v-price-table .v-btn{margin-top:1.4rem;}

/* ---- WooCommerce strip ---- */
.v-wc{padding:4rem 0;}

/* ---- Get started ---- */
.v-getstarted{padding:5.5rem 0;text-align:center;}
.v-getstarted__icon{
  width:64px;height:64px;border-radius:18px;display:flex;align-items:center;justify-content:center;
  margin:0 auto 1.5rem;font-size:1.8rem;color:#fff;background:var(--vteal);
  box-shadow:0 12px 30px rgba(15,157,131,0.3);
}
.v-getstarted__steps{
  list-style:none;margin:1.8rem auto;padding:0;max-width:560px;
  display:flex;flex-direction:column;gap:0.8rem;text-align:left;
}
.v-getstarted__steps li{position:relative;padding-left:2rem;font-size:1.05rem;color:var(--vink);}
.v-getstarted__steps li::before{content:"✦";position:absolute;left:0;color:var(--vteal);}

/* ---- Responsive ---- */
@media(max-width:860px){
  .v-feature__row{grid-template-columns:1fr;gap:2.5rem;}
  .v-feature__row--reverse{direction:ltr;}
  .v-quotes{grid-template-columns:1fr;}
  .v-price-row{flex-direction:column;align-items:flex-start;gap:0.5rem;}
  .v-price-row__price{text-align:left;}
}
@media(max-width:480px){
  .v-announce{padding-top:5.5rem;}
  .v-hero{padding-top:1rem;}
  .v-hero__actions .v-btn{width:100%;}
}

/* ---- Ebooks device mockup (replaceable screen images) ---- */
.v-ebooks-stage{position:relative;max-width:560px;margin:0 auto;}
.v-device__screen{overflow:hidden;background:#faf7f1;position:relative;}
.v-device__screen img{display:block;width:100%;height:100%;object-fit:cover;object-position:top center;}
.v-device__screen::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(0,0,0,0.05);pointer-events:none;}
.v-device--tablet{position:relative;z-index:1;width:70%;background:#161616;border-radius:30px;padding:16px 15px;
  box-shadow:0 28px 55px rgba(58,47,28,0.28), inset 0 1px 0 rgba(255,255,255,0.06);}
.v-device--tablet .v-device__screen{border-radius:12px;aspect-ratio:833/1332;}
.v-device--phone{position:absolute;z-index:2;right:0;bottom:0;width:37%;background:#101418;border-radius:30px;padding:9px;
  box-shadow:0 22px 42px rgba(58,47,28,0.32), inset 0 1px 0 rgba(255,255,255,0.06);}
.v-device--phone .v-device__screen{border-radius:21px;aspect-ratio:9/17;background:#fff;}
.v-device--phone .v-device__screen img{object-fit:contain;object-position:center;}
.v-device__notch{position:absolute;top:17px;left:50%;transform:translateX(-50%);width:32%;height:5px;border-radius:5px;background:#2a2f36;z-index:3;}
@media(max-width:860px){ .v-ebooks-stage{max-width:440px;} }
@media(max-width:480px){ .v-device--tablet{width:74%;} .v-device--phone{width:40%;} }
