:root{color-scheme:dark;--ink:#05090d;--panel:#0b1720;--line:#1b3546;--ice:#aee7ff;--white:#edf7fb;--muted:#a2b5c0;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--white);font-family:Arial,Helvetica,sans-serif;line-height:1.58;font-size:1rem}a{color:inherit}a:focus-visible{outline:2px solid var(--ice);outline-offset:5px}img{max-width:100%;display:block}.skip{position:absolute;left:-999px;top:1rem;background:var(--ice);color:var(--ink);padding:.5rem 1rem;z-index:10}.skip:focus{left:1rem}.site-header{border-bottom:1px solid #16303f;background:#05090de8;position:relative;z-index:2}.header-inner{max-width:var(--max);margin:auto;padding:1.15rem clamp(1.2rem,4vw,3rem);display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{font-size:1.02rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;text-decoration:none;white-space:nowrap}.nav{display:flex;gap:clamp(1rem,3vw,2.5rem);align-items:center}.nav a{text-decoration:none;color:#bdcbd4;font-size:.88rem;text-transform:uppercase;letter-spacing:.14em;font-weight:700}.nav a:hover,.nav a[aria-current=page]{color:var(--ice)}.eyebrow{margin:0 0 1rem;color:var(--ice);text-transform:uppercase;letter-spacing:.22em;font-size:.82rem;font-weight:700}.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:radial-gradient(circle at 75% 55%,#10334b 0%,#07141e 29%,#05090d 72%)}.hero:after{content:"";position:absolute;right:8%;top:-12%;width:2px;height:125%;background:linear-gradient(180deg,transparent,#91ddff 36%,#d5f5ff 70%,transparent);box-shadow:0 0 22px 5px #45bfff66;opacity:.55;pointer-events:none}.hero-inner{max-width:var(--max);margin:auto;min-height:680px;padding:clamp(3rem,7vw,6rem) clamp(1.2rem,4vw,3rem);display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.82fr);align-items:center;gap:clamp(3rem,8vw,7rem);position:relative;z-index:1}.hero-copy{max-width:680px}.hero h1,.page-title{font-family:Impact,"Arial Narrow",Arial,sans-serif;font-stretch:condensed;font-weight:800;text-transform:uppercase;letter-spacing:.015em;line-height:.98;margin:.2rem 0 1.5rem}.hero h1{font-size:clamp(4.3rem,8vw,8.4rem)}.hero h1 span{display:block;color:var(--ice)}.lead{font-size:clamp(1.28rem,2.3vw,1.72rem);line-height:1.42;max-width:31ch;margin:0 0 2rem}.hero-note{color:var(--muted);max-width:48ch;margin:0 0 2rem}.button{display:inline-flex;align-items:center;min-height:3rem;border:1px solid var(--ice);padding:.72rem 1.25rem;color:var(--ink);background:var(--ice);font-weight:700;text-decoration:none;letter-spacing:.06em;text-transform:uppercase;font-size:.83rem;transition:background .2s,color .2s}.button:hover{background:transparent;color:var(--ice)}.text-link{color:var(--ice);text-decoration-thickness:1px;text-underline-offset:5px;font-weight:700}.book-display{justify-self:center;width:min(100%,405px);filter:drop-shadow(0 26px 35px #000b)}.book-display img{width:100%;height:auto;border:1px solid #31536a}.section{max-width:var(--max);margin:auto;padding:clamp(4rem,8vw,7rem) clamp(1.2rem,4vw,3rem)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,8vw,7rem);align-items:start}.section h2{font-family:Impact,"Arial Narrow",Arial,sans-serif;text-transform:uppercase;font-size:clamp(2.6rem,5vw,4.5rem);line-height:1.05;letter-spacing:.025em;margin:0}.intro-grid p{font-size:1.13rem;color:#c9d8df;margin:0 0 1.25rem}.rule{height:1px;background:linear-gradient(90deg,#74cdf4,transparent);margin:2rem 0}.page-header{max-width:var(--max);margin:auto;padding:clamp(3.5rem,7vw,6rem) clamp(1.2rem,4vw,3rem) 2.5rem}.page-title{font-size:clamp(3.5rem,7vw,6.5rem)}.page-subtitle{max-width:53ch;color:#cbdce5;font-size:1.2rem;margin:0}.book-page{border-top:1px solid var(--line);background:radial-gradient(circle at 90% 20%,#0a283c,#05090d 54%)}.book-grid{max-width:var(--max);margin:auto;padding:clamp(3rem,6vw,5rem) clamp(1.2rem,4vw,3rem) clamp(5rem,8vw,7rem);display:grid;grid-template-columns:minmax(230px,350px) minmax(0,1fr);gap:clamp(2.5rem,7vw,6rem);align-items:start}.book-grid .book-display{position:sticky;top:2rem}.blurb{max-width:640px;font-size:1.12rem;color:#dce8ee}.blurb p{margin:0 0 1.4rem}.blurb .opening{font-size:1.5rem;line-height:1.35;font-weight:700;color:white}.blurb .closing{color:var(--ice);font-weight:700}.about-grid{max-width:var(--max);margin:auto;padding:clamp(3rem,6vw,5rem) clamp(1.2rem,4vw,3rem) 7rem;display:grid;grid-template-columns:minmax(250px,.75fr) minmax(0,1fr);gap:clamp(2.5rem,7vw,6rem);align-items:center}.portrait{width:100%;max-width:450px;aspect-ratio:1122/1402;object-fit:cover;filter:drop-shadow(0 22px 32px #0009)}.about-copy{max-width:630px;font-size:1.18rem;color:#d2e0e7}.about-copy p{margin:0 0 1.35rem}.site-footer{border-top:1px solid var(--line);color:#8fa6b2}.footer-inner{max-width:var(--max);margin:auto;padding:2rem clamp(1.2rem,4vw,3rem);display:flex;justify-content:space-between;gap:1rem;align-items:center;font-size:.87rem}.footer-inner a{text-decoration:none}.footer-inner a:hover{color:var(--ice)}
@media(max-width:760px){.header-inner{align-items:flex-start;flex-direction:column;gap:.9rem}.nav{width:100%;justify-content:space-between}.hero-inner{min-height:0;grid-template-columns:1fr;gap:2.5rem;padding-top:4rem;padding-bottom:4rem}.hero h1{font-size:clamp(3.7rem,17vw,6.5rem)}.book-display{width:min(75%,330px)}.hero:after{display:none}.intro-grid,.book-grid,.about-grid{grid-template-columns:1fr}.book-grid .book-display{position:static;justify-self:start;width:min(65%,300px)}.about-grid .portrait{max-width:380px}.footer-inner{flex-direction:column;align-items:flex-start}}@media(max-width:400px){.brand{font-size:.85rem;letter-spacing:.19em}.nav a{font-size:.76rem;letter-spacing:.09em}.hero h1{font-size:3.45rem}.book-display{width:85%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* The cover owns the title typography; the homepage uses an editorial hook. */
.hero h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.7rem,6.3vw,6.3rem);font-weight:400;text-transform:none;letter-spacing:-.045em;line-height:1.04;max-width:12ch}
@media(max-width:760px){.hero h1{font-size:clamp(3.2rem,10vw,5.4rem)}}
@media(max-width:400px){.hero h1{font-size:3rem}}

.image-section{padding-top:0}.image-intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,8vw,7rem);align-items:end;margin-bottom:2rem}.image-intro p:last-child{margin:0;color:#c9d8df;font-size:1.13rem;max-width:46ch}.image-pair{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.image-pair figure{margin:0;background:#0a1720;border:1px solid #234052;overflow:hidden}.image-pair img{width:100%;aspect-ratio:16/10;object-fit:cover;filter:saturate(.78) brightness(.86)}.image-pair figcaption{padding:1rem 1.2rem;color:var(--ice);font-size:.81rem;font-weight:700;text-transform:uppercase;letter-spacing:.17em}@media(max-width:760px){.image-intro,.image-pair{grid-template-columns:1fr}}

.listen-section{border-top:1px solid var(--line);background:radial-gradient(circle at 30% 50%,#18313c 0%,#09131a 42%,#05090d 85%)}.listen-inner{max-width:var(--max);margin:auto;padding:clamp(4rem,8vw,7rem) clamp(1.2rem,4vw,3rem);display:grid;grid-template-columns:minmax(220px,340px) minmax(0,1fr);gap:clamp(2.5rem,8vw,7rem);align-items:center}.album-art{width:100%;aspect-ratio:1;object-fit:cover;border:1px solid #426070;box-shadow:0 24px 45px #0008}.listen-copy{max-width:590px}.listen-copy h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(3rem,6vw,5.5rem);font-weight:400;letter-spacing:-.04em;line-height:1.07;margin:.3rem 0 1.2rem}.listen-copy>p:not(.eyebrow){color:#c9d8df;font-size:1.16rem;margin:0 0 1.8rem}.listen-copy audio{display:block;width:min(100%,520px);accent-color:var(--ice)}@media(max-width:760px){.listen-inner{grid-template-columns:1fr}.album-art{max-width:300px}}

/* Small uncropped photo prints, adapted from the earlier author site. */
.gallery-intro{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,6rem);align-items:end;margin-bottom:2.5rem}.gallery-intro>p{color:#c9d8df;font-size:1.08rem;max-width:44ch;margin:0}.gallery-desk{padding:clamp(2rem,4vw,3.5rem);border:1px solid #254254;background:radial-gradient(circle at 55% 44%,#193849 0%,#0b1e2b 44%,#07131c 90%);box-shadow:inset 0 0 70px #0008,0 30px 60px #0004}.polaroid-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(1.1rem,2.5vw,2.1rem);align-items:start}.polaroid{position:relative;display:block;width:100%;min-width:0;margin:0;padding:10px 10px 42px;border:0;background:#ece8df;color:#252b2e;text-align:left;box-shadow:8px 13px 22px #0009;cursor:zoom-in;transform:rotate(-2deg);transition:transform .2s ease,box-shadow .2s ease}.polaroid:nth-child(4n+2){transform:rotate(2deg)}.polaroid:nth-child(4n+3){transform:rotate(-1deg)}.polaroid:nth-child(4n+4){transform:rotate(1.5deg)}.polaroid:hover,.polaroid:focus-visible{z-index:2;transform:translateY(-7px) rotate(0);box-shadow:12px 20px 30px #000b}.polaroid img{display:block;width:100%;height:auto;aspect-ratio:1672/941;object-fit:contain;background:#172029}.polaroid span{position:absolute;bottom:13px;left:12px;right:37px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-family:"Segoe Print","Bradley Hand",cursive;font-size:.82rem;line-height:1.2}.polaroid small{position:absolute;right:12px;bottom:16px;color:#58656b;font-size:.7rem}.gallery-swipe{display:none}.gallery-dialog{width:min(1080px,calc(100vw - 2rem));max-width:none;max-height:94svh;padding:0;border:1px solid #79b9d4;color:var(--white);background:#07131c;box-shadow:0 30px 90px #000d}.gallery-dialog::backdrop{background:#01080de8}.gallery-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid var(--line);color:var(--ice);text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}.gallery-close{background:transparent;border:1px solid #648ca1;color:var(--white);padding:.45rem .75rem;cursor:pointer}.gallery-dialog figure{margin:0}.gallery-dialog img{display:block;max-width:100%;max-height:calc(94svh - 112px);margin:auto;object-fit:contain}.gallery-dialog figcaption{padding:.8rem 1rem;text-align:center;font-family:Georgia,"Times New Roman",serif;font-size:1.3rem}.about-grid{grid-template-columns:minmax(220px,310px) minmax(0,1fr)}.about-grid .portrait{width:min(100%,290px);height:auto;max-width:290px;aspect-ratio:auto;object-fit:contain;justify-self:center;filter:drop-shadow(0 15px 25px #0008)}@media(max-width:900px){.polaroid-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.gallery-intro{grid-template-columns:1fr}.gallery-desk{padding:1.5rem 0;overflow:hidden}.polaroid-grid{display:flex;gap:1rem;overflow-x:auto;padding:1rem 1.4rem 2rem;scroll-snap-type:x mandatory;scroll-padding-inline:1.4rem}.polaroid{flex:0 0 min(62vw,240px);width:min(62vw,240px);scroll-snap-align:center;transform:rotate(-1deg)}.polaroid:nth-child(even){transform:rotate(1deg)}.polaroid:hover,.polaroid:focus-visible{transform:translateY(-4px) rotate(0)}.gallery-swipe{display:block;color:#9cb3bf;font-size:.8rem;letter-spacing:.1em;text-align:center;text-transform:uppercase;margin:1rem 0 0}.about-grid{grid-template-columns:1fr}.about-grid .portrait{width:min(65vw,250px)}}@media(max-width:600px){.nav{flex-wrap:wrap;justify-content:flex-start;gap:.65rem 1.15rem}.nav a{font-size:.76rem;letter-spacing:.08em}}@media(prefers-reduced-motion:reduce){.polaroid{transition:none}}

/* Every print has the same square photo window; the dialog retains full originals. */
.polaroid img{aspect-ratio:1/1;height:auto;object-fit:cover}
.polaroid::before{content:"";position:absolute;z-index:1;top:-9px;left:50%;width:58px;height:18px;background:#bfd0cead;box-shadow:0 1px 3px #0003;transform:translateX(-50%) rotate(-3deg);pointer-events:none}

/* Purchase controls retain the book's dark, cool palette. */
.hero-actions,.purchase-actions{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center}
.button-outline{background:transparent;color:var(--ice)}
.button-outline:hover{background:var(--ice);color:var(--ink)}
.purchase-wrap{max-width:var(--max);margin:0 auto;padding:0 clamp(1.2rem,4vw,3rem) clamp(5rem,8vw,7rem)}
.purchase-panel{border:1px solid #31536a;background:linear-gradient(120deg,#0c2230,#07131c 68%);padding:clamp(1.6rem,4vw,3.2rem);box-shadow:0 22px 50px #0005}
.purchase-panel h2{font-family:Georgia,"Times New Roman",serif;font-size:clamp(2rem,4vw,3.5rem);font-weight:400;line-height:1.1;letter-spacing:-.035em;margin:.15rem 0 1rem}
.purchase-intro{max-width:54ch;color:#c9d8df;font-size:1.08rem;margin:0 0 1.8rem}
.store-label{display:block;color:var(--ice);font-size:.82rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;margin-bottom:.55rem}
.store-select{display:block;width:min(100%,360px);min-height:3rem;padding:.65rem .85rem;border:1px solid #7195a8;border-radius:0;background:#07131c;color:var(--white);font:inherit}
.store-select:focus-visible{outline:2px solid var(--ice);outline-offset:3px}
.store-status{min-height:1.55em;color:#a8c5d4;font-size:.9rem;margin:.7rem 0 1.4rem}
.purchase-actions .button{justify-content:center;gap:.6rem}
.purchase-actions [hidden]{display:none}
.purchase-note{max-width:65ch;margin:1.6rem 0 0;color:#92aab7;font-size:.84rem}
@media(max-width:600px){.hero-actions .button,.purchase-actions .button{width:100%}}
