:root{--ink:#1a1018;--ink-soft:#5c4b53;--paper:#f7f2ed;--paper-deep:#ebe4dc;--night:#1a0f1c;--night-deep:#0e080f;--rose:#c41e2a;--rose-soft:#db3a44;--cream:#f7f0ea;--line:color-mix(in srgb, var(--ink) 12%, transparent);--line-light:color-mix(in srgb, var(--cream) 16%, transparent);--font-display:"Fraunces", Georgia, "Times New Roman", serif;--font-body:"Sora", system-ui, sans-serif;--ease:cubic-bezier(.22, 1, .36, 1);--space:clamp(1.15rem, 4vw, 2.75rem);--max:68rem;--header-h:4rem;--tap:44px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{min-width:320px;font-family:var(--font-body);color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-weight:300;line-height:1.65}#root{overflow-x:clip}a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}img{max-width:100%;height:auto;display:block}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}.skip-link{left:var(--space);z-index:100;background:var(--rose);color:var(--cream);padding:.75rem 1rem;font-size:.85rem;font-weight:500;text-decoration:none;position:absolute;top:-100px}.skip-link:focus{top:.75rem}.site-header{z-index:40;height:var(--header-h);color:var(--cream);transition:background .35s var(--ease), color .35s var(--ease), box-shadow .35s var(--ease);position:fixed;inset:0 0 auto}.site-header.is-solid{background:color-mix(in srgb, var(--paper) 92%, transparent);color:var(--ink);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}.site-header-inner{height:100%;max-width:var(--max);padding:0 var(--space);justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;display:flex}.nav-brand{font-family:var(--font-display);letter-spacing:.01em;white-space:nowrap;font-size:1.05rem;font-weight:500;text-decoration:none}.nav-desktop{letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:clamp(1rem,2.5vw,1.75rem);font-size:.75rem;font-weight:400;display:none}.nav-desktop a{opacity:.72;transition:opacity .25s var(--ease);text-decoration:none}.nav-desktop a:hover{opacity:1}.nav-buy{background:var(--rose);padding:.55rem .9rem;opacity:1!important;color:var(--cream)!important;transition:background .25s var(--ease)!important}.nav-buy:hover{background:var(--rose-soft)}.nav-toggle{width:var(--tap);height:var(--tap);place-content:center;gap:7px;margin-right:-.5rem;display:grid}.nav-toggle span{width:1.35rem;height:1.5px;transition:transform .3s var(--ease), opacity .3s var(--ease);background:currentColor;display:block}.nav-toggle.is-open span:first-child{transform:translateY(4.25px)rotate(45deg)}.nav-toggle.is-open span:last-child{transform:translateY(-4.25px)rotate(-45deg)}.nav-mobile[hidden]{display:none!important}.nav-mobile{inset:var(--header-h) 0 0;background:var(--night-deep);color:var(--cream);padding:1.5rem var(--space) 2.5rem;z-index:39;position:fixed;overflow-y:auto}.nav-mobile nav{flex-direction:column;gap:.25rem;display:flex}.nav-mobile a{min-height:var(--tap);font-family:var(--font-display);border-bottom:1px solid var(--line-light);align-items:center;font-size:clamp(1.5rem,6vw,2rem);font-weight:500;text-decoration:none;display:flex}@media (width>=860px){.nav-desktop{display:flex}.nav-toggle,.nav-mobile{display:none!important}}.hero{min-height:100svh;color:var(--cream);background:radial-gradient(ellipse 80% 55% at 85% 35%, #c41e2a2e, transparent 60%), radial-gradient(ellipse 70% 50% at 15% 80%, #5a284659, transparent 55%), linear-gradient(165deg, #1f121f 0%, var(--night-deep) 48%, #0a060b 100%);padding:calc(var(--header-h) + clamp(1.5rem, 4vh, 3rem)) var(--space) clamp(2rem, 5vh, 3.5rem);align-items:center;display:flex;position:relative;overflow:hidden}@media (width<=899px){.hero{min-height:unset;padding-top:calc(var(--header-h) + 1.35rem);align-items:stretch;padding-bottom:2.25rem}}.hero-glow{pointer-events:none;background:radial-gradient(closest-side,#c41e2a29,#0000 70%);height:55%;position:absolute;inset:auto -10% -20% 40%}.hero-grid{z-index:1;width:100%;max-width:var(--max);grid-template-columns:1fr;align-items:center;gap:clamp(2rem,5vw,3.5rem);margin:0 auto;display:grid;position:relative}.hero-copy{order:1;max-width:34rem}.hero-cover-wrap{order:2;justify-self:center;width:min(100%,16.5rem)}@media (width<=899px){.hero-grid{gap:1.75rem}.hero-cover-wrap{width:min(72vw,15.5rem)}}.hero-role{letter-spacing:.18em;text-transform:uppercase;opacity:.7;animation:riseIn .9s var(--ease) both;margin:0;font-size:.72rem;font-weight:400}.hero-brand{font-family:var(--font-display);letter-spacing:-.025em;animation:riseIn 1s var(--ease) 80ms both;margin:.85rem 0 0;font-size:clamp(2.45rem,9.5vw,5.5rem);font-weight:500;line-height:.98}.hero-tagline{max-width:18ch;font-family:var(--font-display);color:color-mix(in srgb, var(--cream) 88%, transparent);animation:riseIn 1s var(--ease) .16s both;margin:1.25rem 0 0;font-size:clamp(1.15rem,3.2vw,1.55rem);font-style:italic;font-weight:400;line-height:1.35}.hero-actions{animation:riseIn 1s var(--ease) .24s both;flex-wrap:wrap;align-items:center;gap:.85rem 1.25rem;margin-top:1.85rem;display:flex}.btn-primary{min-height:var(--tap);background:var(--rose);color:var(--cream);letter-spacing:.03em;transition:background .3s var(--ease), transform .3s var(--ease);justify-content:center;align-items:center;padding:0 1.25rem;font-size:.84rem;font-weight:500;text-decoration:none;display:inline-flex}.btn-primary:hover{background:var(--rose-soft);transform:translateY(-1px)}.btn-ghost{min-height:var(--tap);color:var(--cream);border-bottom:1px solid color-mix(in srgb, var(--cream) 40%, transparent);transition:border-color .25s var(--ease);align-items:center;padding:0 .15rem;font-size:.84rem;font-weight:400;text-decoration:none;display:inline-flex}.btn-ghost:hover{border-color:var(--cream)}.hero-cover{opacity:0;animation:coverIn 1.1s var(--ease) .2s forwards;background:#100810;display:block;position:relative;transform:translateY(12px);box-shadow:0 2px #ffffff0f,0 24px 48px -18px #000000a6,0 8px 20px -10px #c41e2a59}.hero-cover img{aspect-ratio:1594/2311;object-fit:cover;width:100%;height:auto}.hero-cover-caption{text-align:center;letter-spacing:.08em;text-transform:uppercase;opacity:.55;margin:.9rem 0 0;font-size:.72rem}.hero-cover-caption span{opacity:.75}@media (width>=900px){.hero-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.85fr);gap:clamp(2.5rem,6vw,5rem)}.hero-copy{order:0}.hero-cover-wrap{order:0;justify-self:end;width:min(100%,22rem)}.hero-brand{max-width:9.5ch;font-size:clamp(3.5rem,6.5vw,5.75rem)}}@media (width>=1100px){.hero-cover-wrap{width:min(100%,24rem)}}.section{padding:clamp(3.75rem, 9vw, 7rem) var(--space)}.section-inner{max-width:var(--max);margin:0 auto}.section-label{letter-spacing:.16em;text-transform:uppercase;color:var(--rose);margin:0 0 .65rem;font-size:.7rem;font-weight:500}.section-title{font-family:var(--font-display);letter-spacing:-.02em;max-width:14ch;margin:0;font-size:clamp(1.85rem,5vw,3rem);font-weight:500;line-height:1.08}.section-lead{max-width:40ch;color:var(--ink-soft);margin:.95rem 0 0;font-size:clamp(.95rem,2.2vw,1.05rem)}.reveal{opacity:0;transition:opacity .8s var(--ease), transform .8s var(--ease);transform:translateY(22px)}.reveal.is-visible{opacity:1;transform:none}.book-layout{grid-template-columns:1fr;align-items:start;gap:clamp(1.75rem,4vw,3.5rem);margin-top:clamp(2rem,5vw,3.25rem);display:grid}.book-cover{background:var(--night);width:min(100%,20rem);margin-inline:auto;box-shadow:0 22px 50px -24px #120a148c}.book-cover img{aspect-ratio:1594/2311;object-fit:cover;width:100%}.book-meta{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);flex-wrap:wrap;gap:.45rem 1rem;margin:0 0 1.1rem;font-size:.72rem;display:flex}.book-synopsis{color:var(--ink-soft);white-space:pre-line;max-width:40ch;margin:0;font-size:clamp(.98rem,2.2vw,1.08rem)}.book-excerpt{border-top:1px solid var(--line);font-family:var(--font-display);max-width:26ch;color:var(--night);margin:1.5rem 0 0;padding:1.15rem 0 0;font-size:clamp(1.1rem,2.5vw,1.35rem);font-style:italic;line-height:1.4}.buy-links{flex-wrap:wrap;gap:.75rem;margin:1.75rem 0 0;padding:0;list-style:none;display:flex}.buy-links a{min-height:var(--tap);color:var(--cream);background:var(--rose);transition:background .25s var(--ease), transform .25s var(--ease);justify-content:center;align-items:center;padding:0 1.15rem;font-size:.85rem;font-weight:500;text-decoration:none;display:inline-flex}.buy-links a:hover{background:var(--rose-soft);transform:translateY(-1px)}.upcoming{border-top:1px solid var(--line);color:var(--ink-soft);max-width:44ch;margin-top:clamp(2rem,5vw,3rem);padding-top:1.35rem;font-size:.95rem}.novel-section{background:radial-gradient(ellipse 70% 50% at 20% 0%, #c41e2a1f, transparent 55%), linear-gradient(180deg, #161016 0%, var(--night-deep) 100%);color:var(--cream)}.novel-section .section-label{color:var(--rose-soft)}.novel-tagline{color:color-mix(in srgb, var(--cream) 72%, transparent);font-family:var(--font-display);max-width:28ch;font-style:italic;font-size:clamp(1.1rem,2.5vw,1.35rem)!important}.novel-meta-row{letter-spacing:.1em;text-transform:uppercase;opacity:.55;flex-wrap:wrap;gap:.5rem 1.15rem;margin-top:1.25rem;font-size:.72rem;display:flex}.novel-dedication{max-width:28ch;font-family:var(--font-display);white-space:pre-line;color:color-mix(in srgb, var(--cream) 88%, transparent);border:none;margin:1.75rem 0 0;padding:0;font-size:clamp(1.1rem,2.4vw,1.35rem);font-weight:400;line-height:1.65}.novel-list{margin-top:clamp(2rem,5vw,3rem)}.novel-prose{max-width:42rem;font-family:var(--font-display);white-space:pre-line;color:color-mix(in srgb, var(--cream) 88%, transparent);margin:0;font-size:clamp(1.02rem,2.2vw,1.12rem);line-height:1.85}@media (width>=820px){.book-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:center}.book-cover{width:100%;max-width:22rem;margin-inline:0}}.writings-section{background:var(--night-deep);color:var(--cream)}.writings-section .section-label{color:var(--rose-soft)}.writings-section .section-lead{color:color-mix(in srgb, var(--cream) 68%, transparent)}.writing-list{margin:clamp(2rem,5vw,3rem) 0 0;padding:0;list-style:none}.writing-item{border-top:1px solid var(--line-light)}.writing-item:last-child{border-bottom:1px solid var(--line-light)}.writing-toggle{text-align:left;width:100%;color:inherit;padding:1.25rem 0}.writing-toggle:hover .writing-title{color:var(--rose-soft)}.writing-head{flex-direction:column;gap:.45rem;display:flex}.writing-title{font-family:var(--font-display);transition:color .25s var(--ease);margin:0;font-size:clamp(1.3rem,3.5vw,1.85rem);font-weight:500}.writing-meta{letter-spacing:.08em;text-transform:uppercase;opacity:.55;font-size:.7rem}.writing-excerpt{max-width:48ch;color:color-mix(in srgb, var(--cream) 70%, transparent);margin:.75rem 0 0;font-size:.95rem}.writing-body{padding:0 0 1.35rem}.writing-body p,.writing-poem{max-width:42rem;color:color-mix(in srgb, var(--cream) 82%, transparent);white-space:pre-line;margin:0;font-size:clamp(.98rem,2.2vw,1.08rem);line-height:1.75}@media (width>=700px){.writing-head{flex-direction:row;justify-content:space-between;align-items:baseline;gap:1rem}.writing-meta{white-space:nowrap;flex-shrink:0}}.about-inner{max-width:42rem}.about-copy{flex-direction:column;gap:1.1rem;max-width:42rem;margin-top:clamp(1.5rem,4vw,2.25rem);display:flex}.about-copy>p{color:var(--ink-soft);margin:0;font-size:clamp(1.02rem,2.2vw,1.12rem);line-height:1.7}.about-note{border-top:1px solid var(--line);font-family:var(--font-display);max-width:36ch;padding-top:1.25rem;font-style:italic;color:var(--ink)!important;margin-top:.5rem!important;font-size:clamp(.98rem,2vw,1.05rem)!important}.contact-section{background:color-mix(in srgb, var(--paper-deep) 70%, var(--paper));border-top:1px solid var(--line)}.contact-block{margin-top:clamp(1.5rem,4vw,2.25rem)}.contact-email{font-family:var(--font-display);color:var(--ink);border-bottom:1px solid color-mix(in srgb, var(--ink) 25%, transparent);transition:color .25s var(--ease), border-color .25s var(--ease);padding-bottom:.15rem;font-size:clamp(1.35rem,3.5vw,1.85rem);font-weight:500;text-decoration:none;display:inline-block}.contact-email:hover{color:var(--rose);border-color:var(--rose)}.social-list{flex-wrap:wrap;gap:.75rem 1.35rem;margin:1.75rem 0 0;padding:0;list-style:none;display:flex}.social-list a{color:var(--ink-soft);border-bottom:1px solid color-mix(in srgb, var(--ink-soft) 35%, transparent);transition:color .25s var(--ease), border-color .25s var(--ease);padding-bottom:.1rem;font-size:.9rem;font-weight:500;text-decoration:none}.social-list a:hover{color:var(--rose);border-color:var(--rose)}.contact-note{margin:1.75rem 0 0;font-size:.9rem}.contact-note a{color:var(--rose);border-bottom:1px solid color-mix(in srgb, var(--rose) 35%, transparent);font-weight:500;text-decoration:none}.contact-note a:hover{border-color:var(--rose)}.site-footer{border-top:1px solid var(--line);background:var(--paper)}.site-footer-inner{max-width:var(--max);padding:1.75rem var(--space) 2.25rem;color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;margin:0 auto;font-size:.8rem;display:flex}.site-footer strong{font-family:var(--font-display);color:var(--ink);font-weight:500}.footer-socials{flex-wrap:wrap;gap:.65rem 1.1rem;margin:0;padding:0;list-style:none;display:flex}.footer-socials a{color:var(--ink-soft);transition:color .25s var(--ease);text-decoration:none}.footer-socials a:hover{color:var(--rose)}@keyframes riseIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes coverIn{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-role,.hero-brand,.hero-tagline,.hero-actions,.hero-cover,.reveal{opacity:1!important;transition:none!important;animation:none!important;transform:none!important}}@media (width<=380px){.hero-brand{font-size:2.35rem}.hero-cover-wrap{width:min(100%,15.5rem)}}
