:root{color-scheme:light;--paper:#fcf8ef;--ivory:#fffdf7;--ink:#283528;--muted:#545e4e;--sage:#3c5341;--rose:#834c4d;--line:#e2d8c8;--serif:Georgia,'Times New Roman',serif;--sans:'Segoe UI',Arial,sans-serif}
:root,.photo-viewer{scrollbar-width:none}
:root::-webkit-scrollbar,.photo-viewer::-webkit-scrollbar{display:none}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:1.0625rem/1.68 var(--sans)}
img{display:block;max-width:100%;height:auto}
a{color:var(--sage);text-underline-offset:.25em}
a:focus-visible{outline:2px solid var(--rose);outline-offset:5px}
p{margin:0 0 1.15rem}
h1,h2,h3,.wordmark,.hero-line{font-family:var(--serif);font-weight:400;line-height:1.06;margin:0 0 1rem;letter-spacing:-.04em}
h1{font-size:clamp(3rem,7.3vw,6.45rem)}
h2{font-size:clamp(2.12rem,4.2vw,4rem)}
h3{font-size:clamp(1.5rem,2.6vw,2.15rem);line-height:1.15}
.wrap{width:min(88%,76rem);margin-inline:auto}
.narrow{max-width:44rem}
.eyebrow{margin:0 0 .85rem;font-size:.74rem;letter-spacing:.17em;text-transform:uppercase;font-weight:700;color:var(--rose)}
.skip{position:absolute;z-index:2;top:.5rem;left:.5rem;padding:.5rem;background:var(--ivory);transform:translateY(-150%)}
.skip:focus{transform:none}
.site-header{border-bottom:1px solid var(--line);background:var(--ivory)}
.header-inner{min-height:5.2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem 2rem}
.wordmark{margin:0;color:var(--ink);font-size:1.65rem;text-decoration:none;white-space:nowrap}
nav,.footer-links{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem clamp(.85rem,2.4vw,2rem)}
nav a{font-size:.88rem;font-weight:600;text-decoration:none;padding:.3rem 0;border-bottom:2px solid transparent}
nav a:hover,nav a[aria-current]{border-color:var(--rose);color:var(--rose)}
.hero{position:relative;isolation:isolate;min-height:clamp(30rem,42vw,42rem);display:grid;align-items:center;overflow:hidden;background:#e8dfd0}
.hero-art,.hero::after{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.hero-art{object-fit:cover;object-position:center}
.hero::after{content:'';background:linear-gradient(90deg,rgba(255,251,240,.96) 0%,rgba(255,251,240,.91) 33%,rgba(255,251,240,.38) 67%,transparent 89%)}
.hero-inner{padding-block:4.25rem}
.hero-copy{max-width:42rem}
.hero-copy h1{text-shadow:0 2px 10px #faf2df}
.hero-line{font-size:clamp(1.5rem,3vw,2.5rem);letter-spacing:-.035em}
.hero-copy>p:not(.eyebrow,.hero-line){max-width:29rem}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem 1.15rem;margin-top:1.45rem}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;padding:.75rem 1.1rem;border:1px solid var(--sage);border-radius:.25rem;background:var(--sage);color:white;font-size:.9rem;font-weight:650;line-height:1.3;text-align:center;text-decoration:none}
.button:hover{background:#253b2c;border-color:#253b2c}
.button.outline{background:rgba(255,253,247,.55);color:var(--ink)}
.button.outline:hover{background:var(--ivory)}
.text-link{font-weight:650}
.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(2rem,7vw,7rem)}
.featured,.updates,.bio,.order-panel{padding-block:clamp(3.25rem,7vw,7rem)}
.featured{max-width:64rem}
.series-image{max-width:27rem;padding:.65rem;background:var(--ivory);border:1px solid var(--line);box-shadow:0 12px 28px #51412a15}
.series-image img{width:100%}
.tinted{background:#f0e8dd;border-block:1px solid var(--line)}
.poetry-image img,.picture-band img{width:100%;border-radius:.2rem}
.poetry-image img{aspect-ratio:3/2;object-fit:cover}
.author-teaser{display:grid;grid-template-columns:minmax(7rem,13rem) minmax(0,34rem);align-items:center;gap:clamp(1.2rem,6vw,4rem);justify-content:center;padding-block:clamp(3.25rem,7vw,6rem)}
.author-teaser img{border-radius:48% 48% .2rem .2rem}
.intro{text-align:center;padding-block:clamp(3.1rem,7vw,6rem) clamp(1.7rem,3vw,2.6rem)}
.lede{margin-inline:auto;max-width:36rem;color:var(--muted)}
.picture-band{max-width:68rem}
.prose,.collection{padding-block:clamp(2.6rem,6vw,5rem)}
.butters-gallery{max-width:65rem;padding-block:clamp(2.7rem,6vw,4.8rem);text-align:center}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.9rem,2.4vw,1.6rem);margin-top:1.8rem}
.gallery-photo{margin:0;padding:.55rem .55rem .7rem;background:var(--ivory);border:1px solid var(--line);border-radius:.3rem;box-shadow:0 4px 12px #51412a14}
.gallery-photo a{display:block;border-radius:.16rem;overflow:hidden}
.gallery-photo img{width:100%;aspect-ratio:1;object-fit:contain;background:#f2ebdf}
.gallery-photo a:hover{box-shadow:0 0 0 2px var(--sage)}
.gallery-photo figcaption{margin-top:.55rem;font:1.15rem/1.3 var(--serif);color:var(--ink)}
.photo-viewer{width:min(92vw,56rem);max-height:92vh;max-height:92dvh;margin:auto;padding:.75rem;border:1px solid var(--line);border-radius:.45rem;background:var(--ivory);color:var(--ink);box-shadow:0 18px 60px #1b1a1770}
.photo-viewer::backdrop{background:#25211ddb}
.photo-viewer-controls{display:flex;justify-content:flex-end;margin-bottom:.65rem}
.photo-viewer-controls button{min-height:44px;padding:.4rem .8rem;border:1px solid var(--sage);border-radius:.25rem;background:var(--sage);color:white;font:600 1rem/1.3 var(--sans);cursor:pointer}
.photo-viewer-controls button:hover{background:#253b2c}
.photo-viewer-controls button:focus-visible{outline:2px solid var(--rose);outline-offset:3px}
.photo-viewer figure{margin:0}
.photo-viewer img{width:auto;max-width:100%;height:auto;max-height:calc(92vh - 7rem);max-height:max(5rem,calc(92dvh - 7rem));margin-inline:auto;object-fit:contain;border-radius:.2rem}
.photo-viewer figcaption{margin:.55rem 0 0;font:1.15rem/1.3 var(--serif)}
@media(max-width:760px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.gallery-grid{grid-template-columns:1fr;max-width:20rem;margin-inline:auto}}
.collection>h2{margin-bottom:1.5rem}
.book-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.85rem,2.2vw,1.65rem)}
.book-card{background:var(--ivory);border:1px solid var(--line);border-radius:.28rem;overflow:hidden}
.book-card img{width:100%}
.book-copy{padding:1rem}
.book-copy p:last-child{margin:0;font-size:.95rem}
.order-panel{max-width:57rem;grid-template-columns:minmax(0,17rem) minmax(0,1fr)}
.stacked section+section{margin-top:2.5rem}
.bio{max-width:69rem;grid-template-columns:minmax(0,2fr) minmax(0,3fr)}
.bio h1{font-size:clamp(2.9rem,6vw,5.2rem)}
.portrait img{width:100%;border:8px solid var(--ivory);outline:1px solid var(--line);border-radius:46% 46% .25rem .25rem}
.site-footer{background:#344638;color:#f8f2e8;padding-block:2rem}
.footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem 2rem}
.site-footer a{color:inherit}
.site-footer p{font-size:.88rem;margin:.25rem 0 0;color:#f0e2d6}
.footer-links{font-size:.9rem}
@media(max-width:800px){.book-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero::after{background:linear-gradient(90deg,#fff9efef,#fff9efe3 44%,#fff9ef78)}.hero-art{object-position:66% 50%}}
@media(max-width:650px){.header-inner{min-height:0;display:block;padding-block:1rem}.header-inner nav{margin-top:.65rem;gap:.25rem 1rem}.header-inner nav a{font-size:.82rem}.hero{min-height:0}.hero-inner{padding-block:3.25rem}.split{grid-template-columns:1fr}.featured .series-image{grid-row:2}.series-image,.portrait{max-width:22rem}.bio{gap:2rem}.bio .portrait{max-width:15rem}.picture-band img{min-height:9rem;object-fit:cover}}
@media(max-width:380px){.book-grid{grid-template-columns:1fr}.author-teaser{grid-template-columns:1fr}.author-teaser img{width:8rem}}
