:root{
  --bg:#07070b; --bg-soft:#0e0e16; --card:#121219;
  --text:#f6f5f9; --muted:#9b98a8; --line:rgba(246,245,249,.09);
  --violet:#8b5cf6; --pink:#f472b6; --cyan:#22d3ee; --lime:#d7ff3f;
  --grad:linear-gradient(115deg,var(--violet),var(--pink) 55%,var(--cyan));
  --nav-bg:rgba(7,7,11,.72); --menu-bg:rgba(7,7,11,.98); --glow:rgba(139,92,246,.14);
  --blob-op:.55;
}
[data-theme="light"]{
  --bg:#f6efe0; --bg-soft:#ece0c4; --card:#fffaf2;
  --text:#241f1a; --muted:#77694f; --line:rgba(36,31,26,.14);
  --violet:#6d43e0; --pink:#c5447e; --cyan:#0e7d7d; --lime:#7a8a1a;
  --nav-bg:rgba(246,239,224,.78); --menu-bg:rgba(246,239,224,.97); --glow:rgba(109,67,224,.10);
  --blob-op:.28;
}
html{transition:background-color .4s ease;}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Space Grotesk',sans-serif; background:var(--bg); color:var(--text);
  line-height:1.65; overflow-x:hidden; transition:background-color .4s ease, color .4s ease;
}
a{color:inherit; text-decoration:none; touch-action:manipulation;}
::selection{background:var(--lime); color:#0a0a0f;}
:focus-visible{outline:2px solid var(--lime); outline-offset:3px;}
.container{width:min(1120px,92%); margin:auto;}
.mono{font-family:'JetBrains Mono',monospace;}
.disp{font-family:'Unbounded',sans-serif;}

/* scroll progress */
.progress{position:fixed; top:0; left:0; height:3px; width:0%; background:var(--grad); z-index:200; transition:width .1s linear;}

/* cursor glow (desktop only, respects reduced motion) */
.cursor-glow{
  position:fixed; width:420px; height:420px; border-radius:50%; pointer-events:none; z-index:1;
  background:radial-gradient(circle,var(--glow),transparent 70%);
  transform:translate(-50%,-50%); transition:opacity .3s; opacity:0; left:0; top:0;
}
@media(hover:hover) and (pointer:fine){ .cursor-glow{opacity:1;} }

/* nav */
nav.top{position:sticky; top:0; z-index:100; background:var(--nav-bg); backdrop-filter:blur(16px); border-bottom:1px solid var(--line); transition:background-color .4s ease, border-color .4s ease;}
.navrow{height:72px; display:flex; align-items:center; justify-content:space-between;}
.nav-group{display:flex; align-items:center; gap:28px;}
.nav-right{display:flex; align-items:center; gap:10px;}
.logo{font-family:'Unbounded',sans-serif; font-weight:700; font-size:1.1rem;}
.logo span{background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent;}
.navlinks{display:flex; gap:22px; font-size:.86rem; color:var(--muted); font-family:'JetBrains Mono',monospace;}
.navlinks a{position:relative; transition:color .25s;}
.navlinks a.active{color:var(--text);}
.navlinks a::after{content:''; position:absolute; left:0; bottom:-6px; width:0; height:1px; background:var(--lime); transition:width .25s;}
.navlinks a:hover{color:var(--text);}
.navlinks a:hover::after, .navlinks a.active::after{width:100%;}
.theme-toggle{
  width:40px; height:40px; border-radius:50%; border:1px solid var(--line); background:var(--card);
  display:flex; align-items:center; justify-content:center; font-size:1rem; cursor:pointer; flex-shrink:0;
  transition:transform .35s, background-color .3s, border-color .3s;
}
.theme-toggle:hover{transform:rotate(18deg) scale(1.08); border-color:var(--cyan);}
.burger{display:none; flex-direction:column; gap:5px; background:none; border:0; padding:12px; cursor:pointer; z-index:110; touch-action:manipulation;}
.burger span{display:block; width:22px; height:2px; background:var(--text); transition:transform .3s, opacity .3s, background-color .3s;}
.burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.burger.open span:nth-child(2){opacity:0;}
.burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
.mobile-menu{
  position:fixed; inset:72px 0 0 0; background:var(--menu-bg); backdrop-filter:blur(18px);
  z-index:99; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:26px;
  transform:translateY(-12px); opacity:0; pointer-events:none; transition:opacity .3s, transform .3s, background-color .4s ease;
}
.mobile-menu.open{opacity:1; transform:translateY(0); pointer-events:auto;}
.mobile-menu a{font-family:'Unbounded',sans-serif; font-size:1.3rem; color:var(--text);}
@media(max-width:760px){
  .navlinks{display:none;}
  .nav-support-btn{display:none;}
  .burger{display:flex;}
  .mobile-menu{inset:64px 0 0 0;}
}
@media(min-width:761px){ .mobile-menu{display:none;} }

/* hero */
.hero{position:relative; min-height:calc(100vh - 72px); display:flex; align-items:center; padding:90px 0 70px; overflow:hidden;}
.hero.page-hero{min-height:auto; padding:120px 0 60px;}
.blob{position:absolute; border-radius:50%; filter:blur(90px); opacity:var(--blob-op); z-index:0; will-change:transform; transition:opacity .4s ease;}
.blob1{width:480px; height:480px; background:var(--violet); top:-160px; left:-120px; animation:float1 16s ease-in-out infinite;}
.blob2{width:420px; height:420px; background:var(--cyan); bottom:-140px; right:-100px; animation:float2 18s ease-in-out infinite;}
.blob3{width:300px; height:300px; background:var(--pink); top:40%; left:55%; animation:float3 20s ease-in-out infinite;}
@keyframes float1{0%,100%{transform:translate(0,0) scale(1);} 50%{transform:translate(60px,40px) scale(1.12);}}
@keyframes float2{0%,100%{transform:translate(0,0) scale(1);} 50%{transform:translate(-50px,-30px) scale(1.08);}}
@keyframes float3{0%,100%{transform:translate(0,0) scale(1);} 50%{transform:translate(-40px,50px) scale(1.15);}}

.hero-inner{position:relative; z-index:2;}
.pill-row{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:26px;}
.pill{
  font-family:'JetBrains Mono',monospace; font-size:.74rem; letter-spacing:.04em;
  padding:7px 14px; border-radius:999px; border:1px solid var(--line); color:var(--muted);
  display:flex; align-items:center; gap:7px; background:rgba(255,255,255,.02);
}
.pill .dot{width:6px; height:6px; border-radius:50%; background:var(--lime); box-shadow:0 0 8px var(--lime);}

h1.hero-title{
  font-family:'Unbounded',sans-serif; font-weight:900; letter-spacing:-.02em;
  font-size:clamp(2.8rem,9vw,6.6rem); line-height:.98; margin:0 0 26px;
}
h1.hero-title .grad{background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent;}
.letter{display:inline-block; opacity:0; transform:translateY(40px) rotate(4deg); animation:letterIn .7s cubic-bezier(.2,.8,.2,1) forwards;}
.letter.space{width:.28em;}
@keyframes letterIn{to{opacity:1; transform:translateY(0) rotate(0);}}

.page-title{
  font-family:'Unbounded',sans-serif; font-weight:800; letter-spacing:-.02em;
  font-size:clamp(2.2rem,6vw,3.6rem); line-height:1.05; margin:0 0 22px;
}

.hero p.lede{max-width:600px; color:var(--muted); font-size:1.12rem; margin-bottom:34px;}
.buttons{display:flex; gap:14px; flex-wrap:wrap;}
.btn{
  position:relative; display:inline-flex; align-items:center; gap:8px;
  padding:14px 26px; border-radius:999px; font-weight:600; font-size:.92rem;
  border:1px solid var(--line); background:var(--card); color:var(--text);
  overflow:hidden; isolation:isolate; cursor:pointer;
  transition:transform .25s, border-color .25s, background-color .25s, color .25s, box-shadow .25s;
}
.btn::before{
  content:''; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(120deg, transparent, rgba(255,255,255,.35), transparent);
  transform:translateX(-130%) skewX(-20deg); transition:transform .65s ease;
}
.btn:hover::before{transform:translateX(130%) skewX(-20deg);}
.btn:hover{transform:translateY(-3px); border-color:var(--cyan); box-shadow:0 14px 26px -16px rgba(139,92,246,.5);}
.btn .arrow{display:inline-block; transition:transform .25s;}
.btn:hover .arrow{transform:translateX(4px);}
.btn.primary{background:var(--grad); color:#0a0a0f; border-color:transparent; font-weight:700; box-shadow:0 10px 30px -14px rgba(139,92,246,.6);}
.btn.primary:hover{transform:translateY(-3px) scale(1.03); box-shadow:0 16px 36px -14px rgba(139,92,246,.7);}
.btn.ghost{
  background-image:linear-gradient(var(--card),var(--card)), var(--grad);
  background-origin:border-box; background-clip:padding-box, border-box;
  border:1.5px solid transparent;
}

/* marquee ticker */
.ticker-wrap{border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--bg-soft); overflow:hidden; padding:16px 0;}
.ticker{display:flex; width:max-content; gap:48px; animation:scrollX 26s linear infinite;}
.ticker-wrap:hover .ticker{animation-play-state:paused;}
.ticker span{font-family:'JetBrains Mono',monospace; font-size:.85rem; color:var(--muted); white-space:nowrap; display:flex; align-items:center; gap:10px;}
.ticker span::before{content:'◆'; color:var(--cyan); font-size:.6rem;}
@keyframes scrollX{from{transform:translateX(0);} to{transform:translateX(-50%);}}

/* sections */
section{padding:100px 0; border-top:1px solid var(--line); position:relative; transition:border-color .4s ease;}
.eyebrow{font-family:'JetBrains Mono',monospace; color:var(--cyan); font-weight:600; letter-spacing:.1em; text-transform:uppercase; font-size:.78rem;}
.section-title{font-family:'Unbounded',sans-serif; font-size:clamp(1.8rem,4vw,2.7rem); letter-spacing:-.02em; margin:14px 0 40px; font-weight:700;}
.section-foot{display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-bottom:40px;}
.section-foot .section-title{margin-bottom:0;}

.reveal{opacity:0; transform:translateY(28px); transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1; transform:translateY(0);}

.about-grid{display:grid; grid-template-columns:1fr 1.35fr; gap:56px;}
.about-grid p{color:var(--muted); font-size:1.03rem; margin-bottom:16px;}
.strengths{display:flex; flex-wrap:wrap; gap:9px;}
.tag{border:1px solid var(--line); padding:8px 13px; border-radius:999px; color:#cfcdd8; font-size:.8rem; font-family:'JetBrains Mono',monospace; transition:.25s;}
[data-theme="light"] .tag{color:#4a4232;}
.tag:hover{border-color:var(--pink); color:var(--pink);}

.grid2{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:18px;}
.grid3{display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:18px;}
@media(min-width:1000px){ .grid3{grid-template-columns:repeat(3,1fr);} }
.card{
  background:var(--card); border:1px solid var(--line); border-radius:20px; padding:28px;
  transition:transform .35s, border-color .35s, box-shadow .35s, background-color .35s; transform-style:preserve-3d; will-change:transform;
}
.card:hover{border-color:rgba(139,92,246,.5); box-shadow:0 20px 50px -20px rgba(139,92,246,.35);}
.card h3{font-family:'Unbounded',sans-serif; font-size:1.05rem; margin-bottom:10px; font-weight:600;}
.card p, .card li{color:var(--muted); font-size:.93rem;}

/* quote strip */
.quote-strip{padding:64px 0; background:var(--bg-soft); border-top:1px solid var(--line); border-bottom:1px solid var(--line); transition:background-color .4s ease, border-color .4s ease;}
.quote-box{max-width:760px; margin:auto; text-align:center;}
.quote-mark{font-family:'Unbounded',sans-serif; font-size:2.4rem; color:var(--violet); line-height:1; margin-bottom:6px; opacity:.7;}
.quote-text{font-family:'Unbounded',sans-serif; font-weight:600; font-size:clamp(1.05rem,2.6vw,1.55rem); line-height:1.5; transition:opacity .5s ease, transform .5s ease;}
.quote-text.fade{opacity:0; transform:translateY(8px);}
.quote-dots{display:flex; gap:8px; justify-content:center; margin-top:22px;}
.quote-dots span{width:6px; height:6px; border-radius:50%; background:var(--line); transition:background-color .3s, transform .3s;}
.quote-dots span.active{background:var(--cyan); transform:scale(1.3);}

/* featured writing / book card */
.book-card{display:flex; gap:40px; align-items:center; flex-wrap:wrap; background:var(--card); border:1px solid var(--line); border-radius:24px; padding:36px; transition:background-color .35s, border-color .35s;}
.book-cover{
  width:200px; height:319px; flex-shrink:0; border-radius:14px; background:var(--bg-soft);
  box-shadow:0 22px 50px -18px rgba(139,92,246,.55); position:relative; overflow:hidden;
}
.book-cover img{width:100%; height:100%; object-fit:cover; display:block;}
.book-info{flex:1; min-width:240px;}
.book-info p{color:var(--muted); font-size:.98rem; line-height:1.75; max-width:560px; margin:14px 0 22px;}

/* uncrossed-paths.html novel header */
.novel-header{display:flex; gap:44px; align-items:flex-start; flex-wrap:wrap;}
.novel-cover{width:220px; height:351px;}
.novel-header-info{flex:1; min-width:280px;}
.novel-stats{display:flex; gap:28px; margin:18px 0 20px; flex-wrap:wrap;}
.novel-stat{display:flex; flex-direction:column;}
.novel-stat-num{font-family:'Unbounded',sans-serif; font-weight:700; font-size:1.4rem;}
.novel-stat-label{color:var(--muted); font-size:.75rem; text-transform:uppercase; letter-spacing:.06em; margin-top:2px;}
.novel-meta-list{display:flex; flex-direction:column; gap:6px; font-size:.85rem; color:var(--muted); margin-bottom:18px;}
.novel-meta-list strong{color:var(--text);}
.novel-tagline{color:var(--muted); font-size:1rem; line-height:1.7; max-width:520px;}
.coming-soon-badge{
  font-size:.62rem; text-transform:uppercase; letter-spacing:.05em; background:var(--bg-soft);
  padding:2px 7px; border-radius:999px; margin-left:6px; font-family:'JetBrains Mono',monospace;
}
@media(max-width:600px){
  .novel-header{flex-direction:column; align-items:center; text-align:center;}
  .novel-cover{margin:0 auto;}
  .novel-stats{justify-content:center;}
  .novel-meta-list{align-items:center;}
}

/* blog cards */
.blog-card{display:flex; flex-direction:column; gap:6px; text-align:left;}
.blog-date{color:var(--cyan); font-size:.72rem; letter-spacing:.06em; text-transform:uppercase;}
.blog-card h3{margin-top:6px;}
.arrow-link{margin-top:6px; color:var(--cyan); font-weight:600; font-size:.85rem;}
.arrow-link::after{content:' →'; transition:margin .2s;}
.blog-card:hover .arrow-link::after{margin-left:6px;}

/* share row */
.share-row{display:flex; gap:8px; margin-top:16px; padding-top:14px; border-top:1px solid var(--line); flex-wrap:wrap; align-items:center;}
.share-btn{
  width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:var(--bg-soft); border:1px solid var(--line); padding:0;
  transition:transform .2s, background-color .25s, color .25s, border-color .25s, box-shadow .25s; cursor:pointer; color:var(--muted);
}
.share-btn svg{width:17px; height:17px; display:block; flex-shrink:0;}
.share-btn:hover{transform:translateY(-2px) scale(1.08);}

/* Brand icons keep their glow visible at rest; hover just intensifies it */
.share-btn.fb{color:#1877f2; border-color:rgba(24,119,242,.35); box-shadow:0 0 10px rgba(24,119,242,.35);}
.share-btn.fb:hover{background:#1877f2; color:#fff; border-color:#1877f2; box-shadow:0 0 18px rgba(24,119,242,.65);}
.share-btn.x{color:var(--text); border-color:rgba(120,120,130,.4); box-shadow:0 0 10px rgba(120,120,130,.35);}
.share-btn.x:hover{background:#000; color:#fff; border-color:#000; box-shadow:0 0 18px rgba(0,0,0,.5);}
.share-btn.wa{color:#25d366; border-color:rgba(37,211,102,.35); box-shadow:0 0 10px rgba(37,211,102,.35);}
.share-btn.wa:hover{background:#25d366; color:#fff; border-color:#25d366; box-shadow:0 0 18px rgba(37,211,102,.65);}
.share-btn.ig{color:#dd2a7b; border-color:rgba(221,42,123,.35); box-shadow:0 0 10px rgba(221,42,123,.3);}
.share-btn.ig:hover{background:linear-gradient(45deg,#f58529,#dd2a7b,#8134af,#515bd4); color:#fff; border-color:transparent; box-shadow:0 0 18px rgba(221,42,123,.55);}

.share-btn.copy-link-text{
  width:auto; height:34px; border-radius:999px; padding:0 14px; gap:7px;
  font-size:.78rem; font-family:'JetBrains Mono',monospace; font-weight:600;
  color:var(--cyan); border-color:rgba(34,211,238,.35); box-shadow:0 0 10px rgba(34,211,238,.25);
}
.share-btn.copy-link-text:hover{background:var(--cyan); color:#0a0a0f; border-color:var(--cyan); box-shadow:0 0 18px rgba(34,211,238,.5);}
.share-btn.copied{background:var(--lime); color:#0a0a0f; border-color:var(--lime); box-shadow:0 0 14px rgba(215,255,63,.5); font-weight:700;}

.timeline{display:flex; flex-direction:column; gap:0;}
.role{position:relative; padding:26px 0 26px 32px; border-left:2px solid var(--line);}
.role::before{content:''; position:absolute; left:-7px; top:30px; width:12px; height:12px; border-radius:50%; background:var(--grad); box-shadow:0 0 0 4px var(--bg), 0 0 16px var(--violet);}
.role .meta{font-family:'JetBrains Mono',monospace; color:var(--lime); font-size:.78rem; font-weight:600; margin-bottom:6px; letter-spacing:.04em;}
.role h3{font-family:'Unbounded',sans-serif; font-size:1.15rem; margin-bottom:10px; font-weight:600;}
.role ul{margin-left:18px; color:var(--muted); font-size:.94rem;}
.role li{margin-bottom:6px;}

.project{position:relative; overflow:hidden; padding-top:30px;}
.project::before{content:''; position:absolute; top:0; left:0; right:0; height:4px; background:var(--grad);}
.project .tag-mini{font-family:'JetBrains Mono',monospace; font-size:.68rem; letter-spacing:.06em; text-transform:uppercase; color:var(--cyan); display:inline-block; margin-bottom:10px;}
.project .num{font-family:'Unbounded',sans-serif; color:transparent; -webkit-text-stroke:1px var(--muted); font-size:1.6rem; font-weight:700; opacity:.5;}
.project h3{margin-top:10px;}
.project a.arrow{margin-top:16px; display:inline-block; color:var(--cyan); font-weight:600; font-size:.86rem;}
.project a.arrow::after{content:' →'; transition:margin .2s;}
.project:hover a.arrow::after{margin-left:6px;}

.creator-card{display:flex; gap:26px; align-items:flex-start; flex-wrap:wrap;}
.play{
  width:58px; height:58px; border-radius:50%; background:var(--grad); flex-shrink:0;
  display:flex; align-items:center; justify-content:center; position:relative;
}
.play::before{content:''; position:absolute; inset:-8px; border-radius:50%; border:1px solid var(--cyan); opacity:.5; animation:pulse 2.4s ease-out infinite;}
.play::after{content:''; border-left:16px solid #0a0a0f; border-top:10px solid transparent; border-bottom:10px solid transparent; margin-left:5px;}
@keyframes pulse{0%{transform:scale(.9); opacity:.6;} 100%{transform:scale(1.5); opacity:0;}}

.contact-split{display:flex; justify-content:space-between; align-items:flex-start; gap:30px; flex-wrap:wrap;}
.big-cta{font-family:'Unbounded',sans-serif; font-size:clamp(1.8rem,4.5vw,3.1rem); font-weight:700; letter-spacing:-.02em; margin-bottom:14px;}
.site-footer{padding:30px 0; border-top:1px solid var(--line);}
.footer-grid{display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;}
.footer-brand{font-family:'Unbounded',sans-serif; font-weight:700; font-size:1rem; flex-shrink:0;}
.footer-brand span{background:var(--grad); -webkit-background-clip:text; background-clip:text; color:transparent;}
.footer-copy{color:var(--muted); font-size:.8rem; font-family:'JetBrains Mono',monospace; text-align:center; flex:1; min-width:220px; margin:0;}
.footer-social{display:flex; gap:8px; justify-content:flex-end; flex-shrink:0;}
.footer-social a{
  width:32px; height:32px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  border:1px solid var(--line); color:var(--muted); background:var(--bg-soft); transition:transform .2s, color .2s, border-color .2s;
}
.footer-social a:hover{color:var(--text); border-color:var(--cyan); transform:translateY(-2px);}
.footer-social svg{width:15px; height:15px; display:block;}
@media(max-width:640px){
  .footer-grid{flex-direction:column; text-align:center;}
  .footer-social{justify-content:center;}
  .footer-copy{order:2;}
  .footer-social{order:3;}
}

/* simple footer CTA band used on about.html */
.cta-band{background:var(--card); border:1px solid var(--line); border-radius:24px; padding:44px; display:flex; align-items:flex-start; justify-content:space-between; gap:32px; flex-wrap:wrap; transition:background-color .35s, border-color .35s;}
.cta-band h2{font-family:'Unbounded',sans-serif; font-weight:700;}
.cta-band-title{margin-bottom:8px;}
.cta-band > div:first-child{flex:1 1 320px;}

/* newsletter */
.newsletter-box{
  background:var(--bg-soft); border:1px solid var(--line); border-radius:20px; padding:26px;
  min-width:260px; flex:1 1 320px; max-width:400px; transition:background-color .35s,border-color .35s;
}
.newsletter-box h3{font-family:'Unbounded',sans-serif; font-size:1.1rem; margin:8px 0 6px; font-weight:600;}
.newsletter-box p{color:var(--muted); font-size:.88rem; margin-bottom:16px;}
.newsletter-form{display:flex; gap:10px; flex-wrap:wrap;}
.newsletter-form input{
  flex:1; min-width:160px; padding:12px 16px; border-radius:999px; border:1px solid var(--line);
  background:var(--card); color:var(--text); font-family:'Space Grotesk',sans-serif; font-size:.9rem;
}
.newsletter-form input:focus-visible{outline:2px solid var(--lime); outline-offset:2px;}
.newsletter-status{margin-top:10px; font-size:.82rem; color:var(--cyan); min-height:1.2em;}


/* modals (blog view, support, payment) */
.modal-overlay{
  position:fixed; inset:0; background:rgba(5,5,10,.6); backdrop-filter:blur(6px);
  display:flex; align-items:center; justify-content:center; padding:24px; z-index:300;
  opacity:0; pointer-events:none; transition:opacity .3s ease;
}
.modal-overlay.open{opacity:1; pointer-events:auto;}
.modal{
  background:var(--card); border:1px solid var(--line); border-radius:24px; padding:36px;
  max-width:640px; width:100%; max-height:86vh; overflow-y:auto; position:relative;
  transform:translateY(16px) scale(.98); transition:transform .3s ease, background-color .35s ease;
}
.modal-overlay.open .modal{transform:translateY(0) scale(1);}
.modal-close{
  position:absolute; top:18px; right:18px; width:34px; height:34px; border-radius:50%;
  border:1px solid var(--line); background:var(--bg-soft); color:var(--text); cursor:pointer; font-size:.9rem;
  transition:transform .2s, border-color .2s;
}
.modal-close:hover{transform:rotate(90deg); border-color:var(--cyan);}

.blog-modal-meta{color:var(--cyan); font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; margin-bottom:10px;}
.blog-modal-title{font-family:'Unbounded',sans-serif; font-size:clamp(1.4rem,3vw,2rem); margin-bottom:20px; font-weight:700; padding-right:30px; line-height:1.15;}
.blog-modal-body p{color:var(--muted); margin-bottom:14px; line-height:1.75; font-size:.98rem;}
.blog-like-row{display:flex; align-items:center; gap:14px; margin:26px 0 18px; flex-wrap:wrap;}
.like-btn{
  display:flex; align-items:center; gap:8px; padding:10px 18px; border-radius:999px;
  border:1px solid var(--line); background:var(--bg-soft); font-family:'JetBrains Mono',monospace; font-weight:600;
  cursor:pointer; transition:transform .2s, border-color .2s, background-color .2s; color:var(--text);
}
.like-btn .heart{filter:grayscale(1); opacity:.55; transition:filter .2s,opacity .2s,transform .2s; display:inline-block;}
.like-btn.liked .heart{filter:grayscale(0); opacity:1; transform:scale(1.2);}
.like-btn:hover{transform:translateY(-2px); border-color:var(--pink);}
.blog-share-block{border-top:1px solid var(--line); padding-top:18px;}
.share-label{color:var(--muted); font-size:.75rem; margin-bottom:10px; text-transform:uppercase; letter-spacing:.06em;}

.support-modal h3, .payment-modal h3{font-family:'Unbounded',sans-serif; font-size:1.25rem; margin-bottom:8px; padding-right:30px; font-weight:700;}
.support-sub{color:var(--muted); font-size:.9rem; margin-bottom:20px;}
.amount-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-bottom:16px;}
.amount-chip{
  padding:12px 0; border-radius:14px; border:1px solid var(--line); background:var(--bg-soft); color:var(--text);
  font-family:'JetBrains Mono',monospace; font-weight:600; cursor:pointer; transition:.2s;
}
.amount-chip.active, .amount-chip:hover{border-color:var(--violet); color:var(--violet);}
.amount-chip.active{background:rgba(139,92,246,.12);}
.custom-amount{display:flex; align-items:center; gap:8px; border:1px solid var(--line); border-radius:14px; padding:10px 16px; background:var(--bg-soft);}
.custom-amount input{flex:1; border:0; background:none; color:var(--text); font-size:.95rem; font-family:'Space Grotesk',sans-serif; width:100%;}
.custom-amount input:focus{outline:none;}
.btn:disabled{opacity:.45; cursor:not-allowed; transform:none !important; box-shadow:none !important;}

.pay-amount{font-size:2.2rem; font-weight:700; text-align:center; margin:14px 0 18px; color:var(--violet);}
.upi-id-row{display:flex; align-items:center; justify-content:center; gap:10px; margin-bottom:20px; flex-wrap:wrap;}
.copy-upi{padding:6px 14px; border-radius:999px; border:1px solid var(--line); background:var(--bg-soft); color:var(--text); cursor:pointer; font-size:.75rem; transition:.2s;}
.copy-upi.copied{background:var(--lime); color:#0a0a0f; border-color:var(--lime);}
.qr-wrap{display:flex; justify-content:center; margin-bottom:14px; min-height:170px; align-items:center;}
.qr-wrap img, .qr-wrap canvas{border-radius:12px; background:#fff; padding:10px;}
.upi-note{text-align:center; color:var(--muted); font-size:.75rem; margin-bottom:20px;}

@media(max-width:480px){
  .modal{padding:26px;}
  .amount-grid{grid-template-columns:repeat(2,1fr);}
}

@media(max-width:760px){
  .about-grid{grid-template-columns:1fr; gap:34px;}
  section{padding:64px 0;}
  .contact-split{display:block;}
  .navrow{height:64px;}
  .mobile-menu{inset:64px 0 0 0;}
  .hero{min-height:auto; padding:56px 0 50px;}
  .hero.page-hero{padding:84px 0 40px;}
  .blob1{width:280px; height:280px; top:-90px; left:-90px;}
  .blob2{width:240px; height:240px; bottom:-80px; right:-70px;}
  .blob3{width:180px; height:180px;}
  h1.hero-title{margin-bottom:18px; white-space:nowrap; font-size:10.2vw; letter-spacing:-.01em;}
  .letter.space{width:.22em;}
  .page-title{font-size:2.2rem;}
  .hero p.lede{font-size:1rem;}
  .buttons{flex-direction:column; align-items:stretch;}
  .buttons .btn{justify-content:center;}
  .pill-row .pill{font-size:.68rem; padding:6px 11px;}
  .ticker{gap:28px;}
  .ticker span{font-size:.76rem;}
  .grid2, .grid3{grid-template-columns:1fr; gap:14px;}
  .card{padding:22px;}
  .role{padding-left:24px;}
  .big-cta{margin-bottom:16px;}
  /* footer stacking handled by .footer-grid rules above */
  .quote-strip{padding:48px 0;}
  .quote-mark{font-size:1.8rem;}
  .book-card{flex-direction:column; text-align:center; padding:26px;}
  .book-cover{margin:auto;}
  .book-info p{margin-left:auto; margin-right:auto;}
  .share-row{justify-content:flex-start;}
  .cta-band{flex-direction:column; text-align:center; padding:30px;}
  .section-foot{flex-direction:column; align-items:flex-start; gap:14px;}
}
@media(max-width:400px){
  h1.hero-title{font-size:9.6vw;}
  .section-title{font-size:1.5rem;}
}
/* gallery — animated collage posts */
.gallery-posts{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:24px;}
.collage-card{background:var(--card); border:1px solid var(--line); border-radius:20px; padding:14px; margin:0; transition:transform .3s, box-shadow .3s, border-color .3s, background-color .3s;}
.collage-card:hover{transform:translateY(-4px); box-shadow:0 20px 45px -22px rgba(139,92,246,.4); border-color:rgba(139,92,246,.35);}
.collage{position:relative; width:100%; aspect-ratio:1/1; border-radius:14px; overflow:hidden; background:var(--bg-soft);}
.collage img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:0; animation-timing-function:ease-in-out; animation-iteration-count:infinite;
}
.collage-card:hover .collage img{animation-play-state:paused;}
.collage-4 img{animation-name:collageFade4; animation-duration:16s;}
.collage-3 img{animation-name:collageFade3; animation-duration:12s;}
.collage-6 img{animation-name:collageFade6; animation-duration:24s;}
.collage-1 img{position:static; opacity:1; animation:none;}
@keyframes collageFade6{
  0%{opacity:0; transform:scale(1.03);}
  4%{opacity:1; transform:scale(1.03);}
  12.6%{opacity:1; transform:scale(1.08);}
  16.6%{opacity:0; transform:scale(1.08);}
  100%{opacity:0;}
}
@keyframes collageFade4{
  0%{opacity:0; transform:scale(1.03);}
  6%{opacity:1; transform:scale(1.03);}
  19%{opacity:1; transform:scale(1.08);}
  25%{opacity:0; transform:scale(1.08);}
  100%{opacity:0;}
}
@keyframes collageFade3{
  0%{opacity:0; transform:scale(1.03);}
  8%{opacity:1; transform:scale(1.03);}
  25%{opacity:1; transform:scale(1.08);}
  33%{opacity:0; transform:scale(1.08);}
  100%{opacity:0;}
}
.collage-card figcaption{
  margin-top:12px; padding:0 4px; color:var(--muted); font-size:.85rem; font-family:'JetBrains Mono',monospace;
}

@media(prefers-reduced-motion:reduce){
  *{animation:none !important; transition:none !important;}
  .collage img{opacity:1 !important; transform:none !important;}
  .collage img:not(:first-child){display:none;}
  .reveal{opacity:1; transform:none;}
  .letter{opacity:1; transform:none;}
  .quote-text.fade{opacity:1; transform:none;}
}

/* blog hub (blog.html) */
.like-count-display{color:var(--muted); font-size:.78rem;}
.blog-hub-header{text-align:center; max-width:640px; margin:0 auto 40px;}
.blog-hub-header .section-title{margin-bottom:12px;}
.blog-hub-header p{color:var(--muted);}
.search-wrap{max-width:480px; margin:0 auto 44px; position:relative;}
.search-wrap input{
  width:100%; padding:14px 20px 14px 44px; border-radius:999px; border:1px solid var(--line);
  background:var(--card); color:var(--text); font-family:'Space Grotesk',sans-serif; font-size:.95rem;
}
.search-wrap input:focus-visible{outline:2px solid var(--lime); outline-offset:2px;}
.search-wrap::before{
  content:'🔍'; position:absolute; left:18px; top:50%; transform:translateY(-50%); font-size:.85rem; opacity:.6;
}
.no-results{text-align:center; color:var(--muted); padding:60px 0; display:none;}
.back-to-grid{
  display:inline-flex; align-items:center; gap:8px; color:var(--cyan); font-weight:600; font-size:.9rem;
  margin-bottom:26px; cursor:pointer; background:none; border:0; font-family:'Space Grotesk',sans-serif; padding:0;
}
.back-to-grid:hover{text-decoration:underline;}
.article-panel{max-width:720px; margin:0 auto;}
.article-panel .blog-modal-meta{color:var(--cyan); font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; margin-bottom:10px;}
.article-panel .blog-modal-title{font-family:'Unbounded',sans-serif; font-size:clamp(1.6rem,4vw,2.4rem); margin-bottom:24px; font-weight:700; line-height:1.15;}
.article-panel .blog-modal-body p{color:var(--muted); margin-bottom:16px; line-height:1.8; font-size:1.02rem;}
.blog-yap-tag{
  font-family:'JetBrains Mono',monospace; color:var(--pink); font-weight:600; letter-spacing:.08em;
  font-size:.8rem; margin:10px 0 6px;
}

/* blog card thumbnail image */
.blog-card-image{
  aspect-ratio:16/10; border-radius:12px; overflow:hidden; margin-bottom:14px; background:var(--bg-soft);
}
.blog-card-image img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease;}
.blog-card:hover .blog-card-image img{transform:scale(1.05);}

/* featured image inside full article */
.article-featured-image{border-radius:16px; overflow:hidden; margin-bottom:26px; aspect-ratio:16/9; background:var(--bg-soft);}
.article-featured-image img{width:100%; height:100%; object-fit:cover; display:block;}

/* in-article quote block */
.blog-quote{
  border-left:3px solid var(--violet); padding:6px 0 6px 22px; margin:26px 0;
  font-family:'Unbounded',sans-serif; font-style:italic; font-size:1.05rem; line-height:1.6; color:var(--text);
}
.blog-quote cite{
  display:block; margin-top:10px; font-family:'JetBrains Mono',monospace; font-style:normal;
  font-size:.78rem; color:var(--muted); letter-spacing:.04em;
}

/* in-article section headings */
.blog-heading{
  font-family:'Unbounded',sans-serif; font-size:1.15rem; font-weight:700; color:var(--text);
  margin:34px 0 14px;
}

/* coming soon state */
.coming-soon-block{text-align:center; padding:50px 20px; color:var(--muted);}
.coming-soon-icon{font-size:2rem; margin-bottom:12px;}
.coming-soon-block h3{font-family:'Unbounded',sans-serif; color:var(--text); font-size:1.3rem; margin-bottom:8px;}

/* product placement */
.product-placement{
  margin:32px 0; padding:26px; border-radius:18px; border:1px dashed rgba(215,255,63,.4);
  background:var(--bg-soft); position:relative;
}
.product-placement-label{
  position:absolute; top:-10px; left:20px; background:var(--lime); color:#0a0a0f; padding:3px 10px;
  border-radius:999px; font-size:.65rem; text-transform:uppercase; letter-spacing:.06em; font-weight:700;
}
.product-image{border-radius:12px; overflow:hidden; aspect-ratio:16/9; margin-bottom:16px; background:var(--card);}
.product-image img{width:100%; height:100%; object-fit:cover; display:block;}
.product-image--empty{
  display:flex; align-items:center; justify-content:center; color:var(--muted);
  font-family:'JetBrains Mono',monospace; font-size:.8rem; border:1px dashed var(--line);
}
.product-info h3{font-family:'Unbounded',sans-serif; font-size:1.1rem; margin-bottom:8px; font-weight:600;}
.product-info p{color:var(--muted); font-size:.92rem; line-height:1.65; margin-bottom:16px;}

@media(max-width:600px){
  .search-wrap{max-width:100%;}
}
