*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#f4f7fb;background:#05070b;line-height:1.6;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 50% 10%,rgba(29,117,205,.22),transparent 30%),linear-gradient(180deg,#090d14,#040509 50%,#070a10);z-index:-5}.atmosphere{position:fixed;inset:0;z-index:-3;overflow:hidden;pointer-events:none}.fog{position:absolute;left:-20%;right:-20%;height:42vh;bottom:-10vh;background:radial-gradient(ellipse at 20% 50%,rgba(160,180,210,.16),transparent 55%),radial-gradient(ellipse at 60% 40%,rgba(120,150,190,.13),transparent 55%),radial-gradient(ellipse at 85% 65%,rgba(200,220,240,.1),transparent 50%);filter:blur(26px);opacity:.8;animation:fogMove 42s linear infinite}.fog-two{bottom:2vh;opacity:.45;animation-duration:68s;animation-direction:reverse}.particles{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.28) 1px,transparent 1px),radial-gradient(circle,rgba(65,150,255,.22) 1px,transparent 1px);background-size:90px 90px,140px 140px;background-position:0 0,30px 50px;animation:particles 75s linear infinite;opacity:.5}.light-sweep{position:absolute;top:-20%;left:-60%;width:55%;height:140%;background:linear-gradient(90deg,transparent,rgba(56,137,255,.1),transparent);transform:rotate(18deg);animation:sweep 24s ease-in-out infinite}@keyframes fogMove{from{transform:translateX(0)}to{transform:translateX(18%)}}@keyframes particles{from{transform:translateY(0)}to{transform:translateY(-160px)}}@keyframes sweep{0%,55%,100%{left:-70%;opacity:0}70%{opacity:1}88%{left:120%;opacity:0}}.site-header{position:sticky;top:0;z-index:10;display:flex;justify-content:space-between;gap:20px;align-items:center;padding:18px 6vw;background:rgba(5,7,11,.72);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08)}.brand{color:#fff;text-decoration:none;font-weight:bold;letter-spacing:.08em;text-transform:uppercase;font-size:.95rem}nav{display:flex;gap:22px;flex-wrap:wrap}nav a{color:#b9c7d9;text-decoration:none;font-size:.9rem}nav a:hover{color:#fff}.hero{min-height:92vh;display:grid;place-items:center;text-align:center;padding:90px 6vw 70px}.eyebrow{text-transform:uppercase;letter-spacing:.22em;color:#73aaff;font-size:.78rem;margin:0 0 12px}.hero h1{font-size:clamp(3rem,9vw,7.5rem);line-height:.9;margin:0;text-transform:uppercase;letter-spacing:.06em;text-shadow:0 0 36px rgba(55,132,255,.35)}.tagline{font-size:clamp(1.1rem,2.4vw,1.8rem);color:#d7e3f4;margin:24px auto 34px;max-width:900px;font-style:italic}.welcome-card,.text-panel,.looking-card{background:rgba(10,16,27,.68);border:1px solid rgba(255,255,255,.12);box-shadow:0 24px 80px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.08);border-radius:24px}.welcome-card{max-width:780px;padding:28px 34px;margin:auto}.welcome-card h2{font-size:2rem;margin:0 0 10px}.thanks{color:#bcd4ff}.ku-badge{display:inline-flex;flex-direction:column;gap:0;margin-top:30px;padding:14px 26px;border:1px solid rgba(255,255,255,.16);border-radius:999px;color:#fff;text-decoration:none;background:linear-gradient(135deg,rgba(20,100,190,.7),rgba(10,15,25,.75));box-shadow:0 0 35px rgba(31,119,255,.22)}.ku-badge span{font-size:.8rem;color:#c7d5e8}.ku-badge strong{font-size:1.05rem}.section{padding:90px 6vw;max-width:1480px;margin:auto}.section-heading{text-align:center;margin-bottom:38px}.section h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.05;margin:0 0 18px}.book-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}.book-card{background:rgba(9,14,23,.78);border:1px solid rgba(255,255,255,.11);border-radius:22px;padding:18px;box-shadow:0 22px 60px rgba(0,0,0,.38);transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}.book-card:not(.coming-soon):hover{transform:translateY(-8px);border-color:rgba(111,171,255,.45);box-shadow:0 28px 80px rgba(20,100,255,.18)}.book-card img{width:100%;aspect-ratio:2/3;object-fit:cover;border-radius:14px;background:#111827;box-shadow:0 18px 35px rgba(0,0,0,.4)}.book-card h3{margin:18px 0 4px;font-size:1.3rem}.book-note{color:#b9c7d9;min-height:54px;font-size:.95rem}.button-stack{display:grid;gap:10px;margin-top:16px}.button-stack a,.button-stack button,.contact-button{font:inherit;text-align:center;text-decoration:none;color:#eaf2ff;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:10px 12px;cursor:pointer;transition:.25s ease}.button-stack a:hover,.button-stack button:hover,.contact-button:hover{background:rgba(99,166,255,.16);border-color:rgba(99,166,255,.45)}.button-stack .primary{background:#1c65b9;border-color:#398cf5;color:#fff}.coming-soon{opacity:.92}.coming-soon img{filter:grayscale(15%);cursor:default}.split{display:grid;grid-template-columns:1fr 1.4fr;gap:40px;align-items:start}.text-panel{padding:34px;font-size:1.1rem;color:#dce7f6}.looking-card{padding:clamp(28px,5vw,60px);max-width:980px;margin:auto;font-size:1.1rem;color:#dce7f6}.looking-card strong{color:#fff}.contact{text-align:center}.contact p{color:#c6d4e5}.contact-button{display:inline-block;margin-top:16px;padding:13px 22px;background:rgba(28,101,185,.74)}footer{text-align:center;padding:70px 6vw 45px;color:#d6e2f2;border-top:1px solid rgba(255,255,255,.08)}footer p{margin:4px 0}footer small{display:block;margin-top:38px;color:rgba(214,226,242,.35);font-size:.78rem}.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease}.reveal.visible{opacity:1;transform:translateY(0)}.modal{width:min(860px,92vw);border:1px solid rgba(255,255,255,.16);border-radius:22px;padding:30px;background:#08101d;color:#f4f7fb;box-shadow:0 30px 120px rgba(0,0,0,.7)}.modal::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(4px)}.modal .close{position:absolute;right:18px;top:12px;background:none;border:0;color:#fff;font-size:2rem;cursor:pointer}.modal img{width:100%;height:auto;border-radius:12px}#modal-content h2{margin-top:0}@media(max-width:1050px){.book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:1fr}}@media(max-width:620px){.site-header{position:relative;align-items:flex-start;flex-direction:column}nav{gap:12px}.hero{padding-top:60px}.welcome-card{padding:24px 20px}.book-grid{grid-template-columns:1fr}.section{padding:70px 5vw}.book-note{min-height:auto}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Version 1.1 refinements */
.site-header{align-items:center;padding:10px 5vw;background:rgba(5,7,11,.84)}
.author-banner{display:flex;align-items:center;gap:16px;min-width:0;flex-wrap:wrap}
.official{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:#05070b;background:linear-gradient(135deg,#dce9ff,#77b1ff);border-radius:999px;padding:7px 10px;font-weight:bold;box-shadow:0 0 24px rgba(80,150,255,.28)}
.banner-tagline{color:#bcd0e9;font-style:italic;font-size:.88rem;white-space:normal;max-width:620px}
.hero{min-height:62vh;padding:54px 6vw 42px}
.hero h1{font-size:clamp(2.8rem,7vw,6.4rem)}
.tagline{margin:18px auto 24px}
.welcome-card{padding:22px 30px}
.ku-badge{margin-top:22px}
#books{padding-top:48px}
.section{padding-top:70px;padding-bottom:70px}
.book-card img{object-fit:contain;background:#080c14}
@media(max-width:900px){.site-header{align-items:flex-start;flex-direction:column}.author-banner{gap:10px}.banner-tagline{font-size:.82rem}.hero{min-height:auto;padding:46px 5vw 34px}#books{padding-top:36px}}


/* Version 1.2 refinements from Rob */
body{font-family:Arial,Helvetica,sans-serif;}
h1,h2,h3,.brand,.official,.topper-kicker{font-family:Arial,Helvetica,sans-serif;}
.site-header{font-family:Arial,Helvetica,sans-serif;}
.banner-tagline{white-space:nowrap;max-width:none;font-size:.82rem;overflow:hidden;text-overflow:ellipsis;}
.tagline{max-width:1100px;white-space:nowrap;font-size:clamp(1.05rem,1.9vw,1.55rem);}

.graphic-topper{
  position:relative;
  overflow:hidden;
  border-bottom:1px solid rgba(111,171,255,.28);
  border-top:1px solid rgba(255,255,255,.08);
  background:
    radial-gradient(circle at 18% 20%,rgba(120,180,255,.26),transparent 28%),
    radial-gradient(circle at 70% 50%,rgba(255,255,255,.08),transparent 34%),
    linear-gradient(120deg,#060911 0%,#0b1524 42%,#05070b 100%);
}
.graphic-topper:before{
  content:"";
  position:absolute;inset:-35%;
  background:
    radial-gradient(ellipse at 20% 60%,rgba(190,210,240,.13),transparent 45%),
    radial-gradient(ellipse at 70% 40%,rgba(90,150,230,.12),transparent 42%);
  filter:blur(22px);
  animation:fogMove 52s linear infinite;
}
.graphic-topper:after{
  content:"";
  position:absolute;inset:0;
  background-image:linear-gradient(90deg,transparent,rgba(114,174,255,.22),transparent);
  transform:translateX(-100%) skewX(-18deg);
  animation:topperSweep 12s ease-in-out infinite;
}
.graphic-topper-inner{
  position:relative;z-index:1;
  min-height:160px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:22px 6vw;
  gap:6px;
}
.topper-kicker{
  letter-spacing:.32em;
  text-transform:uppercase;
  color:#8fc1ff;
  font-size:.74rem;
  font-weight:700;
}
.graphic-topper strong{
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:clamp(2.1rem,5vw,5rem);
  line-height:1;
  color:#fff;
  text-shadow:0 0 38px rgba(71,145,255,.45);
}
.graphic-topper em{
  color:#dbe9fb;
  font-style:normal;
  font-size:clamp(.9rem,1.6vw,1.15rem);
}
@keyframes topperSweep{0%,55%,100%{transform:translateX(-120%) skewX(-18deg);opacity:0}70%{opacity:1}90%{transform:translateX(120%) skewX(-18deg);opacity:0}}

.hero{min-height:auto;padding:34px 6vw 28px;}
.hero h1{display:none;}
.hero>.tagline{display:none;}
.welcome-card{max-width:840px;}
#books{padding-top:28px;}
.section-heading{margin-bottom:28px;}
.book-card h3{font-weight:800;}
.button-stack a,.button-stack button,.contact-button{font-family:Arial,Helvetica,sans-serif;font-weight:700;}

@media(max-width:1100px){.banner-tagline{display:none}.tagline{white-space:normal}.graphic-topper-inner{min-height:140px}}
@media(max-width:620px){.graphic-topper-inner{min-height:120px}.graphic-topper strong{letter-spacing:.08em}.hero{padding-top:26px}.official{font-size:.62rem}.topper-kicker{letter-spacing:.2em}}


/* Final header art version */
.site-header{padding:10px 5vw;background:rgba(5,7,11,.9);}
.author-banner{display:flex;align-items:center;gap:14px;min-width:0;flex-wrap:nowrap;}
.separator{color:rgba(255,255,255,.55);font-weight:700;}
.brand{white-space:nowrap;}
.banner-tagline{display:none!important;}
.header-art{position:relative;overflow:hidden;background:#02050a;border-bottom:1px solid rgba(111,171,255,.25);}
.header-art img{display:block;width:100%;height:auto;max-height:430px;object-fit:cover;object-position:center center;}
.graphic-topper{display:none!important;}
.hero{min-height:auto;padding:24px 6vw 24px;}
.welcome-card{background:transparent;border:0;box-shadow:none;border-radius:0;max-width:1020px;padding:0 24px;margin:0 auto;}
.welcome-card h2{font-size:clamp(2rem,4vw,3.4rem);color:#66b4ff;margin:0 0 14px;text-shadow:0 0 26px rgba(61,145,255,.38);}
.welcome-card p{font-size:clamp(1rem,1.35vw,1.24rem);margin:11px auto;max-width:960px;}
.welcome-card em{color:#9ed0ff;}
.thanks{font-weight:700;color:#66b4ff!important;margin-top:22px!important;}
.ku-badge{margin-top:18px;}
#books{padding-top:26px;}
.section{padding-top:62px;padding-bottom:62px;}
@media(max-width:900px){.site-header{align-items:flex-start;flex-direction:column}.header-art img{max-height:340px}.hero{padding-top:22px}.author-banner{gap:10px;}}
@media(max-width:620px){.separator:last-child{display:none}.header-art img{height:230px;object-fit:cover}.welcome-card{padding:0}.welcome-card p{font-size:1rem}.official{font-size:.6rem}nav{font-size:.86rem}}

/* Version 1.3 — colored book atmospheres and synopsis popups */
.theme-freefallin{--book-accent:#ef2f2f;--book-accent-soft:rgba(239,47,47,.22)}
.theme-see{--book-accent:#6cff1f;--book-accent-soft:rgba(108,255,31,.20)}
.theme-parallel{--book-accent:#b85cff;--book-accent-soft:rgba(184,92,255,.22)}
.theme-freefallin,.theme-see,.theme-parallel{border-color:rgba(255,255,255,.12)}
.theme-freefallin:hover{border-color:rgba(239,47,47,.62);box-shadow:0 28px 80px rgba(239,47,47,.20)}
.theme-see:hover{border-color:rgba(108,255,31,.55);box-shadow:0 28px 80px rgba(108,255,31,.16)}
.theme-parallel:hover{border-color:rgba(184,92,255,.58);box-shadow:0 28px 80px rgba(184,92,255,.19)}
.theme-freefallin .button-stack a,.theme-freefallin .button-stack button{border-color:rgba(239,47,47,.28)}
.theme-see .button-stack a,.theme-see .button-stack button{border-color:rgba(108,255,31,.25)}
.theme-parallel .button-stack a,.theme-parallel .button-stack button{border-color:rgba(184,92,255,.27)}
.theme-freefallin .button-stack a:hover,.theme-freefallin .button-stack button:hover,.theme-freefallin .button-stack .primary{background:linear-gradient(135deg,rgba(239,47,47,.72),rgba(60,12,12,.78));border-color:rgba(255,90,90,.78);box-shadow:0 0 22px rgba(239,47,47,.22)}
.theme-see .button-stack a:hover,.theme-see .button-stack button:hover,.theme-see .button-stack .primary{background:linear-gradient(135deg,rgba(70,190,20,.70),rgba(11,45,10,.82));border-color:rgba(126,255,75,.72);box-shadow:0 0 22px rgba(108,255,31,.16)}
.theme-parallel .button-stack a:hover,.theme-parallel .button-stack button:hover,.theme-parallel .button-stack .primary{background:linear-gradient(135deg,rgba(155,74,255,.72),rgba(34,16,72,.82));border-color:rgba(205,139,255,.74);box-shadow:0 0 22px rgba(184,92,255,.18)}
.modal{background:linear-gradient(180deg,#09101d,#05070b);overflow:hidden;transition:box-shadow .35s ease,border-color .35s ease}
.modal.modal-freefallin{border-color:rgba(255,76,76,.7);box-shadow:0 0 0 1px rgba(255,76,76,.25),0 0 80px rgba(239,47,47,.34),0 30px 120px rgba(0,0,0,.82)}
.modal.modal-see{border-color:rgba(108,255,31,.65);box-shadow:0 0 0 1px rgba(108,255,31,.22),0 0 85px rgba(108,255,31,.26),0 30px 120px rgba(0,0,0,.82)}
.modal.modal-parallel{border-color:rgba(190,95,255,.7);box-shadow:0 0 0 1px rgba(190,95,255,.22),0 0 90px rgba(184,92,255,.32),0 30px 120px rgba(0,0,0,.82)}
.modal.modal-freefallin::after,.modal.modal-see::after,.modal.modal-parallel::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.22;background:radial-gradient(circle at 50% 0,var(--modal-glow),transparent 45%)}
.modal.modal-freefallin{--modal-glow:rgba(255,54,54,.75)}
.modal.modal-see{--modal-glow:rgba(108,255,31,.68)}
.modal.modal-parallel{--modal-glow:rgba(184,92,255,.72)}
.synopsis-wrap{position:relative;z-index:1;padding:6px 4px 2px}.modal-eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:.76rem;font-weight:800;margin:0 0 10px}.synopsis-wrap h2{font-size:clamp(2rem,5vw,3.2rem);line-height:1;margin:0 0 22px}.synopsis-wrap p{color:#dce7f6;font-size:1.05rem;line-height:1.65}.modal-hook{font-size:1.25rem!important;font-weight:800;margin-top:26px!important;color:#fff!important}.theme-freefallin-modal .modal-eyebrow,.theme-freefallin-modal .modal-hook{color:#ff5a5a!important}.theme-see-modal .modal-eyebrow,.theme-see-modal .modal-hook{color:#8cff55!important}.theme-parallel-modal .modal-eyebrow,.theme-parallel-modal .modal-hook{color:#d18bff!important}.modal-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.modal-actions a{display:inline-block;text-decoration:none;color:#fff;border-radius:999px;padding:12px 18px;font-weight:800;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);transition:.25s ease}.theme-freefallin-modal .modal-actions a:hover{background:rgba(239,47,47,.7);border-color:#ff6262}.theme-see-modal .modal-actions a:hover{background:rgba(70,190,20,.72);border-color:#91ff64}.theme-parallel-modal .modal-actions a:hover{background:rgba(155,74,255,.72);border-color:#d18bff}

/* Mobile modal scrolling fix */
.modal{
  max-height:92vh;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
.modal::backdrop{
  position:fixed;
}
#modal-content{
  max-height:none;
}
@media(max-width:620px){
  .modal{
    width:94vw;
    max-height:88vh;
    padding:24px 18px;
  }
  .synopsis-wrap p{
    font-size:1rem;
    line-height:1.55;
  }
  .modal-actions{
    padding-bottom:12px;
  }
}
