The Chime of Time — JD Lawson
:root{
–bg: #0b0e12;
–panel: rgba(18, 22, 30, .72);
–panel2: rgba(18, 22, 30, .48);
–text: #eef2ff;
–muted: rgba(238,242,255,.75);
–line: rgba(238,242,255,.12);
–gold: #f7d37a;
–gold2:#ffb84a;
–shadow: rgba(0,0,0,.55);
–radius: 18px;
–max: 1100px;
}
*{ box-sizing:border-box; }
html,body{ height:100%; }
body{
margin:0;
font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Arial, “Apple Color Emoji”, “Segoe UI Emoji”;
background: radial-gradient(1200px 600px at 15% 10%, rgba(247,211,122,.10), transparent 55%),
radial-gradient(1000px 500px at 85% 20%, rgba(255,184,74,.08), transparent 55%),
linear-gradient(180deg, #07090c 0%, var(–bg) 65%, #07090c 100%);
color:var(–text);
overflow-x:hidden;
}
a{ color:inherit; text-decoration:none; }
.container{ width: min(var(–max), calc(100% – 40px)); margin: 0 auto; }
/* Top nav */
.nav{
position:sticky; top:0; z-index:50;
backdrop-filter: blur(10px);
background: linear-gradient(180deg, rgba(11,14,18,.85), rgba(11,14,18,.55));
border-bottom: 1px solid var(–line);
}
.nav-inner{
display:flex; align-items:center; justify-content:space-between;
padding: 14px 0;
gap: 16px;
}
.brand{
display:flex; align-items:center; gap:12px;
letter-spacing:.5px;
}
.sigil{
width:34px; height:34px; border-radius:10px;
background: radial-gradient(circle at 30% 30%, rgba(247,211,122,.95), rgba(255,184,74,.25) 60%, rgba(255,184,74,.05));
border:1px solid rgba(247,211,122,.35);
box-shadow: 0 10px 24px rgba(0,0,0,.35);
position:relative;
}
.sigil:after{
content:””;
position:absolute; inset:7px;
border-radius:9px;
border:1px dashed rgba(238,242,255,.25);
transform: rotate(6deg);
}
.brand h1{
margin:0;
font-size: 14px;
font-weight: 700;
text-transform: uppercase;
}
.brand span{
display:block;
font-size: 12px;
color: var(–muted);
font-weight: 500;
text-transform:none;
letter-spacing:0;
}
.nav-links{
display:flex; align-items:center; gap: 14px;
flex-wrap:wrap;
justify-content:flex-end;
}
.nav-links a{
font-size: 13px;
color: var(–muted);
padding: 8px 10px;
border-radius: 12px;
border: 1px solid transparent;
transition: .15s ease;
}
.nav-links a:hover{
color: var(–text);
border-color: var(–line);
background: rgba(255,255,255,.03);
}
.btn{
display:inline-flex; align-items:center; justify-content:center;
gap:10px;
padding: 12px 14px;
border-radius: 14px;
border: 1px solid var(–line);
background: rgba(255,255,255,.03);
color: var(–text);
font-weight: 650;
font-size: 13px;
letter-spacing:.2px;
cursor:pointer;
transition: .15s ease;
box-shadow: 0 10px 30px rgba(0,0,0,.18);
}
.btn:hover{ transform: translateY(-1px); border-color: rgba(247,211,122,.35); }
.btn:active{ transform: translateY(0px); }
.btn.primary{
background: linear-gradient(180deg, rgba(247,211,122,.22), rgba(255,184,74,.10));
border-color: rgba(247,211,122,.35);
}
.btn.primary:hover{ border-color: rgba(247,211,122,.55); }
/* Hero */
.hero{
position:relative;
padding: 54px 0 28px;
}
.hero-grid{
display:grid;
grid-template-columns: 1.15fr .85fr;
gap: 22px;
align-items: stretch;
}
@media (max-width: 920px){
.hero-grid{ grid-template-columns: 1fr; }
}
.hero-card{
position:relative;
border-radius: var(–radius);
overflow:hidden;
border: 1px solid var(–line);
box-shadow: 0 40px 90px rgba(0,0,0,.45);
min-height: 430px;
background: #000;
}
.hero-card img{
width:100%; height:100%;
object-fit: cover;
display:block;
filter: saturate(1.05) contrast(1.02);
}
.hero-card:before{
content:””;
position:absolute; inset:0;
background:
radial-gradient(900px 500px at 65% 30%, rgba(247,211,122,.22), transparent 60%),
linear-gradient(90deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,.20) 45%, rgba(0,0,0,.40) 100%),
linear-gradient(180deg, rgba(0,0,0,.20) 0%, rgba(0,0,0,.65) 100%);
pointer-events:none;
}
.hero-overlay{
position:absolute; inset:0;
padding: 28px;
display:flex;
flex-direction:column;
justify-content:flex-end;
gap: 14px;
}
.kicker{
display:inline-flex;
gap:10px;
align-items:center;
width: fit-content;
padding: 8px 12px;
border-radius: 999px;
border:1px solid rgba(247,211,122,.30);
background: rgba(11,14,18,.45);
color: var(–muted);
font-size: 12px;
}
.dot{
width:8px; height:8px; border-radius:99px;
background: rgba(247,211,122,.95);
box-shadow: 0 0 20px rgba(247,211,122,.55);
}
.hero-title{
margin:0;
font-size: clamp(32px, 4vw, 48px);
line-height: 1.05;
letter-spacing: .4px;
text-shadow: 0 20px 60px var(–shadow);
}
.hero-sub{
margin:0;
color: var(–muted);
font-size: 15px;
line-height: 1.5;
max-width: 60ch;
text-shadow: 0 16px 40px var(–shadow);
}
.hero-actions{
display:flex; gap: 10px; flex-wrap: wrap;
margin-top: 4px;
}
/* Right panel */
.panel{
border-radius: var(–radius);
border: 1px solid var(–line);
background: linear-gradient(180deg, var(–panel), var(–panel2));
box-shadow: 0 30px 70px rgba(0,0,0,.35);
padding: 22px;
}
.panel h2{
margin:0 0 10px;
font-size: 16px;
letter-spacing:.3px;
}
.panel p{
margin:0 0 14px;
color: var(–muted);
line-height:1.6;
font-size: 14px;
}
.meta{
display:grid;
grid-template-columns: 1fr 1fr;
gap: 10px;
margin-top: 12px;
}
.meta .chip{
border:1px solid var(–line);
background: rgba(255,255,255,.03);
border-radius: 14px;
padding: 12px;
min-height: 56px;
}
.chip b{ display:block; font-size:12px; color: var(–muted); font-weight:650; }
.chip span{ display:block; margin-top:4px; font-size:14px; font-weight:750; }
.divider{
height:1px;
background: var(–line);
margin: 18px 0;
}
/* Sections */
section{ padding: 22px 0; }
.section-title{
display:flex;
align-items:flex-end;
justify-content:space-between;
gap: 16px;
margin: 10px 0 14px;
}
.section-title h3{
margin:0;
font-size: 20px;
letter-spacing:.3px;
}
.section-title p{
margin:0;
color: var(–muted);
font-size: 13px;
line-height:1.4;
max-width: 60ch;
}
.cards{
display:grid;
grid-template-columns: 1fr 1fr;
gap: 16px;
}
@media (max-width: 860px){
.cards{ grid-template-columns: 1fr; }
}
.card{
border-radius: var(–radius);
border: 1px solid var(–line);
background: rgba(255,255,255,.03);
padding: 18px;
box-shadow: 0 20px 50px rgba(0,0,0,.22);
}
.card .tag{
display:inline-flex;
padding: 6px 10px;
border-radius: 999px;
border: 1px solid rgba(247,211,122,.28);
color: rgba(247,211,122,.95);
font-size: 12px;
font-weight: 750;
letter-spacing:.2px;
background: rgba(247,211,122,.08);
}
.card h4{
margin: 10px 0 8px;
font-size: 18px;
letter-spacing:.2px;
}
.card p{
margin:0 0 12px;
color: var(–muted);
line-height: 1.6;
font-size: 14px;
}
.bullets{
margin: 0;
padding-left: 18px;
color: var(–muted);
line-height: 1.65;
font-size: 14px;
}
/* Newsletter */
.newsletter{
display:grid;
grid-template-columns: 1.1fr .9fr;
gap: 16px;
align-items:stretch;
}
@media (max-width: 900px){
.newsletter{ grid-template-columns: 1fr; }
}
.form{
display:flex;
gap: 10px;
flex-wrap:wrap;
margin-top: 10px;
}
input[type=”email”]{
flex: 1 1 240px;
padding: 12px 14px;
border-radius: 14px;
border: 1px solid var(–line);
background: rgba(255,255,255,.04);
color: var(–text);
outline:none;
}
input[type=”email”]::placeholder{ color: rgba(238,242,255,.55); }
.small{
font-size: 12px;
color: rgba(238,242,255,.65);
line-height:1.5;
margin-top: 10px;
}
/* Footer */
footer{
padding: 34px 0 50px;
border-top: 1px solid var(–line);
margin-top: 22px;
color: var(–muted);
font-size: 13px;
}
.foot{
display:flex;
align-items:center;
justify-content:space-between;
gap: 12px;
flex-wrap: wrap;
}
.foot a{ color: rgba(247,211,122,.9); }
.glowline{
position:absolute;
inset: 0;
pointer-events:none;
mask-image: radial-gradient(600px 240px at 50% 0%, black 35%, transparent 70%);
opacity:.55;
background: linear-gradient(90deg, transparent, rgba(247,211,122,.22), transparent);
transform: translateY(-12px);
}
/* Scroll anchor spacing */
.anchor{ scroll-margin-top: 90px; }
Books in the Series
Two entries so far. One epic ride. Start at Book 1—always.
Wrath of the Dragon
A threat older than kingdoms wakes in the deep wild places.
When the chime calls, only the bold answer—because the cost of ignoring it is everything.
- Perfect entry point to the saga
- Heroic grit, high fantasy stakes
- Sets the fuse for what comes next
Rise of the Slayer
The aftermath doesn’t cool—it sharpens.
Rumors spread, alliances crack, and something deadly is stepping out of the shadows with a name the world won’t forget.
- New threats, bigger scope
- Payoffs seeded in Book 1
- Release year: 2026
The World of The Chime of Time
Ancient magic, hard choices, and legends that refuse to stay buried.
Myth + Steel + Consequences
This is fantasy where power isn’t free. Every use leaves a mark—on the world, on the wielder, on time itself.
- Prophecy that bites back
- Monsters with reasons, not just teeth
- Victory that always costs something
When it rings… things change.
The chime isn’t a metaphor. It’s a warning. A signal. A turning key.
Some call it fate. Others call it a trap.
- A mystery that unfolds across the series
- Clues layered through both action and lore
- Built for fans who love theories
Get Updates
Be first in line for Book 2 news, release alerts, and bonus content.
// Replace this with your real signup integration later.
function fakeSignup(e){
e.preventDefault();
const msg = document.getElementById(‘formMsg’);
msg.textContent = “You’re on the list. When Book 2 news drops, you’ll hear it first.”;
return false;
}
document.getElementById(‘year’).textContent = new Date().getFullYear();