/* Shared KESAN navigation and Android-first refinements. */
@font-face{font-family:KesanUI;src:url('/ebook/fonts/inter-mobile.woff2') format('woff2');font-weight:100 900;font-display:swap}
.kesan-site-header{box-sizing:border-box;position:relative;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:none;width:100%;padding:12px max(20px,calc((100vw - 1240px)/2));background:#f4f2e9;color:#111211;border-bottom:1px solid #d7d4c8;font-family:KesanUI,Arial,sans-serif;line-height:1.3}
.kesan-site-header *{box-sizing:border-box}.kesan-site-header a{color:#111211;text-decoration:none}.kesan-site-header .kesan-logo{display:flex;min-height:48px;flex-direction:column;justify-content:center;gap:4px}.kesan-logo strong{font-family:KesanUI,Arial,sans-serif;font-size:21px;letter-spacing:.2em;line-height:1.1;font-weight:800}.kesan-logo small{font-size:9px;letter-spacing:.16em}.kesan-site-header nav{display:flex;align-items:center;gap:12px;margin:0}.kesan-site-header .kesan-shortcut,.kesan-site-header summary{display:flex;align-items:center;justify-content:center;min-height:48px;min-width:48px;padding:8px 12px;font:500 14px/1.2 KesanUI,Arial,sans-serif;cursor:pointer;border:1px solid #c7c4b8;background:transparent;list-style:none}.kesan-site-header summary::-webkit-details-marker{display:none}.kesan-site-header summary::after{content:'☰';margin-left:10px;font-size:16px}.kesan-site-header details[open] summary::after{content:'×'}.kesan-site-header details{margin:0;padding:0;border:0;position:static}.kesan-site-header .kesan-menu{position:absolute;right:max(20px,calc((100vw - 1240px)/2));top:calc(100% - 1px);width:min(380px,calc(100vw - 40px));padding:12px;background:#fffef8;border:1px solid #c7c4b8;box-shadow:0 16px 32px #0002;max-height:75vh;overflow:auto;display:grid;gap:2px}.kesan-menu a{display:flex;align-items:center;min-height:48px;padding:10px 14px;font-size:15px;letter-spacing:0;text-transform:none}.kesan-menu a:hover{background:#ece8dc}.kesan-menu a[aria-current=page]{background:#e8e3d2;font-weight:700}.kesan-site-header a:focus-visible,.kesan-site-header summary:focus-visible{outline:3px solid #8a6b26;outline-offset:3px}
body.focus-mode .kesan-site-header{display:none}body.has-kesan-nav .layout{display:block}body.has-kesan-nav .main{margin-left:0;width:100%;max-width:1400px;margin-right:auto;margin-left:auto}body.has-kesan-nav .content{margin-left:0}body.has-kesan-nav .mobile-bar,body.has-kesan-nav .sidebar,body.has-kesan-nav .brand-strip,body.has-kesan-nav .top-strip{display:none}
body.has-kesan-nav .session{flex-wrap:wrap;gap:4px 12px;padding:10px 20px}body.has-kesan-nav .session a,body.has-kesan-nav .session button{min-height:44px;display:inline-flex;align-items:center;padding:8px;font-size:13px}
.service-page{max-width:900px;margin:auto;padding:52px 24px 80px;font:16px/1.75 KesanUI,Arial,sans-serif;color:#191a17}.service-page h1{font-size:clamp(36px,6vw,60px);line-height:1.05;letter-spacing:-.05em;margin:16px 0 20px}.service-page h2{font-size:28px;line-height:1.2;letter-spacing:-.025em}.service-kicker{font-size:11px;letter-spacing:.14em}.service-lead{font-size:19px;color:#57594f}.service-page section{border-top:1px solid #d7d4c8;padding:36px 0;scroll-margin-top:20px}.service-page a{color:#574413;text-underline-offset:4px}.service-page li{margin-bottom:12px}.service-jumps,.service-actions{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}.service-jumps a,.service-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;border:1px solid #a6a393;text-decoration:none}.service-button{background:#111211;color:#fffef8!important}.service-button.secondary{background:transparent;color:#111211!important}
.store-search-mobile{max-width:1240px;margin:20px auto;padding:0 24px}.store-search-mobile .search-form{display:flex;width:100%;max-width:560px;margin:0}.store-search-mobile input{min-height:48px;font-size:16px;width:100%}.store-search-mobile button{min-width:48px;min-height:48px}.shop-contracts[hidden]{display:none!important}
body.brand-store .store-intro{padding-top:24px;padding-bottom:24px}body.brand-store .store-intro h1{font-size:clamp(30px,4vw,46px);line-height:1.1}body.brand-store .collection{padding-top:12px}body.brand-store .filters button,body.brand-store select{min-height:48px;font-size:14px}body.brand-store .product-card .button{min-height:48px;font-size:13px}body.brand-store .product-card .desc{font-size:14px}body.brand-store .notice{font-size:12px;line-height:1.55;padding:10px 20px}.shop-footer a{display:inline-flex;align-items:center;min-height:44px}.shop-footer button{min-height:44px}
@media(max-width:700px){.kesan-site-header{padding:8px 16px;gap:8px}.kesan-logo strong{font-size:18px}.kesan-logo small{font-size:8px}.kesan-site-header nav{gap:8px}.kesan-site-header .kesan-shortcut,.kesan-site-header summary{font-size:13px;padding:8px 10px}.kesan-site-header .kesan-menu{right:16px;width:calc(100vw - 32px)}body.has-kesan-nav .main{padding-top:22px}.service-page{padding:28px 20px 50px}.service-page h2{font-size:25px}.service-jumps{gap:6px}.service-jumps a{font-size:13px;padding:10px}.service-actions{display:grid}.store-search-mobile{margin:12px auto;padding:0 18px}body.brand-store .store-intro{padding-top:12px;padding-bottom:14px}body.brand-store .store-intro p{font-size:14px;margin-bottom:0}body.brand-store .store-intro .button{min-height:44px;margin-top:12px}body.brand-store .section-head{gap:12px}body.brand-store .section-head h2{font-size:22px}body.brand-store .catalog-controls{gap:10px}body.brand-store .filters{gap:4px;flex-wrap:wrap}body.brand-store .filters button{padding:8px 12px}body.brand-store .mobile-nav{display:none}body.brand-store .pdp-actions{padding-bottom:max(8px,env(safe-area-inset-bottom))}body.brand-store .product-meta{font-size:14px}body.has-kesan-nav .reader-head .book-art{max-width:130px;margin:16px auto}body.has-kesan-nav .reader-head{padding-top:10px}body.has-kesan-nav .article-toc summary{min-height:48px;display:flex;align-items:center}.kesan-site-header .kesan-menu a{font-size:15px}body.has-kesan-nav .section-heading p{font-size:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important}}
@media print{.kesan-site-header{display:none}}

/* Contain decorative 3D cover overflow inside each card. */
.has-kesan-nav .grid .book-card{overflow:hidden;min-width:0}

.pdp-signature{font-size:clamp(18px,3vw,24px);line-height:1.4;color:#76603b;margin:14px 0 20px;max-width:32ch}
