/* ═══════════════════════════════════════════════════════════════
   THE CALM LION — Premium CSS
   Aesthetic: Warm Amber · Liquid Gold · 3D Sculpted · Dark Luxury
═══════════════════════════════════════════════════════════════ */
:root {
  --gold:      #C47A2B;
  --amber:     #E8A84C;
  --cream:     #F5EDD8;
  --deep:      #2A1A08;
  --darker:    #1a0f05;
  --brown:     #5C3A1E;
  --glow:      rgba(196,122,43,0.4);
  --border:    rgba(196,122,43,0.2);
  --border-h:  rgba(196,122,43,0.5);
  --font-display:'Cinzel','Palatino Linotype',serif;
  --font-serif:'Playfair Display','Georgia',serif;
  --font-body:'Raleway','Segoe UI',sans-serif;
  --radius:6px; --radius-lg:14px;
  --shadow:0 8px 40px rgba(0,0,0,0.4);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}

/* ── Cursor: only apply none on actual pointer/mouse devices ── */
@media (hover: hover) and (pointer: fine) {
  /* Desktop with mouse — hide default cursor */
  body { cursor: none; }
  a, button, [role="button"], label, select,
  input[type="submit"], input[type="button"],
  .btn-primary, .btn-outline, .ws-btn, .nav-cta,
  .format-card, .ws-card, .platform-chip { cursor: none; }
}
@media (hover: none), (pointer: coarse) {
  /* Touch device — always use default cursor, NEVER none */
  *, *::before, *::after { cursor: auto !important; }
  a, button, [role="button"] { cursor: pointer !important; }
  .cursor, .cursor-ring, .cur, .cur-ring { display: none !important; }
}
body{font-family:var(--font-body);background:#fff;color:#2A1A08;overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font-family:var(--font-body)}
input,textarea,select{font-family:var(--font-body);background:#fff;border:1px solid rgba(196,122,43,0.25);color:#2A1A08;border-radius:var(--radius);padding:.75rem 1rem;width:100%;outline:none;transition:border-color .3s,box-shadow .3s;font-size:1rem}
input:focus,textarea:focus,select:focus{border-color:var(--amber);box-shadow:0 0 0 3px rgba(196,122,43,.15)}

/* ── Cursor ─────────────────────────────────────────────────── */
.cursor{position:fixed;width:10px;height:10px;background:var(--amber);border-radius:50%;pointer-events:none;z-index:99999;transform:translate(-50%,-50%);transition:width .2s,height .2s;mix-blend-mode:difference}
.cursor-ring{position:fixed;width:32px;height:32px;border:1.5px solid var(--gold);border-radius:50%;pointer-events:none;z-index:99998;transform:translate(-50%,-50%);transition:all .12s ease;opacity:.6}
.cursor.big{width:18px;height:18px}
.cursor-ring.big{width:48px;height:48px}

/* ── Noise + Canvas ─────────────────────────────────────────── */
body::before{content:'';position:fixed;inset:0;z-index:1;pointer-events:none !important;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' 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)' opacity='0.035'/%3E%3C/svg%3E");opacity:.5}
#bgCanvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none !important}
.site-wrap,.site-main{position:relative;z-index:2}
.container{max-width:1200px;margin:0 auto;padding:0 2rem}

/* ══════════════════════════════════════════════════════════════
   HEADER / NAV
══════════════════════════════════════════════════════════════ */
.site-header{position:fixed;top:0;left:0;right:0;z-index:140;padding:1.5rem 3rem;display:flex;align-items:center;justify-content:space-between;transition:all .4s ease}
.site-header.scrolled{background:rgba(255,255,255,0.96);backdrop-filter:blur(20px);padding:1rem 3rem;border-bottom:1px solid var(--border);box-shadow:0 2px 20px rgba(196,122,43,.1);z-index:145}
.logo{display:flex;align-items:center;gap:.875rem}
.logo-img{height:42px;width:auto;filter:drop-shadow(0 0 10px var(--glow));transition:filter .3s}
.logo:hover .logo-img{filter:drop-shadow(0 0 22px var(--amber))}
.logo-text{font-family:var(--font-display);font-size:.7rem;letter-spacing:.18em;color:var(--amber);text-transform:uppercase;line-height:1.4}
.main-nav{display:flex;gap:2.25rem;list-style:none}
.main-nav a{font-size:.67rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(42,26,8,0.55);transition:color .3s;position:relative;padding-bottom:3px}
.main-nav a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--amber);transition:width .35s ease}
.main-nav a:hover{color:var(--amber)}
.main-nav a:hover::after{width:100%}
.header-actions{display:flex;align-items:center;gap:1rem}
.cart-btn{position:relative;color:rgba(42,26,8,0.55);transition:color .3s;display:flex;align-items:center;gap:.4rem}
.cart-btn:hover{color:var(--amber)}
.cart-count{position:absolute;top:-8px;right:-8px;background:var(--gold);color:var(--deep);font-size:.58rem;font-weight:700;width:17px;height:17px;border-radius:50%;display:none;align-items:center;justify-content:center}
.cart-count.visible{display:flex}
.nav-cta{padding:.55rem 1.5rem;border:1px solid var(--gold);color:var(--amber);font-size:.67rem;letter-spacing:.15em;text-transform:uppercase;border-radius:2px;transition:all .3s;position:relative;overflow:hidden;font-family:var(--font-body)}
.nav-cta::before{content:'';position:absolute;inset:0;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .35s ease;z-index:-1}
.nav-cta:hover{color:var(--deep)}
.nav-cta:hover::before{transform:scaleX(1)}
.nav-toggle{display:none;flex-direction:column;gap:6px;width:28px;background:none;border:none;padding:6px;margin:-6px;border-radius:4px;transition:background .2s}
.nav-toggle span{display:block;height:2px;background:#2A1A08;border-radius:2px;transition:transform .3s ease,opacity .3s ease,width .3s ease;transform-origin:center}

/* ══════════════════════════════════════════════════════════════
   HERO
══════════════════════════════════════════════════════════════ */
.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:4rem;padding:9rem 5rem 5rem;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;right:5%;top:15%;width:580px;height:580px;background:radial-gradient(circle,rgba(196,122,43,.15) 0%,transparent 70%);border-radius:50%;pointer-events:none;animation:breathe 7s ease-in-out infinite}
@keyframes breathe{0%,100%{transform:scale(1);opacity:.7}50%{transform:scale(1.2);opacity:1}}
.hero-content{position:relative;z-index:3}
.hero-eyebrow{display:flex;align-items:center;gap:.875rem;margin-bottom:2rem;opacity:0;animation:slideUp .8s ease .2s forwards}
.eyebrow-line{width:36px;height:1px;background:var(--amber);flex-shrink:0}
.eyebrow-text{font-size:.62rem;letter-spacing:.25em;text-transform:uppercase;color:var(--amber);font-weight:500}
.hero-title{font-family:var(--font-display);font-size:clamp(3rem,5.5vw,5.5rem);font-weight:700;line-height:.95;color:#2A1A08;margin-bottom:1.5rem;opacity:0;animation:slideUp .9s ease .35s forwards}
.hero-title .sub{display:block;font-family:var(--font-serif);font-style:italic;font-size:.48em;color:var(--amber);font-weight:400;letter-spacing:.04em;margin-top:.55rem;line-height:1.4}
.hero-desc{font-size:1rem;line-height:1.9;font-weight:300;color:rgba(42,26,8,0.65);max-width:450px;margin-bottom:2rem;opacity:0;animation:slideUp .9s ease .5s forwards}
.hero-desc strong{color:#2A1A08;font-weight:500}
.hero-quote{font-family:var(--font-serif);font-style:italic;font-size:1.0625rem;color:var(--amber);border-left:2px solid var(--gold);padding-left:1.25rem;margin-bottom:2.75rem;line-height:1.7;max-width:400px;opacity:0;animation:slideUp .9s ease .65s forwards}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;opacity:0;animation:slideUp .9s ease .8s forwards}
@keyframes slideUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeInAnim{from{opacity:0}to{opacity:1}}

/* ── Buttons ─────────────────────────────────────────────────── */
.btn-primary{display:inline-flex;align-items:center;gap:.625rem;padding:.9rem 2.25rem;background:linear-gradient(135deg,var(--gold),var(--amber));color:var(--deep);font-family:var(--font-body);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border-radius:3px;border:none;box-shadow:0 6px 28px rgba(196,122,43,.4);transition:all .35s;position:relative;overflow:hidden}
.btn-primary::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--amber),#F4C56A);opacity:0;transition:opacity .35s}
.btn-primary span,.btn-primary svg{position:relative;z-index:1}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 14px 48px rgba(196,122,43,.5)}
.btn-primary:hover::after{opacity:1}
.btn-primary.full-width{width:100%;justify-content:center}
.btn-primary.gold-btn{background:linear-gradient(135deg,var(--gold),var(--amber))}
.btn-outline{display:inline-flex;align-items:center;gap:.625rem;padding:.9rem 2.25rem;border:1px solid rgba(196,122,43,.5);color:var(--amber);font-family:var(--font-body);font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;border-radius:3px;background:transparent;transition:all .35s}
.btn-outline:hover{border-color:var(--amber);color:#2A1A08;background:rgba(196,122,43,.1);transform:translateY(-3px)}

/* ── 3D Book ─────────────────────────────────────────────────── */
.hero-book{position:relative;z-index:3;display:flex;justify-content:center;align-items:center}
.book-scene{perspective:1200px;width:300px;height:420px;opacity:0;animation:fadeInAnim 1.2s ease .4s forwards}
.book-3d{width:100%;height:100%;transform-style:preserve-3d;transform:rotateY(-25deg) rotateX(4deg);transition:transform .8s cubic-bezier(.25,.46,.45,.94);position:relative;animation:floatBook 8s ease-in-out infinite 1.8s}
@keyframes floatBook{0%,100%{transform:rotateY(-25deg) rotateX(4deg) translateY(0)}50%{transform:rotateY(-25deg) rotateX(4deg) translateY(-16px)}}
.book-front{width:100%;height:100%;border-radius:3px 6px 6px 3px;overflow:hidden;box-shadow:6px 6px 0 rgba(0,0,0,.5),14px 14px 40px rgba(0,0,0,.65),inset -4px 0 12px rgba(0,0,0,.35)}
.book-front img{width:100%;height:100%;object-fit:cover}
.book-spine{position:absolute;top:0;left:-24px;width:24px;height:100%;background:linear-gradient(to right,#3a1e0e,var(--brown),#5c3a1e);display:flex;align-items:center;justify-content:center;box-shadow:inset -3px 0 6px rgba(0,0,0,.5);border-radius:3px 0 0 3px}
.spine-text{font-family:var(--font-display);font-size:.45rem;letter-spacing:.14em;color:var(--amber);writing-mode:vertical-rl;transform:rotate(180deg);text-transform:uppercase}
.book-shadow{position:absolute;bottom:-36px;left:50%;transform:translateX(-38%);width:260px;height:50px;background:radial-gradient(ellipse,rgba(0,0,0,.5) 0%,transparent 70%);border-radius:50%;animation:shadowPulse 8s ease-in-out infinite 1.8s}
@keyframes shadowPulse{0%,100%{transform:translateX(-38%) scale(1);opacity:.5}50%{transform:translateX(-38%) scale(.82);opacity:.25}}
.ring{position:absolute;border-radius:50%;border:1px solid rgba(196,122,43,.12);animation:ringExpand 4s ease-in-out infinite;pointer-events:none;top:50%;left:50%}
.ring-1{width:420px;height:420px;transform:translate(-50%,-50%);animation-delay:0s}
.ring-2{width:540px;height:540px;transform:translate(-50%,-50%);animation-delay:1.4s}
.ring-3{width:660px;height:660px;transform:translate(-50%,-50%);animation-delay:2.8s}
@keyframes ringExpand{0%{opacity:.5;transform:translate(-50%,-50%) scale(.9)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.12)}}
.book-badge{position:absolute;z-index:5;background:linear-gradient(135deg,rgba(42,26,8,.95),rgba(92,58,30,.85));border:1px solid rgba(196,122,43,0.2);border-radius:8px;padding:.8rem 1.1rem;backdrop-filter:blur(12px);box-shadow:0 8px 28px rgba(0,0,0,.4);animation:floatBadge 6s ease-in-out infinite}
.badge-a{top:2%;right:-9%;animation-delay:0s}
.badge-b{bottom:8%;left:-20%;animation-delay:2.2s}
@keyframes floatBadge{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
.badge-lbl{font-size:.55rem;letter-spacing:.15em;text-transform:uppercase;color:var(--amber);margin-bottom:.3rem}
.badge-val{font-family:var(--font-serif);font-size:.9rem;color:#2A1A08;font-weight:500}

/* ══════════════════════════════════════════════════════════════
   STATS BAR
══════════════════════════════════════════════════════════════ */
.stats-bar{padding:4rem 0;background:linear-gradient(90deg,rgba(196,122,43,.06),rgba(196,122,43,.03),rgba(196,122,43,.06));border-top:1px solid var(--border);border-bottom:1px solid var(--border);position:relative}
.stats-bar::before{content:'';position:absolute;top:0;left:0;bottom:0;width:3px;background:linear-gradient(180deg,transparent,var(--gold),transparent)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.stat-item{text-align:center;position:relative}
.stat-item::after{content:'';position:absolute;right:0;top:15%;height:70%;width:1px;background:rgba(196,122,43,.18)}
.stat-item:last-child::after{display:none}
.stat-num{font-family:var(--font-display);font-size:2.75rem;color:var(--amber);line-height:1;text-shadow:0 0 36px rgba(196,122,43,.4);margin-bottom:.5rem}
.stat-lbl{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(42,26,8,0.38);font-weight:500}

/* ══════════════════════════════════════════════════════════════
   SECTION HELPERS
══════════════════════════════════════════════════════════════ */
section{padding:7rem 0}
.section-eyebrow{display:flex;align-items:center;gap:.875rem;margin-bottom:1.5rem}
.section-eyebrow.centered{justify-content:center}
.eyebrow-line{width:36px;height:1px;background:var(--amber);flex-shrink:0}
.eyebrow-text{font-size:.62rem;letter-spacing:.25em;text-transform:uppercase;color:var(--amber);font-weight:500}
.section-title{font-family:var(--font-serif);font-size:clamp(2rem,4vw,3.25rem);font-weight:700;line-height:1.2;color:#2A1A08;margin-bottom:1rem}
.section-title em{color:var(--amber);font-style:italic}
.section-sub{font-size:1rem;color:rgba(42,26,8,0.55);line-height:1.85;font-weight:300;max-width:520px}
.section-sub.centered{margin:0 auto;text-align:center}

/* ══════════════════════════════════════════════════════════════
   ABOUT
══════════════════════════════════════════════════════════════ */
.about-section{background:linear-gradient(180deg,#fff 0%,#faf5ec 60%,#fff 100%);position:relative;overflow:hidden}
.about-section::before{content:'';position:absolute;left:-180px;top:40%;width:500px;height:500px;background:radial-gradient(circle,rgba(196,122,43,.09) 0%,transparent 65%);border-radius:50%;pointer-events:none;animation:drift 14s ease-in-out infinite}
@keyframes drift{0%,100%{transform:translateY(-50%) translateX(0)}50%{transform:translateY(-50%) translateX(70px)}}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.about-body{font-size:1rem;line-height:1.95;color:rgba(42,26,8,0.68);font-weight:300;margin-bottom:1.5rem}
.about-body strong{color:#2A1A08;font-weight:500}
.glass-card{background:rgba(196,122,43,.03);border:1px solid rgba(196,122,43,0.2);border-radius:var(--radius-lg);padding:2rem;backdrop-filter:blur(16px);position:relative}
.glass-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--amber),transparent)}
.glass-card-title{font-family:var(--font-serif);font-size:1.0625rem;font-style:italic;color:var(--amber);margin-bottom:1.25rem}
.key-list{list-style:none;display:flex;flex-direction:column;gap:.875rem}
.key-list li{display:flex;align-items:flex-start;gap:.875rem;font-size:.9375rem;color:rgba(42,26,8,0.75);line-height:1.65}
.key-list li::before{content:'✦';color:var(--amber);font-size:.65rem;flex-shrink:0;margin-top:.28rem}
.back-cover-preview{margin-top:1.75rem;border-radius:var(--radius);overflow:hidden;border:1px solid rgba(196,122,43,0.2);opacity:.9}
.back-cover-preview img{width:100%;display:block}

/* ══════════════════════════════════════════════════════════════
   BUY SECTION
══════════════════════════════════════════════════════════════ */
.buy-section{background:linear-gradient(135deg,#faf5ec 0%,#fff 50%,#faf5ec 100%);text-align:center;position:relative;overflow:hidden}
.buy-section::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:700px;height:700px;background:radial-gradient(circle,rgba(196,122,43,.11) 0%,transparent 60%);border-radius:50%;pointer-events:none}
.buy-section::after{content:'';position:absolute;inset:0;background-image:repeating-linear-gradient(-45deg,transparent 0,transparent 38px,rgba(196,122,43,.025) 38px,rgba(196,122,43,.025) 39px);pointer-events:none}
.buy-inner{position:relative;z-index:2;max-width:720px;margin:0 auto}
.formats-row{display:flex;align-items:stretch;justify-content:center;gap:1.25rem;margin-bottom:2.5rem;flex-wrap:wrap}
.format-card{background:rgba(196,122,43,.05);border:1px solid rgba(196,122,43,0.2);border-radius:10px;padding:1.5rem 2rem;min-width:145px;transition:all .35s;position:relative;overflow:hidden}
.format-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(196,122,43,.12),transparent);opacity:0;transition:opacity .35s}
.format-card:hover{border-color:var(--border-h);transform:translateY(-5px);box-shadow:0 12px 40px rgba(196,122,43,.18)}
.format-card:hover::before{opacity:1}
.format-card.featured{border-color:rgba(196,122,43,.5);box-shadow:0 0 36px rgba(196,122,43,.18)}
.format-badge{position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:var(--gold);color:var(--deep);font-size:.55rem;font-weight:700;letter-spacing:.1em;padding:.2rem .7rem;border-radius:20px;text-transform:uppercase;white-space:nowrap}
.format-name{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--amber);margin-bottom:.5rem}
.format-price{font-family:var(--font-display);font-size:1.75rem;color:#2A1A08}
.format-mrp{font-size:.78rem;color:rgba(42,26,8,0.32);text-decoration:line-through}
.buy-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.platform-row{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:2.5rem;flex-wrap:wrap}
.platform-chip{display:flex;align-items:center;gap:.5rem;padding:.5rem 1.1rem;border:1px solid rgba(196,122,43,.18);border-radius:30px;font-size:.72rem;color:rgba(42,26,8,0.45);transition:all .3s}
.platform-chip:hover{border-color:var(--border-h);color:var(--amber);transform:translateY(-2px)}
.platform-dot{width:5px;height:5px;border-radius:50%;background:var(--amber);flex-shrink:0}

/* ══════════════════════════════════════════════════════════════
   AUTHOR
══════════════════════════════════════════════════════════════ */
.author-section{background:#fff;position:relative;overflow:hidden}
.author-grid{display:grid;grid-template-columns:400px 1fr;gap:6rem;align-items:center}
.author-photo-wrap{position:relative}
.author-photo-frame{position:relative;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:3/4;box-shadow:0 32px 80px rgba(0,0,0,.55),0 0 0 1px rgba(196,122,43,.18)}
.author-photo-frame img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:filter .5s}
.author-photo-frame::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(42,26,8,.75) 100%)}
.author-corner-tl{position:absolute;top:-10px;right:-10px;width:56px;height:56px;border-top:2px solid var(--amber);border-right:2px solid var(--amber);border-radius:0 8px 0 0;z-index:2}
.author-corner-br{position:absolute;bottom:-10px;left:-10px;width:56px;height:56px;border-bottom:2px solid var(--amber);border-left:2px solid var(--amber);border-radius:0 0 0 8px;z-index:2}
.author-plate{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:1.5rem;background:linear-gradient(0deg,rgba(42,26,8,.92) 0%,transparent 100%)}
.author-plate-name{font-family:var(--font-display);font-size:1.25rem;color:var(--amber)}
.author-plate-role{font-size:.65rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(42,26,8,0.45);margin-top:.2rem}
.author-quote{font-family:var(--font-serif);font-style:italic;font-size:1.1875rem;color:var(--amber);border-left:2px solid var(--gold);padding-left:1.25rem;margin-bottom:2rem;line-height:1.75}
.author-bio{font-size:1rem;line-height:1.95;color:rgba(42,26,8,0.62);font-weight:300;margin-bottom:1.25rem}
.author-actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}

/* ══════════════════════════════════════════════════════════════
   WORKSHOPS
══════════════════════════════════════════════════════════════ */
.workshops-section{background:#faf5ec;position:relative;overflow:hidden}
.ws-header-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:flex-end;margin-bottom:3.5rem}
.workshops-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:1.5rem}
.ws-card{background:linear-gradient(135deg,#fff,#faf5ec);border:1px solid rgba(196,122,43,0.2);border-radius:var(--radius-lg);padding:2rem;position:relative;overflow:hidden;transition:all .4s cubic-bezier(.25,.46,.45,.94);transform-style:preserve-3d}
.ws-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);transform:scaleX(0);transition:transform .4s}
.ws-card:hover{border-color:var(--border-h);box-shadow:0 24px 80px rgba(0,0,0,.45),0 0 40px rgba(196,122,43,.1);transform:translateY(-8px)}
.ws-card:hover::before{transform:scaleX(1)}
.ws-mode{font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--amber);margin-bottom:1rem}
.ws-title{font-family:var(--font-serif);font-size:1.25rem;color:#2A1A08;margin-bottom:.4rem;line-height:1.3}
.ws-instructor{font-size:.8rem;color:rgba(42,26,8,0.42);margin-bottom:1.5rem}
.ws-meta{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem}
.ws-meta-row{display:flex;align-items:center;gap:.625rem;font-size:.85rem;color:rgba(42,26,8,0.55)}
.ws-pill{padding:.5rem .875rem;border-radius:6px;font-size:.75rem;margin-bottom:1.5rem}
.ws-pill.sage{background:rgba(74,103,65,.15);border:1px solid rgba(74,103,65,.3);color:#9FE1CB}
.ws-pill.gold{background:rgba(196,122,43,.08);border:1px solid rgba(196,122,43,0.2);color:var(--amber)}
.ws-footer{display:flex;align-items:center;justify-content:space-between}
.ws-price{font-family:var(--font-display);font-size:1.5rem;color:var(--amber)}
.ws-seats{font-size:.68rem;color:rgba(42,26,8,0.32);margin-top:.2rem}
.ws-seats.low{color:#e07070}
.ws-btn{padding:.55rem 1.375rem;background:linear-gradient(135deg,var(--gold),var(--amber));color:var(--deep);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;border:none;border-radius:3px;box-shadow:0 4px 18px rgba(196,122,43,.3);transition:all .3s}
.ws-btn:hover{transform:translateY(-2px);box-shadow:0 8px 30px rgba(196,122,43,.4)}

/* ══════════════════════════════════════════════════════════════
   REVIEWS
══════════════════════════════════════════════════════════════ */
.reviews-section{background:linear-gradient(180deg,var(--deeper,var(--deep)) 0%,var(--deep) 100%)}
.reviews-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1.25rem;margin-top:3.5rem}
.review-card{background:rgba(196,122,43,.03);border:1px solid rgba(196,122,43,0.2);border-radius:var(--radius-lg);padding:1.75rem;transition:all .35s}
.review-card:hover{border-color:var(--border-h);transform:translateY(-4px);box-shadow:0 16px 50px rgba(0,0,0,.3)}
.review-stars{color:var(--amber);font-size:.875rem;margin-bottom:1rem}
.review-text{font-family:var(--font-serif);font-style:italic;font-size:1rem;line-height:1.75;color:rgba(42,26,8,0.75);margin-bottom:1.25rem}
.review-author{display:flex;align-items:center;gap:.75rem}
.review-avatar{width:34px;height:34px;border-radius:50%;background:rgba(196,122,43,.15);border:1px solid rgba(196,122,43,0.2);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;color:var(--amber);flex-shrink:0}
.review-name{font-size:.875rem;font-weight:500;color:#2A1A08}
.review-loc{font-size:.72rem;color:rgba(42,26,8,0.38)}

/* ══════════════════════════════════════════════════════════════
   NEWSLETTER
══════════════════════════════════════════════════════════════ */
.newsletter-section{background:linear-gradient(135deg,#faf5ec 0%,#fff 50%,#faf5ec 100%);text-align:center;padding:7rem 0;border-top:1px solid var(--border);position:relative;overflow:hidden}
.newsletter-section::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:500px;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.nl-icon{font-size:2.25rem;display:block;margin-bottom:1.5rem;animation:glowPulse 3s ease-in-out infinite}
@keyframes glowPulse{0%,100%{text-shadow:0 0 20px rgba(196,122,43,.5)}50%{text-shadow:0 0 50px rgba(196,122,43,1),0 0 100px rgba(196,122,43,.4)}}
.nl-form{display:flex;max-width:440px;margin:0 auto;border:1px solid var(--border-h);border-radius:3px;overflow:hidden;box-shadow:0 0 40px rgba(196,122,43,.1)}
.nl-form input{flex:1;border:none;border-radius:0;font-size:.9rem;background:#f9f4ec}
.nl-form input:focus{box-shadow:none}
.nl-form button{padding:.875rem 1.5rem;background:linear-gradient(135deg,var(--gold),var(--amber));border:none;color:var(--deep);font-family:var(--font-body);font-size:.67rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;flex-shrink:0;transition:all .3s}
.nl-form button:hover{background:linear-gradient(135deg,var(--amber),#F4C56A)}
.nl-msg{font-size:.85rem;color:var(--amber);margin-top:1rem;min-height:1.2em}

/* ══════════════════════════════════════════════════════════════
   FOOTER
══════════════════════════════════════════════════════════════ */
.site-footer{background:#faf5ec;padding:5rem 0 2rem;border-top:1px solid rgba(196,122,43,.1);position:relative;z-index:2}
.footer-inner{display:grid;grid-template-columns:260px 1fr 180px;gap:4rem;padding-bottom:4rem;border-bottom:1px solid rgba(196,122,43,.08)}
.footer-brand .logo-img{height:50px;margin-bottom:1rem;opacity:.85}
.footer-tagline{font-family:var(--font-serif);font-style:italic;font-size:.85rem;color:rgba(42,26,8,0.28);line-height:1.7;margin-bottom:.75rem}
.footer-domain{font-size:.72rem;color:var(--amber);opacity:.5}
.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}
.footer-col h4{font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(42,26,8,0.22);margin-bottom:1.25rem}
.footer-col a{display:block;font-size:.85rem;color:rgba(42,26,8,0.4);margin-bottom:.625rem;transition:color .3s}
.footer-col a:hover{color:var(--amber)}
.footer-social{display:flex;flex-direction:column;gap:.75rem}
.footer-social h4{font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(42,26,8,0.22);margin-bottom:.5rem}
.social-link{display:flex;align-items:center;gap:.625rem;font-size:.8rem;color:rgba(42,26,8,0.4);transition:color .3s}
.social-link:hover{color:var(--amber)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:1.5rem;flex-wrap:wrap;gap:1rem}
.footer-bottom p{font-size:.72rem;color:rgba(42,26,8,0.18)}
.payment-badges{display:flex;gap:.5rem}
.payment-badge{font-size:.6rem;letter-spacing:.06em;text-transform:uppercase;padding:.2rem .55rem;border:1px solid rgba(196,122,43,.12);border-radius:2px;color:rgba(42,26,8,0.22)}

/* ══════════════════════════════════════════════════════════════
   CART DRAWER
══════════════════════════════════════════════════════════════ */
.cart-drawer{position:fixed;inset:0;z-index:200;pointer-events:none}
.cart-drawer.open{pointer-events:all}
.drawer-overlay{position:absolute;inset:0;background:rgba(14,8,2,0);transition:background .3s}
.cart-drawer.open .drawer-overlay{background:rgba(14,8,2,.65)}
.drawer-panel{position:absolute;top:0;right:0;bottom:0;width:380px;max-width:90vw;background:#faf5ec;border-left:1px solid var(--border);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .35s cubic-bezier(.4,0,.2,1)}
.cart-drawer.open .drawer-panel{transform:translateX(0)}
.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border)}
.drawer-header h3{font-family:var(--font-serif);font-size:1.125rem;color:#2A1A08}
.drawer-close{color:rgba(42,26,8,0.45);font-size:.9rem;background:none;border:none;padding:.25rem;transition:color .3s}
.drawer-close:hover{color:var(--amber)}
.drawer-body{flex:1;overflow-y:auto;padding:1.5rem}
.drawer-footer{padding:1.25rem 1.5rem;border-top:1px solid var(--border)}
.drawer-total{display:flex;justify-content:space-between;font-weight:500;margin-bottom:1rem;color:#2A1A08}
.cart-item{display:flex;gap:1rem;align-items:flex-start;padding:1rem 0;border-bottom:1px solid var(--border)}
.cart-item-thumb{width:52px;height:68px;border-radius:3px;overflow:hidden;flex-shrink:0;background:var(--brown);display:flex;align-items:center;justify-content:center;color:var(--amber)}
.cart-item-title{font-size:.9rem;font-weight:500;color:#2A1A08;margin-bottom:.2rem}
.cart-item-format{font-size:.72rem;color:rgba(42,26,8,0.38);text-transform:capitalize}
.cart-item-price{font-size:.9rem;font-weight:500;color:var(--amber);margin-top:.4rem}
.cart-item-remove{font-size:.72rem;color:rgba(42,26,8,0.28);background:none;border:none;margin-top:.4rem;transition:color .2s;display:block}
.cart-item-remove:hover{color:#e07070}
.empty-cart{text-align:center;padding:3rem 1rem;color:rgba(42,26,8,0.28);font-family:var(--font-serif);font-style:italic}

/* ══════════════════════════════════════════════════════════════
   CHECKOUT / FORMS
══════════════════════════════════════════════════════════════ */
.checkout-layout{display:grid;grid-template-columns:1fr 360px;gap:2.5rem;padding:3rem 0 5rem;align-items:flex-start}
.checkout-block{background:#fff;border:1px solid rgba(196,122,43,0.2);border-radius:var(--radius-lg);padding:2rem;margin-bottom:1.5rem}
.checkout-block h3{font-family:var(--font-serif);font-size:1.125rem;color:#2A1A08;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}
.order-summary{background:#faf5ec;border:1px solid rgba(196,122,43,0.2);border-radius:var(--radius-lg);padding:1.75rem;position:sticky;top:80px}
.order-summary h3{font-family:var(--font-serif);font-size:1.125rem;color:#2A1A08;margin-bottom:1.5rem}
.summary-item{display:flex;justify-content:space-between;font-size:.9rem;margin-bottom:.75rem}
.summary-item .item-name{color:rgba(42,26,8,0.55)}
.summary-item .item-price{font-weight:500;color:#2A1A08}
.summary-divider{height:1px;background:var(--border);margin:1rem 0}
.summary-total{display:flex;justify-content:space-between;font-weight:600;font-size:1.05rem;color:#2A1A08}
.form-group{margin-bottom:1.25rem}
.form-label{display:block;font-size:.78rem;font-weight:500;color:rgba(42,26,8,0.65);margin-bottom:.4rem;letter-spacing:.04em}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.coupon-row{display:flex;gap:.5rem;margin-bottom:1rem}
.coupon-row input{flex:1}

/* ══════════════════════════════════════════════════════════════
   PRODUCT PAGE
══════════════════════════════════════════════════════════════ */
.product-layout{display:grid;grid-template-columns:340px 1fr;gap:4rem;align-items:flex-start;padding:3rem 0 5rem}
.product-cover{position:sticky;top:80px}
.product-cover-img{aspect-ratio:3/4;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow),0 0 0 1px var(--border);margin-bottom:1.5rem}
.product-cover-img img{width:100%;height:100%;object-fit:cover}
.product-title{font-family:var(--font-display);font-size:2rem;font-weight:700;color:#2A1A08;margin-bottom:.5rem}
.product-subtitle{font-size:1rem;color:rgba(42,26,8,0.5);margin-bottom:1.25rem;font-family:var(--font-serif);font-style:italic}
.product-rating{display:flex;align-items:center;gap:.75rem;margin-bottom:2rem}
.rating-stars{color:var(--amber)}
.rating-count{font-size:.8rem;color:rgba(42,26,8,0.38)}
.format-selector{margin-bottom:1.5rem}
.format-selector label{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(42,26,8,0.38);margin-bottom:.75rem;display:block}
.format-options{display:flex;gap:.5rem;flex-wrap:wrap}
.format-opt{padding:.5rem 1rem;border:1px solid rgba(196,122,43,0.2);border-radius:var(--radius);font-size:.85rem;background:transparent;color:rgba(42,26,8,0.55);transition:all .3s}
.format-opt:hover,.format-opt.active{border-color:var(--amber);color:var(--amber);background:rgba(196,122,43,.05)}
.product-price{margin-bottom:2rem}
.price-main{font-family:var(--font-display);font-size:2rem;color:#2A1A08}
.price-mrp{font-size:.9rem;color:rgba(42,26,8,0.28);text-decoration:line-through;margin-left:.5rem}
.price-off{font-size:.8rem;color:#9FE1CB;font-weight:500;margin-left:.5rem}
.product-actions{display:flex;gap:.875rem;margin-bottom:2rem;flex-wrap:wrap}
.product-meta{border-top:1px solid var(--border);padding-top:1.5rem}
.product-meta-row{display:flex;gap:1rem;padding:.5rem 0;font-size:.875rem}
.product-meta-key{color:rgba(42,26,8,0.32);min-width:100px}
.tabs{margin-top:3rem}
.tab-nav{display:flex;border-bottom:1px solid var(--border);margin-bottom:2rem}
.tab-btn{padding:.875rem 1.5rem;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(42,26,8,0.38);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .3s}
.tab-btn.active{color:var(--amber);border-bottom-color:var(--amber)}
.tab-content{display:none}
.tab-content.active{display:block}
.tab-content p{font-size:1rem;line-height:1.9;color:rgba(42,26,8,0.65)}
.platform-links{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem}
.platform-btn{display:flex;align-items:center;gap:.5rem;padding:.55rem 1.1rem;border:1px solid rgba(196,122,43,0.2);border-radius:var(--radius);font-size:.8rem;color:rgba(42,26,8,0.5);transition:all .3s}
.platform-btn:hover{border-color:var(--border-h);color:var(--amber)}

/* ══════════════════════════════════════════════════════════════
   TOAST + PAGE UTILS
══════════════════════════════════════════════════════════════ */
.toast-container{position:fixed;bottom:1.5rem;right:1.5rem;z-index:300;display:flex;flex-direction:column;gap:.5rem}
.toast{background:#faf5ec;border:1px solid rgba(196,122,43,0.2);color:#2A1A08;padding:.875rem 1.25rem;border-radius:var(--radius-lg);font-size:.875rem;max-width:300px;box-shadow:var(--shadow);display:flex;align-items:center;gap:.75rem;animation:toastIn .3s ease}
.toast.success{border-left:3px solid var(--amber)}
.toast.error{border-left:3px solid #e07070}
.toast.info{border-left:3px solid var(--gold)}
@keyframes toastIn{from{transform:translateX(120%);opacity:0}to{transform:translateX(0);opacity:1}}
.reveal{opacity:0;transform:translateY(36px);transition:opacity .75s ease,transform .75s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.reveal-d1{transition-delay:.15s}
.reveal-d2{transition-delay:.30s}
.reveal-d3{transition-delay:.45s}
.reveal-d4{transition-delay:.60s}
.page-hero{padding:7rem 0 3rem;border-bottom:1px solid var(--border);margin-bottom:3rem}
.breadcrumb{font-size:.78rem;color:rgba(42,26,8,0.38);margin-bottom:1rem}
.breadcrumb a{color:var(--amber)}
.breadcrumb span{margin:0 .4rem}
.text-center{text-align:center}
.hidden{display:none!important}
.badge{display:inline-block;padding:.2rem .6rem;border-radius:3px;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600}
.badge-gold{background:var(--gold);color:var(--deep)}
.badge-outline{background:transparent;border:1px solid var(--border-h);color:var(--amber)}
.mt-2{margin-top:2rem}

/* ══════════════════════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════════════════════ */
@media(max-width:1024px){
  .hero{grid-template-columns:1fr;padding:8rem 2rem 4rem}
  .hero-content{text-align:center}
  .hero-eyebrow,.hero-actions{justify-content:center}
  .hero-desc,.hero-quote{margin-left:auto;margin-right:auto}
  .hero-book{margin-top:3rem}
  .about-grid,.author-grid{grid-template-columns:1fr;gap:3rem}
  .footer-inner{grid-template-columns:1fr;gap:2.5rem}
  .footer-links{grid-template-columns:repeat(2,1fr)}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .ws-header-grid{grid-template-columns:1fr}
  .checkout-layout,.product-layout{grid-template-columns:1fr}
  .order-summary,.product-cover{position:static}
}
@media(max-width:768px){
  /* header padding handled in MASTER NAV */
  .main-nav{display:none}
  .nav-toggle{display:flex !important}
  /* nav.open handled in MASTER block below */
  .hero{padding:7rem 1.5rem 3.5rem}
  .about-section,.buy-section,.author-section,.workshops-section,.reviews-section,.newsletter-section{padding:5rem 0}
  .container{padding:0 1.25rem}
  .book-scene{width:220px;height:310px}
  .badge-a,.badge-b{display:none}
  .form-row{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}
  .footer-links{grid-template-columns:1fr}
}

/* ══════════════════════════════════════════════════════════════
   WHITE BACKGROUND OVERRIDES — Global light theme fixes
══════════════════════════════════════════════════════════════ */

/* Core body and background */
body { background: #fff !important; color: #2A1A08 !important; }
#bgCanvas { opacity: 0.35; }

/* Nav — white scrolled state */
.site-header { background: transparent; }
.site-header.scrolled {
  background: rgba(255,255,255,0.96) !important;
  border-bottom: 1px solid rgba(196,122,43,0.18);
  box-shadow: 0 2px 24px rgba(196,122,43,0.1);
}
.main-nav a { color: rgba(42,26,8,0.6); }
.main-nav a:hover { color: var(--gold); }
.cart-btn { color: rgba(42,26,8,0.55); }
.cart-btn:hover { color: var(--gold); }
.logo-text { color: var(--gold); }

/* Hero — parchment gradient instead of dark */
.hero {
  background: linear-gradient(135deg, #fef9f1 0%, #fff 50%, #fef5e4 100%);
}
.hero::before {
  background: radial-gradient(circle, rgba(196,122,43,0.12) 0%, transparent 70%);
}
.hero-title { color: var(--deep); }
.hero-desc  { color: rgba(42,26,8,0.65); }
.hero-quote { color: var(--gold); border-left-color: var(--gold); }
.hero-eyebrow .eyebrow-text { color: var(--gold); }
.eyebrow-line { background: var(--gold); }

/* Stats bar */
.stats-bar {
  background: linear-gradient(90deg, rgba(196,122,43,0.06), rgba(196,122,43,0.03), rgba(196,122,43,0.06)) !important;
}
.stat-num { color: var(--gold); text-shadow: 0 0 28px rgba(196,122,43,0.25); }
.stat-lbl  { color: rgba(42,26,8,0.4); }

/* About section */
.about-section { background: #fdf9f3 !important; }
.about-section::before {
  background: radial-gradient(circle, rgba(196,122,43,0.07) 0%, transparent 65%);
}
.about-body { color: rgba(42,26,8,0.68); }
.about-body strong { color: var(--deep); }
.glass-card {
  background: #fff !important;
  border: 1px solid rgba(196,122,43,0.2);
  box-shadow: 0 4px 24px rgba(196,122,43,0.08);
}
.glass-card-title { color: var(--gold); }
.key-list li { color: rgba(42,26,8,0.75); }
.key-list li::before { color: var(--gold); }

/* Buy section */
.buy-section { background: linear-gradient(135deg, #fdf9f2 0%, #fff 50%, #fdf9f2 100%) !important; }
.buy-section::before { background: radial-gradient(circle, rgba(196,122,43,0.09) 0%, transparent 60%); }
.buy-section::after  { background-image: repeating-linear-gradient(-45deg, transparent 0, transparent 38px, rgba(196,122,43,0.015) 38px, rgba(196,122,43,0.015) 39px); }
.format-card {
  background: #fff !important;
  border: 1px solid rgba(196,122,43,0.2);
  box-shadow: 0 2px 16px rgba(196,122,43,0.07);
}
.format-card:hover { box-shadow: 0 12px 40px rgba(196,122,43,0.15) !important; }
.format-card.featured { border-color: rgba(196,122,43,0.5) !important; box-shadow: 0 0 32px rgba(196,122,43,0.15) !important; }
.format-name  { color: var(--gold); }
.format-price { color: var(--deep); }
.format-mrp   { color: rgba(42,26,8,0.35); }
.platform-chip { color: rgba(42,26,8,0.45); border-color: rgba(196,122,43,0.18); }
.platform-chip:hover { color: var(--gold); border-color: rgba(196,122,43,0.5); }

/* Author section */
.author-section { background: #fdf9f2 !important; }
.author-quote { color: var(--gold); border-left-color: var(--gold); }
.author-bio   { color: rgba(42,26,8,0.65); }
.author-plate {
  background: linear-gradient(0deg, rgba(245,237,216,0.95) 0%, transparent 100%);
}
.author-plate-name { color: var(--gold); }
.author-plate-role { color: rgba(42,26,8,0.5); }
.author-corner-tl,
.author-corner-br { border-color: var(--gold) !important; }

/* Workshop cards */
.workshops-section { background: #fdf9f2 !important; }
.ws-card {
  background: #fff !important;
  border: 1px solid rgba(196,122,43,0.18);
  box-shadow: 0 2px 16px rgba(196,122,43,0.07);
}
.ws-card:hover {
  box-shadow: 0 20px 60px rgba(196,122,43,0.15), 0 0 0 1px rgba(196,122,43,0.3) !important;
}
.ws-title      { color: var(--deep); }
.ws-instructor { color: rgba(42,26,8,0.45); }
.ws-meta-row   { color: rgba(42,26,8,0.6); }
.ws-seats      { color: rgba(42,26,8,0.38); }
.ws-seats.low  { color: #c0392b; }

/* Reviews */
.reviews-section { background: #fff !important; }
.review-card {
  background: #fdf9f2 !important;
  border: 1px solid rgba(196,122,43,0.15);
}
.review-card:hover { box-shadow: 0 12px 40px rgba(196,122,43,0.12); }
.review-text  { color: rgba(42,26,8,0.72); }
.review-name  { color: var(--deep); }
.review-avatar {
  background: rgba(196,122,43,0.1);
  border-color: rgba(196,122,43,0.2);
  color: var(--gold);
}

/* Newsletter section */
.newsletter-section {
  background: linear-gradient(135deg, #fdf6e8 0%, #fff 50%, #fdf6e8 100%) !important;
  border-top: 1px solid rgba(196,122,43,0.15);
}
.newsletter-section::before {
  background: linear-gradient(90deg, transparent, rgba(196,122,43,0.4), transparent);
}
.nl-form {
  border: 1px solid rgba(196,122,43,0.4) !important;
  box-shadow: 0 0 32px rgba(196,122,43,0.08) !important;
}
.nl-form input {
  background: #fff !important;
  color: var(--deep) !important;
}
.nl-form input::placeholder { color: rgba(42,26,8,0.3) !important; }
.nl-msg { color: var(--gold); }

/* Footer — keep dark, looks great as contrast */
.site-footer { background: #2A1A08 !important; }
.footer-tagline  { color: rgba(245,237,216,0.35) !important; }
.footer-domain   { color: var(--amber) !important; }
.footer-col h4   { color: rgba(245,237,216,0.3) !important; }
.footer-col a    { color: rgba(245,237,216,0.45) !important; }
.footer-col a:hover { color: var(--amber) !important; }
.social-link     { color: rgba(245,237,216,0.42) !important; }
.social-link:hover { color: var(--amber) !important; }
.footer-bottom p { color: rgba(245,237,216,0.2) !important; }
.footer-domain   { opacity: .6; }
.payment-badge   { border-color: rgba(245,237,216,0.12) !important; color: rgba(245,237,216,0.25) !important; }

/* Cart drawer */
.drawer-panel {
  background: #fff !important;
  border-left-color: rgba(196,122,43,0.2) !important;
}
.drawer-header { border-bottom-color: rgba(196,122,43,0.15) !important; }
.drawer-header h3 { color: var(--deep) !important; }
.drawer-close { color: rgba(42,26,8,0.4) !important; }
.drawer-close:hover { color: var(--gold) !important; }
.drawer-body::-webkit-scrollbar-track { background: #faf5ec; }
.drawer-body::-webkit-scrollbar-thumb { background: rgba(196,122,43,0.2); }
.cart-item { border-bottom-color: rgba(196,122,43,0.12) !important; }
.cart-item-title  { color: var(--deep) !important; }
.cart-item-format { color: rgba(42,26,8,0.45) !important; }
.cart-item-price  { color: var(--gold) !important; }
.cart-item-remove { color: rgba(42,26,8,0.3) !important; }
.cart-item-remove:hover { color: #c0392b !important; }
.empty-cart { color: rgba(42,26,8,0.3) !important; }
.drawer-footer  { border-top-color: rgba(196,122,43,0.15) !important; }
.drawer-total   { color: var(--deep) !important; }

/* Checkout & forms */
.checkout-block {
  background: #fff !important;
  border: 1px solid rgba(196,122,43,0.18) !important;
}
.checkout-block h3 {
  color: var(--deep) !important;
  border-bottom-color: rgba(196,122,43,0.12) !important;
}
.order-summary {
  background: #fdf9f2 !important;
  border: 1px solid rgba(196,122,43,0.18) !important;
}
.order-summary h3    { color: var(--deep) !important; }
.summary-item .item-name { color: rgba(42,26,8,0.55) !important; }
.summary-item .item-price { color: var(--deep) !important; }
.summary-divider { background: rgba(196,122,43,0.12) !important; }
.summary-total   { color: var(--deep) !important; }
input, textarea, select {
  background: #fff !important;
  color: var(--deep) !important;
  border-color: rgba(196,122,43,0.22) !important;
}
input::placeholder, textarea::placeholder { color: rgba(42,26,8,0.3) !important; }
.form-label { color: rgba(42,26,8,0.65) !important; }

/* Product page */
.product-title    { color: var(--deep); }
.product-subtitle { color: rgba(42,26,8,0.5); }
.rating-count     { color: rgba(42,26,8,0.4); }
.format-opt { background: #fff; color: rgba(42,26,8,0.55); border-color: rgba(196,122,43,0.18); }
.format-opt:hover,
.format-opt.active { color: var(--gold); border-color: var(--gold); background: rgba(196,122,43,0.05); }
.price-main { color: var(--deep); }
.price-mrp  { color: rgba(42,26,8,0.3); }
.product-meta-row { color: var(--deep); }
.product-meta-key { color: rgba(42,26,8,0.35); }
.product-meta     { border-top-color: rgba(196,122,43,0.12); }
.tab-nav  { border-bottom-color: rgba(196,122,43,0.15); }
.tab-btn  { color: rgba(42,26,8,0.4); }
.tab-btn.active { color: var(--gold); border-bottom-color: var(--gold); }
.tab-content p { color: rgba(42,26,8,0.68); }
.platform-btn  { background: #fdf9f2; color: rgba(42,26,8,0.55); border-color: rgba(196,122,43,0.15); }
.platform-btn:hover { border-color: rgba(196,122,43,0.5); color: var(--gold); }

/* Toasts */
.toast {
  background: #fff !important;
  border-color: rgba(196,122,43,0.2) !important;
  color: var(--deep) !important;
  box-shadow: 0 8px 32px rgba(196,122,43,0.15) !important;
}
.toast.success { border-left-color: var(--gold) !important; }
.toast.error   { border-left-color: #c0392b !important; }

/* Page breadcrumb */
.breadcrumb { color: rgba(42,26,8,0.4); }
.breadcrumb a { color: var(--gold); }

/* Glass card top line stays gold */
.glass-card::before {
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}

/* WS card top line */
.ws-card::before {
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
}

/* Section titles on white */
.section-title { color: var(--deep); }
.section-sub   { color: rgba(42,26,8,0.55); }

/* Pill badges */
.ws-pill.sage { background: rgba(74,103,65,.1); border-color: rgba(74,103,65,.25); color: #3d7a35; }
.ws-pill.gold { background: rgba(196,122,43,.07); border-color: rgba(196,122,43,.25); color: var(--gold); }

/* Badge */
.badge-outline { border-color: rgba(196,122,43,.45); color: var(--gold); }

/* Buy section title color */
.buy-inner .section-title { color: var(--deep); }

/* About / workshops header grid text */
.ws-header-grid .section-sub { color: rgba(42,26,8,0.55); }

/* ── Final light-theme fixes ─────────────────────────────── */

/* Buttons must stay white text on gold background */
.btn-primary,
.btn-primary span,
.btn-primary svg,
.ws-btn,
.nl-form button,
.nav-cta:hover,
.buy-btn {
  color: var(--deep) !important;
}
/* Outline buttons — dark text */
.btn-outline { color: var(--gold) !important; border-color: rgba(196,122,43,.5) !important; }
.btn-outline:hover { color: var(--deep) !important; background: var(--gold) !important; }

/* Hero section light warm gradient */
.hero {
  background: linear-gradient(135deg, #fef9f1 0%, #fffdf8 40%, #fef5e4 100%) !important;
}
/* Hero eyebrow line */
.hero .eyebrow-line { background: var(--gold); }

/* Particle canvas — lighten for white bg */
#bgCanvas { opacity: 0.22 !important; }

/* Book scene stays rendered on white — ensure no dark overlay */
.hero::after { display: none !important; }

/* Section label eyebrow on white */
.section-eyebrow .eyebrow-text { color: var(--gold); }

/* Floating book badges on white bg */
.book-badge {
  background: #fff !important;
  border: 1px solid rgba(196,122,43,.25) !important;
  box-shadow: 0 8px 28px rgba(196,122,43,.15) !important;
}
.badge-lbl { color: var(--gold) !important; }
.badge-val { color: var(--deep) !important; }

/* Glow rings — more visible on white */
.ring { border-color: rgba(196,122,43,.18) !important; }

/* Book shadow on white bg */
.book-shadow { background: radial-gradient(ellipse, rgba(196,122,43,.2) 0%, transparent 70%) !important; }

/* Nav on white — dark text */
.main-nav a { color: rgba(42,26,8,.6) !important; }
.main-nav a:hover { color: var(--gold) !important; }
.logo-text { color: var(--gold) !important; }
.nav-cta { color: var(--gold) !important; border-color: var(--gold) !important; }

/* Scrolled nav */
.site-header.scrolled {
  background: rgba(255,255,255,.96) !important;
  backdrop-filter: blur(16px) !important;
  box-shadow: 0 2px 20px rgba(196,122,43,.1) !important;
}

/* About section left glow */
.about-section::before {
  background: radial-gradient(circle, rgba(196,122,43,.07) 0%, transparent 65%) !important;
}

/* Workshop section header text on light bg */
.ws-header-grid p { color: rgba(42,26,8,.55) !important; }
.ws-mode   { color: var(--gold) !important; }
.ws-price  { color: var(--gold) !important; }

/* Author corner brackets */
.author-corner-tl,
.author-corner-br { border-color: var(--gold) !important; }

/* Section title em italic stays gold */
.section-title em { color: var(--gold) !important; }

/* Author quote */
.author-quote { color: var(--gold) !important; border-left-color: var(--gold) !important; }

/* Order success page */
.order-number-box { background: rgba(196,122,43,.06) !important; border-color: rgba(196,122,43,.18) !important; }

/* Track order + misc pages */
.page-hero { border-bottom-color: rgba(196,122,43,.15) !important; }

/* Admin dashboard unaffected (has its own CSS) */

/* Inline style used for "Also on" label */
span[style*="rgba(245,237,216"] { color: rgba(42,26,8,.35) !important; }

/* Responsive — mobile nav open state on white */
@media (max-width: 768px) {
  /* nav.open handled in MASTER block */
}

/* ══════════════════════════════════════════════════════════════
   COMPREHENSIVE MOBILE + TEXT + CURSOR FIXES
   Covers: responsive nav, text contrast, cursor on touch,
   mobile typography, prelaunch page, all minor details
══════════════════════════════════════════════════════════════ */

/* ── 1. Disable cursor entirely on touch devices ──────────── */
@media (hover: none), (pointer: coarse) {
  .cursor,
  .cursor-ring,
  .cur,
  .cur-ring { display: none !important; }

  /* Restore default cursor for touch */
  *, *::before, *::after { cursor: auto !important; }
  a, button, [role="button"] { cursor: pointer !important; }
}

/* ── 2. Text contrast boost — white bg needs richer darks ─── */
body { color: #1e1106 !important; }

/* Primary readable text — boost from .65 to .8 */
.hero-desc,
.about-body,
.author-bio,
.section-sub,
.ws-meta-row,
.review-text,
.teaser-body,
.tab-content p,
p { color: rgba(30,17,6,0.72) !important; }

/* Secondary/muted text — boost from ~.4 to .55 */
.hero-author,
.ws-instructor,
.stat-lbl,
.format-mrp,
.review-loc,
.rating-count,
.product-subtitle,
.breadcrumb,
.capture-note,
.footer-tagline,
.book-card-author { color: rgba(30,17,6,0.52) !important; }

/* Form labels, small uppercase labels — clearer */
.form-label,
.format-selector label,
.tab-btn,
.product-meta-key { color: rgba(30,17,6,0.55) !important; }

/* Section subtitles */
.section-sub { color: rgba(30,17,6,0.62) !important; }

/* Platform chips */
.platform-chip,
.platform-btn  { color: rgba(30,17,6,0.55) !important; }

/* Cart drawer item text */
.cart-item-format,
.cart-item-remove,
.empty-cart { color: rgba(30,17,6,0.45) !important; }

/* Summary row names */
.summary-item .item-name { color: rgba(30,17,6,0.58) !important; }

/* Eyebrow text — already gold, keep */
.eyebrow-text,
.ey-text,
.section-label { color: var(--gold) !important; }

/* Nav hamburger bars — dark on white */
.nav-toggle span { background: var(--deep) !important; }

/* ── 3. Mobile nav — solid white, no transparency ──────────── */
@media (max-width: 768px) {

  /* Hamburger bars visible on white bg */
  .nav-toggle { display: flex !important; }
  .nav-toggle span { background: #2A1A08 !important; height: 2px; border-radius: 2px; }

  /* Open mobile nav: solid white, not dark/transparent */
  /* nav.open handled in MASTER block */

  /* Nav links inside open mobile menu */
  .main-nav.open li { width: 100%; }
  .main-nav.open a {
    display: flex !important;
    align-items: center !important;
    font-size: 1.5rem !important;
    letter-spacing: .02em !important;
    text-transform: none !important;
    font-family: var(--font-serif) !important;
    font-style: italic !important;
    font-weight: 400 !important;
    color: #1e1106 !important;
    padding: 1.125rem 0 !important;
    border-bottom: 1px solid rgba(196,122,43,0.12) !important;
    transition: color .2s, transform .2s !important;
  }
  .main-nav.open li:last-child a { border-bottom: none !important; }
  .main-nav.open a:hover,
  .main-nav.open a:active {
    color: var(--gold) !important;
    transform: translateX(6px) !important;
  }
  .main-nav.open a::after { display: none !important; }
  /* Gold line accent at top of open nav */
  .main-nav.open::before {
    content: '' !important;
    display: block !important;
    width: 40px !important;
    height: 2px !important;
    background: var(--gold) !important;
    margin-bottom: 1.75rem !important;
    flex-shrink: 0 !important;
  }

  /* Close animation for hamburger when open */
  .nav-toggle.active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .nav-toggle.active span:nth-child(2) { opacity: 0; transform: scaleX(0); }
  .nav-toggle.active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  /* Header always white on mobile */
  .site-header {
    background: rgba(255,255,255,0.97) !important;
    border-bottom: 1px solid rgba(196,122,43,0.12) !important;
    box-shadow: 0 2px 16px rgba(0,0,0,0.05) !important;
    padding: 1rem 1.5rem !important;
  }

  /* nav-cta handled in MASTER NAV */

  /* Mobile hero — single column, tighter spacing */
  .hero {
    grid-template-columns: 1fr !important;
    padding: 6rem 1.5rem 3rem !important;
    gap: 3rem !important;
    min-height: auto !important;
  }
  .hero-content { text-align: center !important; order: 2; }
  .hero-book    { order: 1; }
  .hero-eyebrow,
  .hero-actions { justify-content: center !important; }
  .hero-desc,
  .hero-quote   { margin-left: auto !important; margin-right: auto !important; }

  /* Smaller book on mobile */
  .book-scene   { width: 220px !important; height: 310px !important; }
  .badge-a, .badge-b { display: none !important; }

  /* Stats 2×2 on mobile */
  .stats-grid { grid-template-columns: repeat(2,1fr) !important; gap: 1.25rem !important; }
  .stat-item::after { display: none !important; }
  .stat-num { font-size: 2rem !important; }

  /* Sections: tighter padding on mobile */
  .about-section,
  .buy-section,
  .author-section,
  .workshops-section,
  .reviews-section,
  .newsletter-section { padding: 4rem 0 !important; }

  /* About grid stacks */
  .about-grid { grid-template-columns: 1fr !important; gap: 2rem !important; }

  /* Author photo smaller on mobile */
  .author-grid { grid-template-columns: 1fr !important; gap: 2rem !important; }
  .author-photo-frame { max-height: 320px !important; aspect-ratio: auto !important; }

  /* Buy section format cards stack */
  .formats-row { flex-direction: column !important; align-items: stretch !important; gap: 1rem !important; }
  .format-card  { min-width: auto !important; }
  .format-card.featured { transform: none !important; }

  /* Buy actions stack */
  .buy-actions { flex-direction: column !important; align-items: stretch !important; }
  .buy-actions .btn-primary,
  .buy-actions .btn-outline { justify-content: center !important; }

  /* Workshop cards full width */
  .workshops-grid { grid-template-columns: 1fr !important; }
  .ws-header-grid { grid-template-columns: 1fr !important; gap: 1.5rem !important; }

  /* Reviews 1 col */
  .reviews-grid { grid-template-columns: 1fr !important; }

  /* Newsletter form stacks */
  .nl-form {
    flex-direction: column !important;
    border: none !important;
    gap: .75rem !important;
    box-shadow: none !important;
  }
  .nl-form input,
  .nl-form button {
    border-radius: 4px !important;
    border: 1.5px solid rgba(196,122,43,0.4) !important;
    width: 100% !important;
    padding: .95rem 1.25rem !important;
  }
  .nl-form input { font-size: 1rem !important; }

  /* Footer stacks */
  .footer-inner { grid-template-columns: 1fr !important; gap: 2rem !important; }
  .footer-links { grid-template-columns: 1fr 1fr !important; }

  /* Form rows stack */
  .form-row { grid-template-columns: 1fr !important; }

  /* Checkout layout stack */
  .checkout-layout { grid-template-columns: 1fr !important; }
  .order-summary { position: static !important; }

  /* Product page stack */
  .product-layout { grid-template-columns: 1fr !important; }
  .product-cover  { position: static !important; }

  /* Container padding */
  .container { padding: 0 1.25rem !important; }
}

/* ── 4. Tablet adjustments (769px–1024px) ──────────────────── */
@media (min-width: 769px) and (max-width: 1024px) {
  .hero { padding: 8rem 3rem 4rem !important; gap: 3rem !important; }
  .stats-grid { grid-template-columns: repeat(2,1fr) !important; }
  .about-grid { grid-template-columns: 1fr !important; gap: 3rem !important; }
  .author-grid { grid-template-columns: 1fr 1fr !important; gap: 3rem !important; }
  .footer-inner { grid-template-columns: 1fr 1fr !important; gap: 2rem !important; }
  .footer-links { grid-template-columns: repeat(2,1fr) !important; }
  .formats-row { gap: 1rem !important; }
}

/* ── 5. Prelaunch page — mobile nav & responsiveness ────────── */
@media (max-width: 640px) {

  /* Topbar */
  .topbar { padding: 1rem 1.25rem !important; }
  .topbar.solid { padding: .875rem 1.25rem !important; }
  .topbar-logo img { height: 32px !important; }
  .topbar-logo-text { font-size: .6rem !important; }
  .topbar-social a { font-size: .6rem !important; padding: .3rem .5rem !important; }

  /* Hero prelaunch */
  .hero {
    grid-template-columns: 1fr !important;
    padding: 5.5rem 1.25rem 3rem !important;
    gap: 2.5rem !important;
    min-height: auto !important;
  }
  .hero-left { text-align: center !important; }
  .hero-title { font-size: 2.75rem !important; }
  .hero-hook  { font-size: 1rem !important; text-align: left !important; }
  .hero-sub   { font-size: .9rem !important; }
  .coming-pill { font-size: .58rem !important; }
  .capture-row { flex-direction: column !important; border-radius: 4px !important; border: none !important; gap: .625rem !important; }
  .capture-input { border: 1.5px solid rgba(196,122,43,.4) !important; border-radius: 4px !important; padding: .875rem 1.125rem !important; font-size: 1rem !important; }
  .capture-btn { border-radius: 4px !important; padding: .875rem 1.125rem !important; font-size: .75rem !important; }
  .hero-eyebrow { justify-content: center !important; }

  /* Book frame smaller */
  .book-frame { width: 240px !important; height: 340px !important; }
  .book-frame::before,
  .book-frame::after,
  .ring-extra,
  .f-badge { display: none !important; }

  /* Countdown */
  .countdown-section { padding: 3.5rem 1.25rem !important; }
  .countdown-grid { gap: .75rem !important; }
  .cd-block { min-width: 68px !important; padding: 1rem .875rem !important; }
  .cd-num { font-size: 2rem !important; }
  .cd-sep { font-size: 1.75rem !important; margin-top: .75rem !important; }
  .countdown-title { font-size: 1.1rem !important; }

  /* Teaser */
  .teaser-section { padding: 3.5rem 1.25rem !important; }
  .teaser-grid { grid-template-columns: 1fr !important; gap: 2.5rem !important; }
  .teaser-title { font-size: 1.625rem !important; }
  .teaser-point { padding: .875rem 1rem !important; }
  .tp-text { font-size: .875rem !important; }
  .back-wrap { transform: none !important; }

  /* Author strip */
  .author-strip { padding: 3.5rem 1.25rem !important; }
  .author-strip-inner { flex-direction: column !important; text-align: center !important; gap: 1.25rem !important; }
  .author-strip-photo { margin: 0 auto !important; }

  /* CTA strip */
  .cta-strip { padding: 4rem 1.25rem !important; }
  .cta-title { font-size: 1.875rem !important; }
  .cta-sub { font-size: .9rem !important; }
  .cta-form-row { flex-direction: column !important; border: none !important; gap: .625rem !important; }
  .cta-form-input,
  .cta-form-btn { border: 1.5px solid rgba(196,122,43,.45) !important; border-radius: 4px !important; width: 100% !important; padding: .925rem 1.25rem !important; }
  .cta-social { gap: .75rem !important; }
  .cta-social a { font-size: .68rem !important; padding: .45rem .875rem !important; }

  /* Footer prelaunch */
  .prelaunch-footer { padding: 1.5rem 1.25rem !important; flex-direction: column !important; gap: .5rem !important; text-align: center !important; }
}

/* ── 6. Fine-tune text on white — final contrast pass ───────── */

/* Headings — richest dark brown */
h1, h2, h3, h4, h5, h6,
.hero-title,
.section-title,
.ws-title,
.review-name,
.checkout-block h3,
.order-summary h3,
.product-title,
.drawer-header h3 { color: #1e1106 !important; }

/* Gold always stays gold */
.hero-quote,
.author-quote,
.glass-card-title,
.key-list li::before,
.stat-num,
.ws-price,
.format-price,
.eyebrow-text,
.ey-text,
.section-eyebrow .eyebrow-text,
.badge-lbl,
.spine-text,
.coming-pill { color: var(--gold) !important; }

/* Medium text — good readable weight */
.hero-desc { color: #3d2a14 !important; font-weight: 400 !important; }
.about-body { color: #3a2510 !important; }
.author-bio { color: #3a2510 !important; }
.teaser-body { color: #3a2510 !important; }
.section-sub { color: #4a3520 !important; }
.review-text { color: #3a2510 !important; }
.tab-content p { color: #3a2510 !important; }
.ws-meta-row { color: #4a3520 !important; }
.asp-bio { color: #4a3520 !important; }
.hero-sub { color: #3d2a14 !important; }
.tp-text { color: #3a2510 !important; }

/* Muted/secondary — still readable, not washed out */
.ws-instructor { color: #7a5a38 !important; }
.hero-author   { color: #7a5a38 !important; }
.stat-lbl      { color: #7a5a38 !important; }
.format-mrp    { color: #9a7a58 !important; }
.rating-count  { color: #7a5a38 !important; }
.platform-chip { color: #5a3c1c !important; }
.capture-note  { color: #7a5a38 !important; }
.product-meta-key { color: #7a5a38 !important; }
.review-loc    { color: #7a5a38 !important; }
.breadcrumb    { color: #7a5a38 !important; }

/* ── 7. Buttons — always clear text ──────────────────────── */
.btn-primary,
.btn-primary span,
.btn-primary svg,
.ws-btn,
.capture-btn span,
.cta-form-btn,
.nl-form button { color: #fff !important; }

/* Outline buttons — clear gold */
.btn-outline { color: var(--gold) !important; }
.btn-outline:hover { color: #fff !important; }

/* Nav CTA clear */
.nav-cta { color: var(--gold) !important; }
.nav-cta:hover { color: var(--deep) !important; }

/* ── 8. Prelaunch text contrast ─────────────────────────── */
.hero-hook { color: #3a2510 !important; }
.hero-sub  { color: #4a3520 !important; }
.back-reveal-label { color: var(--gold) !important; }
.fb-value  { color: #1e1106 !important; }
.cd-num    { color: #1e1106 !important; }
.asp-name  { color: #1e1106 !important; }
.asp-label { color: var(--gold) !important; }

/* ── 9. Smooth scrollbar on WebKit ─────────────────────── */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #fdf9f2; }
::-webkit-scrollbar-thumb { background: rgba(196,122,43,.3); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: rgba(196,122,43,.55); }

/* ── 10. Focus states — accessible on white ─────────────── */
a:focus-visible,
button:focus-visible,
input:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; border-radius: 3px; }

/* ── 11. Selection colour ─────────────────────────────── */
::selection { background: rgba(196,122,43,.2); color: #1e1106; }

/* ══════════════════════════════════════════════════════════════
   WORKSHOPS HIGHLIGHT — Homepage featured section fixes
══════════════════════════════════════════════════════════════ */

/* Workshops section warm gradient bg override */
.workshops-section {
  background: linear-gradient(180deg, #fff 0%, #fdf6e8 40%, #fdf0d8 70%, #fdf6e8 100%) !important;
}

/* Workshop cards on homepage — white with gold border */
.workshops-section .ws-card,
#workshops .ws-card {
  background: #fff !important;
  border-color: rgba(196,122,43,.22) !important;
}

/* The new inline-styled workshop cards hover already handled in PHP,
   but ensure the grid looks right on all screens */
.workshops-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(310px, 1fr));
  gap: 1.75rem;
  align-items: start; /* top-align so featured card pops */
}

/* Seats progress bar animation trigger */
@keyframes fillBar {
  from { width: 0; }
}

/* Mobile: workshop cards full width, no transform offset */
@media (max-width: 768px) {
  .workshops-grid {
    grid-template-columns: 1fr !important;
    gap: 1.25rem !important;
  }
  /* Remove the featured card translateY on mobile */
  #workshops [style*="translateY(-6px)"],
  .workshops-section [style*="translateY(-6px)"] {
    transform: none !important;
  }
  /* Workshop stats strip wraps nicely */
  #workshops [style*="display:flex;align-items:center;justify-content:center;gap:2.5rem"] {
    gap: 1.5rem !important;
  }
  /* Card header slightly tighter */
  #workshops [style*="padding: 1.75rem 1.75rem 1.5rem"] {
    padding: 1.375rem 1.25rem 1.25rem !important;
  }
  /* Card body tighter */
  #workshops [style*="padding:1.5rem 1.75rem"] {
    padding: 1.25rem !important;
  }
  /* Workshop section title smaller */
  #workshops h2 {
    font-size: 2rem !important;
  }
  /* Bottom CTA stack */
  #workshops [style*="display:flex;align-items:center;justify-content:center;gap:1rem"] {
    flex-direction: column !important;
    width: 100% !important;
  }
  #workshops .btn-primary,
  #workshops .btn-outline {
    width: 100% !important;
    justify-content: center !important;
  }
  /* Workshop section padding */
  #workshops {
    padding: 4.5rem 0 !important;
  }
}

@media (max-width: 480px) {
  .workshops-grid { gap: 1rem !important; }
  #workshops [style*="font-size:clamp(2.25rem,5vw,4rem)"] {
    font-size: 1.875rem !important;
  }
}

/* ══════════════════════════════════════════════════════════════
   MASTER NAV SYSTEM — Single source of truth
   Fixes: z-index wars, touch blocking, scroll-then-click,
          no outside-tap-to-close, cursor interference
══════════════════════════════════════════════════════════════ */

/* ── Header z-index hierarchy ─────────────────────────────────
   Canvas/noise:   z-index 0–1
   Page content:   z-index 2
   Header:         z-index 500   (always on top)
   Nav overlay:    z-index 490   (below header so X button shows)
   Nav backdrop:   z-index 489
*/
.site-header {
  position: fixed !important;
  top: 0 !important; left: 0 !important; right: 0 !important;
  z-index: 500 !important;
  background: rgba(255,255,255,0.97) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border-bottom: 1px solid rgba(196,122,43,0.12) !important;
  box-shadow: 0 2px 16px rgba(196,122,43,0.08) !important;
  padding: 1rem 2rem !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  transition: box-shadow 0.3s ease !important;
  /* Kill any transition that could delay header appearance */
  animation: none !important;
}
/* Scrolled — slightly stronger shadow, same z-index */
.site-header.scrolled {
  box-shadow: 0 3px 24px rgba(196,122,43,0.14) !important;
  z-index: 500 !important;
}

/* ── Nav toggle button ────────────────────────────────────────
   Always visible on mobile, clearly above everything
*/
.nav-toggle {
  display: none;
  flex-direction: column;
  gap: 6px;
  background: none !important;
  border: none !important;
  padding: 6px !important;
  margin: -6px !important; /* extend tap area */
  border-radius: 4px;
  cursor: pointer !important;
  z-index: 501 !important; /* always above header */
  position: relative;
  transition: background 0.2s;
}
.nav-toggle:hover { background: rgba(196,122,43,0.08) !important; }
.nav-toggle span {
  display: block !important;
  height: 2px !important;
  background: #2A1A08 !important;
  border-radius: 2px !important;
  transition: transform 0.3s ease, opacity 0.3s ease, width 0.3s ease !important;
  transform-origin: center !important;
}
.nav-toggle span:nth-child(1) { width: 24px; }
.nav-toggle span:nth-child(2) { width: 18px; }
.nav-toggle span:nth-child(3) { width: 24px; }

/* Hamburger → X animation */
.nav-toggle.active span:nth-child(1) {
  transform: translateY(8px) rotate(45deg) !important;
  width: 24px !important;
}
.nav-toggle.active span:nth-child(2) {
  opacity: 0 !important;
  transform: scaleX(0) !important;
}
.nav-toggle.active span:nth-child(3) {
  transform: translateY(-8px) rotate(-45deg) !important;
  width: 24px !important;
}

/* ── Nav backdrop overlay ─────────────────────────────────────
   Tap this to close the nav — this is the missing piece!
*/
.nav-backdrop {
  display: none;
  position: fixed !important;
  inset: 0 !important;
  background: rgba(30,17,6,0.4) !important;
  z-index: 489 !important;
  cursor: pointer !important; /* shows it's tappable */
  -webkit-tap-highlight-color: transparent;
}
.nav-backdrop.visible {
  display: block !important;
}

/* ── Mobile nav panel ─────────────────────────────────────────
   Full-screen overlay, slides in from top
*/
@media (max-width: 768px) {

  /* Hide desktop nav */
  .main-nav { display: none !important; }

  /* Show hamburger */
  .nav-toggle { display: flex !important; }

  /* Hide nav CTA on mobile */
  .nav-cta { display: none !important; }

  /* Nav panel — starts hidden off-screen, slides in */
  .main-nav.open {
    display: flex !important;
    flex-direction: column !important;
    list-style: none !important;

    /* Full screen panel */
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;

    /* Above backdrop, below header */
    z-index: 490 !important;

    /* White solid background — NO transparency */
    background: #ffffff !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;

    /* Content pushed below fixed header */
    padding: 5.5rem 2rem 2rem !important;
    gap: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;

    /* No box-shadow needed — backdrop handles it */
    box-shadow: none !important;

    /* Slide in from top */
    transform: translateY(-100%) !important;
    transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;

    /* CRITICAL: pointer events must be ON */
    pointer-events: all !important;
  }

  /* Open state — slide into view */
  .main-nav.open.visible {
    transform: translateY(0) !important;
  }

  /* Gold accent line at top of menu content */
  .main-nav.open::before {
    content: '' !important;
    display: block !important;
    width: 36px !important;
    height: 2px !important;
    background: var(--gold) !important;
    margin-bottom: 2rem !important;
    flex-shrink: 0 !important;
  }

  /* Nav list items */
  .main-nav.open li {
    width: 100% !important;
    border-bottom: 1px solid rgba(196,122,43,0.1) !important;
  }
  .main-nav.open li:last-child {
    border-bottom: none !important;
  }

  /* Nav links — large, clear, tappable */
  .main-nav.open a {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    padding: 1.125rem 0 !important;
    font-family: var(--font-serif) !important;
    font-style: italic !important;
    font-size: 1.625rem !important;
    font-weight: 400 !important;
    letter-spacing: 0.02em !important;
    text-transform: none !important;
    color: #1e1106 !important;
    text-decoration: none !important;
    transition: color 0.2s ease, transform 0.2s ease !important;
    /* Large tap target */
    min-height: 56px !important;
    -webkit-tap-highlight-color: rgba(196,122,43,0.12) !important;
  }
  .main-nav.open a:hover,
  .main-nav.open a:active {
    color: var(--gold) !important;
    transform: translateX(8px) !important;
  }
  .main-nav.open a::after {
    display: none !important;
  }

  /* Mobile header — condensed */
  .site-header {
    padding: 0.875rem 1.25rem !important;
  }
  .logo-img { height: 36px !important; }
  .logo-text { font-size: 0.62rem !important; }
}

/* ── Desktop nav — restore normal behaviour above 768px ──── */
@media (min-width: 769px) {
  .main-nav {
    display: flex !important;
    position: static !important;
    transform: none !important;
    background: transparent !important;
    padding: 0 !important;
    gap: 2.25rem !important;
    flex-direction: row !important;
    overflow: visible !important;
    pointer-events: all !important;
  }
  .main-nav li { border-bottom: none !important; }
  .main-nav a {
    font-family: var(--font-body) !important;
    font-style: normal !important;
    font-size: 0.67rem !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: rgba(42,26,8,0.6) !important;
    padding: 0 0 3px !important;
    min-height: auto !important;
  }
  .main-nav a:hover { color: var(--gold) !important; }
  .nav-toggle { display: none !important; }
  .nav-backdrop { display: none !important; }
  .nav-cta { display: inline-flex !important; }
}

/* ── Kill cursor:none interference on all nav elements ──────
   cursor:none !important on * is the #1 cause of tap failures
   on iOS Safari — override it on interactive nav elements
*/
.nav-toggle,
.nav-backdrop,
.main-nav a,
.main-nav li,
.site-header a,
.site-header button {
  cursor: pointer !important;
}


/* ══════════════════════════════════════════════════════════════
   CRITICAL MOBILE FIXES (Zoom & Menu Shadow)
══════════════════════════════════════════════════════════════ */

/* 1. Fix the "Zoomed In" / Horizontal Scrolling Issue */
body {
  overflow-x: hidden !important;
  width: 100%;
  position: relative;
}
.site-wrap {
  overflow-x: hidden !important;
  width: 100%;
}
.hero {
  overflow: hidden !important; /* Contains the glowing rings */
}

@media (max-width: 768px) {
  /* Make the 3D book scale smoothly on narrow screens */
  .book-scene {
    width: 65vw !important;
    max-width: 220px !important;
    height: auto !important;
    aspect-ratio: 300 / 420 !important;
  }
  
  /* Prevent large text from pushing margins */
  .hero-title {
    font-size: clamp(2rem, 10vw, 2.75rem) !important;
  }

  /* 2. Fix the "Black Shadow" Screen */
  /* Since the mobile menu is full-screen, the dark backdrop is useless. Hiding it removes the dark glitch completely. */
  #navBackdrop, .nav-backdrop {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  /* 3. Bulletproof the Full-Screen Menu Stacking */
  .site-header, .site-header.scrolled {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background: rgba(255, 255, 255, 0.98) !important;
    z-index: 10000 !important; /* Forces header to the very top */
  }

  .main-nav.open {
    position: fixed !important;
    height: 100vh !important;
    height: 100dvh !important; /* Fits perfectly to dynamic mobile screens */
    width: 100vw !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    background: #ffffff !important;
    z-index: 9999 !important; /* Keeps the menu safely under the header */
    padding: 5.5rem 2rem 2rem !important; /* Keeps links from hiding under the logo */
  }
  
  .nav-toggle {
    z-index: 10001 !important; /* Forces the 'X' close button above absolutely everything */
  }
}

/* ══════════════════════════════════════════════════════════════
   ACTIVE NAVIGATION TAB STYLING
══════════════════════════════════════════════════════════════ */

/* Desktop Active State: Stays gold with full underline */
.main-nav a.active {
    color: var(--gold) !important;
}
.main-nav a.active::after {
    width: 100% !important;
}

/* Mobile Active State: Stays gold and pushed slightly to the right */
@media (max-width: 768px) {
    .main-nav.open a.active {
        color: var(--gold) !important;
        transform: translateX(8px) !important;
    }
}

/* ══════════════════════════════════════════════════════════════
   COOKIE / CACHE CONSENT BANNER
══════════════════════════════════════════════════════════════ */
.cookie-banner {
  position: fixed;
  bottom: -100%; /* Hides it off-screen initially */
  left: 0;
  right: 0;
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-top: 1px solid rgba(196,122,43,0.2);
  box-shadow: 0 -10px 40px rgba(0,0,0,0.08);
  z-index: 100000; /* Stays above absolutely everything */
  padding: 1.5rem 2rem;
  transition: bottom 0.6s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  justify-content: center;
}

.cookie-banner.show {
  bottom: 0; /* Slides it up into view */
}

.cookie-content {
  max-width: 1200px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

.cookie-text {
  font-size: 0.85rem;
  color: rgba(30,17,6,0.72);
  line-height: 1.6;
  margin: 0;
}

.cookie-text strong {
  color: var(--deep);
  font-weight: 600;
}

.cookie-actions {
  display: flex;
  gap: 1rem;
  flex-shrink: 0;
}

/* Mobile Adjustments */
@media (max-width: 768px) {
  .cookie-banner {
    padding: 1.5rem;
  }
  .cookie-content {
    flex-direction: column;
    text-align: center;
    gap: 1.25rem;
  }
  .cookie-actions {
    width: 100%;
    flex-direction: column;
    gap: 0.75rem;
  }
  .cookie-actions button {
    width: 100%;
    justify-content: center;
  }
}