.jkk .bookstore{background:var(--white)}.jkk .section--parchment{background:var(--cream-50)}.jkk .book-notice{background:#fff3c4;border-left:4px solid #e8b10a;border-radius:0 var(--r-field) var(--r-field) 0;color:#6b4a00;padding:16px 20px;margin-bottom:clamp(28px,4vw,44px)}.jkk .book-notice__title{color:#6b4a00;font-family:var(--sans);font-size:17px;font-weight:700;margin:0 0 6px;max-width:none}.jkk .book-notice p{margin:0;font-size:15.5px;max-width:78ch}.jkk .crumbs{flex-wrap:wrap;font-size:15px;color:var(--ink-400);margin-bottom:18px}.jkk .crumbs,.jkk .crumbs li{display:flex;align-items:center;gap:6px}.jkk .crumbs li+li:before{content:"/";color:var(--ink-200)}.jkk .crumbs a{padding:11px 2px;margin:-11px 0}.jkk .crumbs [aria-current=page]{color:var(--ink-700);font-weight:600}.jkk .cover{position:relative;display:block;aspect-ratio:2/3;width:100%;border-radius:4px 8px 8px 4px;background:var(--cream-100);overflow:hidden;box-shadow:0 1px 2px rgba(11,23,41,.08),0 10px 28px rgba(11,23,41,.12)}.jkk .cover img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain}.jkk .cover:after{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:linear-gradient(90deg,rgba(11,23,41,.16),rgba(11,23,41,.04) 60%,transparent);pointer-events:none}.jkk .cover--empty{display:grid;place-content:center;padding:10%;text-align:center;background:linear-gradient(160deg,var(--cream-100),var(--cream-50));border:1px solid var(--ink-200)}.jkk .cover--empty span{font-family:var(--serif);font-size:clamp(14px,1.6vw,18px);line-height:1.3;color:var(--ink-600)}.jkk .cover--empty:before{content:"";display:block;width:34px;height:2px;background:var(--gold-500);margin:0 auto 12px;border-radius:2px}.jkk .badge{display:inline-flex;align-items:center;gap:6px;border-radius:var(--r-pill);padding:5px 12px;font:700 12.5px/1.3 var(--sans);letter-spacing:.04em;text-transform:uppercase;border:1px solid transparent;white-space:nowrap}.jkk .badge--available{background:rgba(78,124,104,.12);color:#35624f;border-color:rgba(78,124,104,.3)}.jkk .badge--preorder{background:var(--gold-100);color:#8a5a09;border-color:rgba(196,134,42,.4)}.jkk .badge--soon{background:rgba(27,49,87,.08);color:var(--ink-700);border-color:rgba(27,49,87,.2)}.jkk .badge--muted{background:var(--cream-100);color:var(--ink-600);border-color:var(--ink-200)}.jkk .badge--placeholder{background:#fff3c4;color:#6b4a00;border-color:#e8b10a}.jkk .book-grid{display:grid;gap:clamp(24px,3.5vw,40px);grid-template-columns:repeat(2,minmax(0,1fr))}@media (min-width:700px){.jkk .book-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1040px){.jkk .book-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.jkk .book-grid--wide{grid-template-columns:repeat(1,minmax(0,1fr))}@media (min-width:640px){.jkk .book-grid--wide{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1040px){.jkk .book-grid--wide{grid-template-columns:repeat(3,minmax(0,1fr))}}.jkk .book-card{display:flex;flex-direction:column;gap:12px;min-width:0}.jkk .book-card__cover{transition:transform .2s var(--ease),box-shadow .2s var(--ease)}.jkk .book-card:focus-within .book-card__cover,.jkk .book-card:hover .book-card__cover{transform:translateY(-3px);box-shadow:0 2px 4px rgba(11,23,41,.1),0 16px 36px rgba(11,23,41,.16)}.jkk .book-card__meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.jkk .book-card__series{font:700 11.5px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-600)}.jkk .book-card__title{font-family:var(--serif);font-size:clamp(17px,1.5vw,20px);line-height:1.25;color:var(--ink-900);margin:0;font-weight:600}.jkk .book-card__title a{color:inherit;text-decoration:none}.jkk .book-card__title a:hover{color:var(--gold-600);text-decoration:underline;text-decoration-color:var(--gold-500)}.jkk .book-card__title a:after{content:"";position:absolute;inset:0;z-index:1}.jkk .book-card{position:relative}.jkk .book-card__actions{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:4px}.jkk .book-card__sub{font-size:14.5px;line-height:1.5;color:var(--ink-400);margin:0}.jkk .book-card__price{font:600 15px/1.4 var(--sans);color:var(--ink-700)}.jkk .book-card__formats{display:flex;flex-wrap:wrap;gap:6px;font-size:13px;color:var(--ink-400)}.jkk .book-card__formats li:not(:last-child):after{content:"·";margin-left:6px;color:var(--ink-200)}.jkk .featured{display:grid;gap:clamp(28px,5vw,56px);align-items:center}@media (min-width:860px){.jkk .featured{grid-template-columns:minmax(240px,340px) 1fr}}.jkk .featured__cover{max-width:340px;margin-inline:auto;width:100%}.jkk .featured__title{margin-bottom:.25em}.jkk .featured__subtitle{font-family:var(--serif);font-size:clamp(18px,2vw,24px);line-height:1.3;color:var(--ink-600);margin:0 0 .7em}.jkk .featured__meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px}.jkk .book-detail{display:grid;gap:clamp(28px,4vw,56px);align-items:start}@media (min-width:900px){.jkk .book-detail{grid-template-columns:minmax(260px,360px) 1fr}.jkk .book-detail__aside{position:sticky;top:96px}}@media (prefers-reduced-motion:reduce){.jkk .book-detail__aside{position:static}}.jkk .book-detail__gallery{display:flex;gap:10px;margin-top:14px;overflow-x:auto;padding-bottom:6px;scroll-snap-type:x mandatory}.jkk .book-detail__gallery img{width:96px;height:auto;border-radius:6px;border:1px solid var(--ink-200);scroll-snap-align:start}.jkk .formats{display:grid;gap:14px;margin:0;padding:0}.jkk .format{border:1px solid var(--ink-200);border-radius:var(--r-card);background:var(--white);padding:18px 20px;display:grid;gap:12px}.jkk .format__head{display:flex;flex-wrap:wrap;gap:10px;align-items:baseline;justify-content:space-between}.jkk .format__name{font:600 17px/1.3 var(--sans);color:var(--ink-900)}.jkk .format__price{font:600 17px/1.3 var(--sans);color:var(--ink-700)}.jkk .format__price--none{font-weight:400;font-size:14.5px;color:var(--ink-400)}.jkk .format__facts{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:14px;color:var(--ink-400);margin:0}.jkk .format__buy{display:flex;flex-wrap:wrap;gap:10px}.jkk .format__none{font-size:14.5px;color:var(--ink-600);background:var(--cream-50);border-radius:var(--r-field);padding:10px 14px;margin:0}.jkk .ext{display:inline-block;margin-left:2px;font-size:.85em;transform:translateY(-1px)}.jkk .book-facts{display:grid;grid-template-columns:max-content 1fr;gap:10px 22px;margin:0;font-size:15.5px}.jkk .book-facts dt{color:var(--ink-400);font-weight:600}.jkk .book-facts dd{margin:0;color:var(--ink-700)}.jkk .quote{border-left:3px solid var(--gold-500);padding:4px 0 4px 20px;margin:0 0 24px}.jkk .quote p{font-family:var(--serif);font-size:clamp(17px,1.5vw,19px);line-height:1.6;color:var(--ink-700);margin:0 0 8px}.jkk .quote footer{font-size:14.5px;color:var(--ink-400)}.jkk .stars{display:inline-flex;gap:2px;color:var(--gold-600);font-size:15px}.jkk .book-form{display:grid;gap:16px;max-width:620px}.jkk .book-form--inline{max-width:none}.jkk .field{display:grid;gap:6px}.jkk .field>label{font:600 15px/1.4 var(--sans);color:var(--ink-800)}.jkk .field__hint{font-size:14px;color:var(--ink-400)}.jkk .field input,.jkk .field select,.jkk .field textarea{font:400 16px/1.5 var(--sans);color:var(--ink-900);background:var(--white);border:1.5px solid var(--ink-200);border-radius:var(--r-field);padding:12px 14px;width:100%;min-height:48px}.jkk .field textarea{min-height:120px;resize:vertical}.jkk .field input:focus,.jkk .field select:focus,.jkk .field textarea:focus{border-color:var(--gold-500)}.jkk .field input[aria-invalid=true],.jkk .field textarea[aria-invalid=true]{border-color:var(--amber-700)}.jkk .field__error{font-size:14.5px;color:var(--amber-700);font-weight:600}.jkk .check{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:1.5;color:var(--ink-600);padding:6px 0;cursor:pointer}.jkk .check input{width:22px;height:22px;margin:1px 0 0;flex:0 0 auto;accent-color:var(--gold-600)}.jkk .book-form__row{display:grid;gap:16px}@media (min-width:620px){.jkk .book-form__row--two{grid-template-columns:1fr 1fr}}.jkk .honey{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.jkk .form-note{font-size:14.5px;color:var(--ink-400);margin:0}.jkk .form-result{display:flex;gap:12px;align-items:flex-start;border-radius:var(--r-field);padding:14px 16px;font-size:15.5px;line-height:1.5}.jkk .form-result--ok{background:rgba(78,124,104,.1);color:#2f5947;border:1px solid rgba(78,124,104,.3)}.jkk .form-result--bad{background:rgba(180,83,9,.08);color:#8a4008;border:1px solid rgba(180,83,9,.3)}.jkk .form-result__icon{font-size:18px;line-height:1.3}.jkk .filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:clamp(24px,3vw,36px)}.jkk .filters button{min-height:44px;padding:9px 16px;border-radius:var(--r-pill);border:1.5px solid var(--ink-200);background:var(--white);color:var(--ink-700);font:600 14.5px/1.2 var(--sans);cursor:pointer;transition:background-color .15s var(--ease),border-color .15s var(--ease)}.jkk .filters button:hover{border-color:var(--gold-500);background:var(--cream-50)}.jkk .filters button[aria-pressed=true]{background:var(--ink-900);border-color:var(--ink-900);color:#fff}.jkk .shelf-empty{border:1px dashed var(--ink-200);border-radius:var(--r-card);background:var(--cream-50);padding:clamp(28px,5vw,48px);text-align:center;color:var(--ink-600)}.jkk .shelf-empty p{margin-inline:auto;max-width:52ch}.jkk .buybar{position:fixed;inset:auto 0 0 0;z-index:90;display:flex;gap:12px;align-items:center;justify-content:space-between;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.97);border-top:1px solid var(--ink-200);box-shadow:0 -6px 24px rgba(11,23,41,.1);transform:translateY(110%);transition:transform .22s var(--ease)}.jkk .buybar.is-on{transform:translateY(0)}@media (prefers-reduced-motion:reduce){.jkk .buybar{transition:none}}@media (min-width:900px){.jkk .buybar{display:none}}.jkk .buybar__title{font:600 14.5px/1.25 var(--sans);color:var(--ink-900);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-width:0}.jkk .buybar .btn{flex:0 0 auto}.jkk .share{display:flex;flex-wrap:wrap;gap:10px;align-items:center}@media (prefers-reduced-motion:reduce){.jkk .book-card__cover,.jkk .filters button{transition:none}.jkk .book-card:focus-within .book-card__cover,.jkk .book-card:hover .book-card__cover{transform:none}}