/* Authored progressive enhancements. Copied by build_site.py; keep here. */
[hidden] { display: none !important; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
html { scroll-behavior:smooth; scroll-padding-top:90px; }
body { overflow-wrap:break-word; }
:focus-visible { outline:3px solid #C33F00; outline-offset:4px; }
.mast { z-index:50; }
.mast__brand { text-transform:none; font-size:1.06rem; letter-spacing:-.04em; font-weight:800; }
.mast__imprint { display:none; }
.mast__nav { margin-left:auto; }
.menu-toggle { color:#fff; background:none; border:1px solid #666; padding:9px 12px; font:500 .8rem var(--display); cursor:pointer; }
.menu-toggle span { padding-left:12px; }
.home-page { --warm:#f4f2ec; --soft:#e8e6dc; --muted:#5c5b54; font-family:var(--display); }
.home-page a { text-decoration:none; }
.home-page button, .home-page select, .home-page input, .home-page textarea { font:inherit; }
.home-page button { cursor:pointer; }
.home-page .eyebrow { display:flex; align-items:center; gap:9px; color:#53524b; font:400 .65rem var(--mono); letter-spacing:.1em; margin:0 0 25px; }
.work-hero { display:grid; grid-template-columns:minmax(0,1.16fr) minmax(0,1fr); gap:5.5%; padding-block:64px 54px; align-items:center; }
.work-hero__copy { min-width:0; }
.edition-dot { width:7px; height:7px; background:var(--signal); border-radius:50%; flex:none; }
.edition { margin-left:auto; color:#68675f; font-size:.58rem; }
.work-hero h1 { font-size:clamp(2.8rem,4.85vw,4.3rem); line-height:1.07; letter-spacing:-.065em; font-weight:750; margin:0; text-wrap:balance; }
.home-page h1 em, .home-page h2 em, .closing-note em { font-family:var(--body); font-weight:450; letter-spacing:-.045em; }
.work-hero h1 em { color:var(--signal-ink); }
.work-hero__intro { font-size:1.16rem; font-weight:550; line-height:1.5; margin:27px 0 12px; max-width:31ch; }
.work-hero__detail { font-size:.95rem; line-height:1.75; color:var(--muted); max-width:48ch; margin:0; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:27px; }
.action { display:inline-flex; justify-content:space-between; align-items:center; gap:26px; font:600 .8rem var(--display); padding:16px 19px; min-height:49px; border:1px solid var(--ink); text-decoration:none; transition:background .2s, transform .2s; }
.action--dark { background:var(--ink); color:#fff; }
.action--dark:hover { background:#33312a; transform:translateY(-2px); }
.action--line { background:transparent; color:var(--ink); border-color:#c7c5bc; }
.action--line:hover { background:var(--warm); transform:translateY(-2px); }
.hero-note { display:flex; gap:10px; align-items:center; color:var(--muted); font-size:.69rem; line-height:1.6; margin-top:27px; }
.hero-note strong { font-weight:500; }
.hero-note__mark { color:var(--signal-ink); font-size:2rem; line-height:1; }
.feature { background:var(--warm); padding:23px 26px 22px; position:relative; isolation:isolate; min-width:0; }
.feature__top { display:flex; justify-content:space-between; gap:10px; font:400 .59rem var(--mono); letter-spacing:.09em; color:#5c5b53; }
.feature__books { height:344px; position:relative; display:grid; place-items:center; margin-top:13px; }
.feature__books::before { content:""; position:absolute; inset:45px 22px 25px; border:1px solid #d9d6ca; border-radius:50%; transform:rotate(-28deg); }
.feature__main { position:relative; z-index:3; width:190px; display:block; transform:rotate(-5deg); transition:transform .4s; box-shadow:8px 17px 24px #17150d38; }
.feature__main:hover { transform:rotate(0deg) translateY(-7px); }
.feature__main img { width:100%; }
.feature__back { position:absolute; width:152px; box-shadow:5px 12px 18px #17150d26; }
.feature__back--left { left:calc(50% - 155px); transform:rotate(-17deg) translateY(8px); }
.feature__back--right { right:calc(50% - 163px); transform:rotate(13deg) translateY(14px); }
.feature__bottom { position:relative; display:flex; justify-content:space-between; align-items:center; border-top:1px solid #cfccbf; gap:15px; padding-top:17px; min-height:74px; }
.feature__for { display:block; font:400 .59rem var(--mono); letter-spacing:.12em; color:#5c5b53; margin-bottom:6px; }
.feature__bottom a { display:block; font-weight:650; font-size:1rem; letter-spacing:-.025em; line-height:1.15; max-width:24ch; }
.feature__controls { display:flex; flex:none; gap:6px; }
.feature__controls button { width:37px; height:37px; border-radius:50%; background:transparent; border:1px solid #aaa698; color:var(--ink); }
.feature__controls button:hover { color:#fff; background:var(--ink); border-color:var(--ink); }
.feature.is-changing .feature__main { animation:book-switch .36s ease both; }
@keyframes book-switch { from { opacity:.55; transform:rotate(0deg) translateY(9px); } to { opacity:1; transform:rotate(-5deg); } }
.library-facts { display:grid; grid-template-columns:repeat(3,1fr) 1.2fr; gap:24px; padding-block:26px; position:relative; }
.library-facts::before, .library-facts::after { content:""; position:absolute; left:var(--gut); right:var(--gut); height:1px; background:#dedbd2; }
.library-facts::before { top:0; }.library-facts::after { bottom:0; }
.library-facts p, .library-facts>a { display:flex; align-items:center; gap:16px; margin:0; }
.library-facts p>strong { font-size:2.3rem; font-weight:600; letter-spacing:-.07em; line-height:1; }
.library-facts span { font-size:.68rem; color:var(--muted); line-height:1.5; }
.library-facts>a { border-left:1px solid #dedbd2; padding-left:28px; }
.library-facts .facts-star { font-size:2rem; color:var(--signal-ink); }
.library-facts a strong { font-weight:600; color:var(--ink); }
.home-section { padding-top:82px; padding-bottom:16px; }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:35px; margin-bottom:30px; }
.home-page h2 { font-size:clamp(2rem,3.25vw,2.85rem); line-height:1.13; letter-spacing:-.055em; font-weight:650; margin:0; }
.section-heading .eyebrow { margin-bottom:17px; }
.section-heading>p { color:var(--muted); font-size:.8rem; line-height:1.8; margin:0 0 4px; }
.trade-search { background:var(--warm); padding:25px 28px 20px; }
.trade-search>label { display:block; font-size:.76rem; font-weight:600; margin-bottom:10px; }
.trade-search__field { display:flex; align-items:center; border:1px solid #c7c4b9; background:#fff; }
.trade-search__field>span { margin-left:17px; font-size:1.5rem; line-height:1; }
.trade-search__field input { width:100%; min-width:0; border:0; outline-offset:0; padding:17px 13px; font-size:.95rem; background:transparent; }
.trade-search__field input::-webkit-search-cancel-button { display:none; }
.trade-search__field button { align-self:stretch; border:0; background:none; color:var(--ink); padding:0 18px; min-width:44px; }
.trade-search__field button[type=submit] { background:var(--ink); color:#fff; min-width:57px; font-size:1.2rem; }
.trade-search__field button[data-finder-clear] { font-size:.7rem; text-decoration:underline; }
.trade-search__suggestions { display:flex; flex-wrap:wrap; gap:5px 13px; margin-top:12px; align-items:center; font-size:.68rem; color:var(--muted); }
.trade-search__suggestions button { background:none; border:0; border-bottom:1px solid #aaa698; padding:2px 0; color:#4b4a44; }
.trade-search__suggestions button:hover { color:var(--signal-ink); }
.trade-filters { display:flex; gap:6px; flex-wrap:wrap; margin-top:25px; }
.trade-filter { border:1px solid #dedbd2; border-radius:30px; padding:10px 15px; color:#56544c; background:#fff; font-size:.72rem !important; min-height:40px; }
.trade-filter span { margin-left:6px; opacity:.75; font:400 .6rem var(--mono); }
.trade-filter[aria-pressed=true] { color:#fff; background:var(--ink); border-color:var(--ink); }
.trade-filter:hover { border-color:var(--ink); }
.finder-status { font:400 .65rem var(--mono); color:#625f56; margin:22px 0 16px; min-height:1.7em; }
.trade-shelf { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:29px 17px; }
.trade-card { display:block; min-width:0; }
.trade-card__art { display:grid; place-items:center; position:relative; background:var(--field); aspect-ratio: .92; overflow:hidden; }
.trade-card__art::after { content:""; position:absolute; inset:0; background:linear-gradient(145deg,#ffffff12,transparent 65%); pointer-events:none; }
.trade-card__art img { width:62%; height:auto; box-shadow:5px 9px 13px #0004; transition:transform .28s ease,box-shadow .28s; }
.trade-card__number { position:absolute; left:12px; top:9px; color:var(--cover-ink); font:400 .56rem var(--mono); opacity:.85; }
.trade-card__open { position:absolute; right:11px; bottom:10px; color:var(--cover-ink); font-size:1rem; }
.trade-card:hover img, .trade-card:focus-visible img { transform:translateY(-6px) rotate(-3deg); box-shadow:9px 15px 17px #0005; }
.trade-card__info { display:block; padding-top:11px; }
.trade-card__group { display:block; font:400 .52rem var(--mono); letter-spacing:.02em; color:#716d64; margin-bottom:5px; }
.trade-card__title { font-size:.87rem; font-weight:600; letter-spacing:-.02em; line-height:1.32; display:block; }
.trade-card:hover .trade-card__title { color:var(--signal-ink); }
.trade-empty { background:var(--warm); text-align:center; padding:45px 25px; }
.trade-empty h3 { font-size:1.4rem; margin:0; }
.trade-empty p { color:var(--muted); font-size:.9rem; }
.section-bottom { display:flex; justify-content:space-between; gap:20px; border-top:1px solid #dedbd2; margin-top:30px; padding-top:17px; color:var(--muted); font-size:.72rem; }
.section-bottom a { color:var(--ink); font-weight:600; }
.prompt-studio { background:var(--warm); margin-top:68px; padding-block:62px; }
.studio-grid { display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1.4fr); gap:55px; align-items:start; }
.studio-settings { min-width:0; }
.studio-field { margin-bottom:25px; }
.studio-field>label { display:flex; align-items:center; gap:11px; font-size:.8rem; font-weight:600; margin-bottom:10px; }
.studio-field label>span, .personalize summary>span:first-child { font:400 .65rem var(--mono); color:#787364; margin-right:2px; }
.studio-field select { width:100%; border:1px solid #c6c1b3; background:#fff; padding:13px 30px 13px 12px; border-radius:0; font-size:.78rem; color:var(--ink); text-overflow:ellipsis; }
.personalize { border-block:1px solid #cdc8ba; padding:16px 0; }
.personalize summary { cursor:pointer; font-size:.8rem; font-weight:600; }
.personalize summary>span:first-child { margin-inline:7px; }
.optional { color:#6f6a5f; font-size:.64rem; font-weight:400; margin-left:5px; }
.personalize p, .studio-note { font-size:.7rem; line-height:1.8; color:#666155; }
.personalize label { display:block; font-size:.65rem; line-height:1.6; margin:15px 0 5px; }
.personalize input { width:100%; background:#fff; border:1px solid #c6c1b3; padding:11px; font-size:.78rem; color:var(--ink); }
.text-button { background:none; border:0; border-bottom:1px solid currentColor; padding:0; font-size:.7rem !important; color:#514c40; margin-top:18px; }
.studio-note { margin:18px 0 0; max-width:47ch; }
.prompt-sheet { padding:26px 30px 16px; background:#fff; border:1px solid #ded9ca; box-shadow:5px 6px 0 #e8e3d7; min-width:0; }
.prompt-sheet__bar { display:flex; justify-content:space-between; border-bottom:1px solid #e4dfd2; padding-bottom:17px; }
.prompt-sheet__bar .eyebrow { margin:0; }
.prompt-sheet__bar>span:last-child { font:400 .65rem var(--mono); color:#7a7262; }
.prompt-sheet h3 { font-weight:600; font-size:1.25rem; line-height:1.3; letter-spacing:-.035em; margin:20px 0 13px; }
.prompt-sheet textarea { display:block; resize:vertical; min-height:225px; max-height:550px; height:260px; width:100%; border:0; background:#fff; font:400 .84rem/1.8 var(--mono); color:#4a483f; padding:5px 4px; }
.prompt-sheet__actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:18px; border-top:1px solid #e4dfd2; padding-top:20px; margin-top:16px; }
.prompt-sheet__actions>a { font-size:.7rem; text-decoration:underline; text-underline-offset:3px; }
.copy-status { min-height:1.6em; margin:9px 0 0; font-size:.68rem; color:#45603a; }
.free-start { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.2fr); gap:70px; align-items:center; padding-bottom:72px; }
.free-start__intro>p:not(.eyebrow) { max-width:43ch; color:var(--muted); font-size:.83rem; line-height:1.8; margin:23px 0; }
.free-links>a { display:grid; grid-template-columns:55px 1fr 20px; align-items:center; gap:18px; border-top:1px solid #dcd8ce; padding:22px 0; }
.free-links>a:last-child { border-bottom:1px solid #dcd8ce; }
.free-links__num { font:500 1.6rem var(--display); letter-spacing:-.055em; color:var(--signal-ink); }
.free-links strong { display:block; font-size:.85rem; font-weight:600; }
.free-links small { display:block; font-size:.69rem; color:var(--muted); margin-top:4px; }
.free-links>a:hover strong { color:var(--signal-ink); }
.closing-note { border-top:1px solid #dedbd2; padding-block:28px 38px; display:flex; align-items:center; gap:22px; }
.closing-note>span { font-size:3rem; color:var(--signal-ink); }
.closing-note p { font-size:1.2rem; font-weight:550; line-height:1.3; letter-spacing:-.03em; margin:0; }
.closing-note a { margin-left:auto; font-size:.73rem; font-weight:600; }
.inline-copy { display:block; border:1px solid #aca698; background:transparent; color:var(--ink); padding:8px 12px; margin-top:12px; font:500 .7rem var(--display); cursor:pointer; }
.inline-copy:hover { background:var(--bg-3); }
.reading-progress { position:fixed; top:0; left:0; height:3px; width:100%; transform-origin:left; background:var(--signal); z-index:100; pointer-events:none; }
.reveal-ready { opacity:0; transform:translateY(14px); transition:opacity .55s,transform .55s; }
.reveal-ready.is-revealed { opacity:1; transform:translateY(0); }
@media(min-width:861px) { .menu-toggle { display:none !important; } }
@media(max-width:1100px) {
 .work-hero { gap:4%; padding-top:42px; }
 .work-hero h1 { font-size:3.2rem; }
 .edition { display:none; }
 .feature { padding:19px; }
 .feature__books { height:305px; }
 .feature__main { width:170px; }
 .feature__back { width:130px; }
 .feature__back--left { left:calc(50% - 137px); }.feature__back--right { right:calc(50% - 144px); }
 .hero-actions { gap:8px; }.action { gap:15px; padding-inline:15px; }
 .library-facts { gap:16px; }.library-facts p { gap:10px; }.library-facts>a { padding-left:15px; }
 .studio-grid { gap:32px; }.free-start { gap:40px; }
}
@media(max-width:860px) {
 .mast__in { flex-wrap:wrap; gap:10px; padding-block:12px; }
 .mast__brand { margin-right:auto; }
 .menu-toggle { margin-left:auto; }
 .mast__cart { margin-left:0; }
 .mast__nav { width:100%; margin:0; order:5; flex-wrap:wrap; gap:0; }
 .mast__nav a, .mast__nav a:nth-child(n+3), .mast__nav a+a { display:block; padding:12px 14px 10px 0; font-size:.76rem; }
 .mast.menu-ready .mast__nav { display:none; }
 .mast.menu-ready.is-open .mast__nav { display:flex; border-top:1px solid #444; }
 .work-hero { grid-template-columns:1fr 1fr; gap:24px; }
 .work-hero h1 { font-size:2.65rem; }
 .work-hero__intro { font-size:1rem; }
 .work-hero__detail { font-size:.8rem; }
 .work-hero .eyebrow { font-size:.52rem; }
 .feature__books { height:277px; }
 .feature__main { width:146px; }.feature__back { width:113px; }
 .feature__back--left { left:calc(50% - 116px); }.feature__back--right { right:calc(50% - 123px); }
 .feature__top { font-size:.48rem; }.feature__bottom a { font-size:.85rem; }
 .feature__controls { gap:4px; }.feature__controls button { width:32px; height:32px; }
 .hero-note { margin-top:20px; }
 .library-facts { grid-template-columns:repeat(2,1fr); gap:22px; }
 .library-facts>a { border-left:0; padding-left:0; }
 .trade-shelf { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .section-heading { align-items:start; gap:20px; }
 .section-heading>p { max-width:28ch; font-size:.72rem; }
 .home-section { padding-top:58px; }
 .studio-grid { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap:24px; }
 .prompt-sheet { padding:20px 18px 12px; }
 .prompt-sheet textarea { font-size:.76rem; }
 .free-start { grid-template-columns:1fr; gap:35px; padding-bottom:45px; }
 .free-start__intro>p:not(.eyebrow) { max-width:60ch; }
}
@media(max-width:620px) {
 html { scroll-padding-top:82px; }
 .work-hero { grid-template-columns:1fr; gap:31px; padding-block:32px 30px; }
 .work-hero h1 { font-size:clamp(2.5rem,10vw,3.6rem); }
 .work-hero .eyebrow { font-size:.57rem; margin-bottom:20px; }
 .edition { display:block; }
 .work-hero__intro { max-width:34ch; margin-top:20px; font-size:1.05rem; }
 .work-hero__detail { max-width:49ch; font-size:.86rem; }
 .hero-actions { margin-top:22px; }
 .hero-note { margin-top:19px; }
 .feature { padding:20px 23px; }
 .feature__books { height:305px; }
 .feature__main { width:168px; }.feature__back { width:135px; }
 .feature__back--left { left:calc(50% - 138px); }.feature__back--right { right:calc(50% - 145px); }
 .feature__top { font-size:.6rem; }.feature__bottom a { font-size:1rem; }
 .feature__controls button { width:38px; height:38px; }
 .library-facts { gap:22px 10px; padding-block:22px; }
 .library-facts p>strong { font-size:2rem; }.library-facts span { font-size:.61rem; }.library-facts p,.library-facts>a { gap:9px; }
 .home-section { padding-top:44px; }
 .section-heading { display:block; margin-bottom:24px; }
 .section-heading>p { margin-top:16px; max-width:none; font-size:.8rem; }
 .home-page h2 { font-size:2.15rem; }.home-page .eyebrow { font-size:.58rem; }
 .trade-search { padding:18px 16px; }
 .trade-search__field input { font-size:.8rem; padding:15px 9px; }
 .trade-search__field>span { margin-left:10px; }
 .trade-search__field button { padding:0 10px; }
 .trade-search__field button[type=submit] { min-width:42px; }
 .trade-filters { gap:7px; margin-top:20px; }
 .trade-filter { font-size:.66rem !important; padding:9px 12px; }
 .trade-shelf { grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px 13px; }
 .trade-card__title { font-size:.85rem; }.trade-card__group { font-size:.48rem; }
 .section-bottom { display:block; line-height:1.7; }.section-bottom a { display:block; margin-top:8px; }
 .prompt-studio { margin-top:36px; padding-block:38px; }
 .studio-grid { grid-template-columns:1fr; gap:24px; }
 .studio-field { margin-bottom:20px; }.studio-note { max-width:none; }
 .prompt-sheet textarea { height:270px; font-size:.78rem; }
 .free-start { gap:30px; }.free-links>a { grid-template-columns:44px 1fr 15px; gap:12px; }
 .free-links small { font-size:.65rem; }.free-links strong { font-size:.8rem; }
 .closing-note { flex-wrap:wrap; gap:12px; padding-block:24px; }.closing-note p { font-size:1.06rem; }.closing-note>span { font-size:2.2rem; }.closing-note a { margin-left:47px; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 *,*::before,*::after { animation:none !important; transition:none !important; }
 .reveal-ready { opacity:1; transform:none; }
}


@media(max-width:360px) {
 .feature__books { height:268px; }
 .feature__main { width:145px; }
 .feature__back { width:110px; }
 .feature__back--left { left:calc(50% - 112px); }
 .feature__back--right { right:calc(50% - 117px); }
}
