/* Shared frame uses its own names to isolate legacy product/form styles. */
body.kkj-unified{margin:0;background:#f6f5f1;color:#1f2433;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:17px;line-height:1.6}
.kkj-unified .kkj-site-header,.kkj-unified .kkj-site-header *,.kkj-unified .kkj-site-footer,.kkj-unified .kkj-site-footer *{box-sizing:border-box}
.kkj-unified .kkj-site-header{position:sticky;top:0;z-index:30;margin:0;padding:0;width:100%;max-width:none;background:rgba(246,245,241,.98);color:#1f2433;border:0;border-bottom:1px solid #dedfdc;backdrop-filter:none;font:17px/1.6 system-ui,sans-serif}
.kkj-unified .kkj-site-bar{max-width:1200px;margin:0 auto;padding:0 36px;min-height:86px;display:flex;align-items:center;justify-content:space-between;gap:22px}
.kkj-unified .kkj-site-brand{display:flex;align-items:center;gap:11px;margin:0;padding:0;text-decoration:none;font-size:19px;font-weight:750;white-space:nowrap;color:#1f2433;border:0;background:none}
.kkj-unified .kkj-site-mark{width:41px;height:41px;display:grid;place-items:center;border-radius:10px;background:#1f4e9c;color:white;font-size:20px}
.kkj-unified .kkj-site-nav{display:flex;align-items:center;gap:24px;margin:0;padding:0;width:auto;background:none}
.kkj-unified .kkj-site-nav a,.kkj-unified .kkj-mobile-menu nav a{display:block;font-size:13px;font-weight:650;text-decoration:none;color:#1f2433;margin:0;padding:0;line-height:1.6}
.kkj-unified .kkj-site-nav a:hover,.kkj-unified .kkj-mobile-menu nav a:hover{color:#1f4e9c}
.kkj-unified a.kkj-account{font-weight:800;color:#1f4e9c}
.kkj-unified a.kkj-start{border:1px solid #1f4e9c;padding:9px 15px;border-radius:6px;color:#1f4e9c}
.kkj-unified .kkj-mobile-menu,.kkj-unified .kkj-mobile-account{display:none}
.kkj-unified .kkj-site-footer{position:static;display:block;width:100%;max-width:none;margin:55px 0 0;padding:30px 0 18px;background:#f6f5f1;color:#596578;border-top:1px solid #dedfdc;font:13px/1.7 system-ui,sans-serif}
.kkj-unified .kkj-site-footer-inner{max-width:1200px;margin:auto;padding:0 36px}
.kkj-unified .kkj-site-footer-links{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:32px;margin:0 0 30px;padding:0 0 30px;border-bottom:1px solid #dedfdc}
.kkj-unified .kkj-site-footer a{color:#1f4e9c;text-decoration:none;font-size:13px;font-weight:500}
.kkj-unified .kkj-site-footer a:hover{text-decoration:underline}
.kkj-unified .kkj-site-footer-links a{display:block;margin:6px 0}
.kkj-unified .kkj-site-footer-links strong{font-size:15px;color:#173b78}
.kkj-unified .kkj-site-footer p{font-size:13px;line-height:1.7;margin:12px 0;color:#596578}
.kkj-unified .kkj-site-footer-row{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap}
.kkj-unified .kkj-footer-cancel{text-align:center;padding:10px}
.kkj-unified :is(a,button,summary,input,select,textarea):focus-visible{outline:3px solid #f0842b;outline-offset:4px}
.kkj-unified main{color:#1f2433}
.kkj-unified main :is(h1,h2,h3){letter-spacing:-.025em}
.kkj-unified main h1{line-height:1.12}
.kkj-unified :is(.btn-primary,.btn-main,.btn:not(.btn-outline):not(.btn-secondary)){background:#f0842b;color:#292013;border-color:#f0842b;border-radius:6px}
.kkj-unified .btn-outline{border-color:#1f4e9c;color:#1f4e9c;border-radius:6px;background:transparent}
.kkj-unified :is(.article-head,.pw-head){padding-top:15px}
.kkj-unified :is(.crumbs,.breadcrumb){color:#596578}
.kkj-unified .kkj-site-header~main{scroll-margin-top:100px}
@media(max-width:1100px){.kkj-unified .kkj-site-nav{gap:14px}.kkj-unified .kkj-site-nav a{font-size:12px}}
@media(max-width:950px){.kkj-unified .kkj-site-bar{position:relative;flex-wrap:wrap;gap:12px;min-height:76px;padding:12px 22px}.kkj-unified .kkj-site-nav{display:none}.kkj-unified .kkj-site-brand{font-size:17px}.kkj-unified .kkj-site-mark{width:34px;height:34px;font-size:17px}.kkj-unified .kkj-mobile-account{display:block;margin-left:auto;text-decoration:none;color:#1f4e9c;font-size:13px;font-weight:750}.kkj-unified .kkj-mobile-menu{display:block;position:static;border:0;padding:0;margin:0;background:transparent;font-size:14px}.kkj-unified .kkj-mobile-menu summary{display:block;cursor:pointer;border:1px solid #c7d2e4;background:white;padding:7px 11px;border-radius:6px;list-style:none;font-size:14px}.kkj-unified .kkj-mobile-menu summary::-webkit-details-marker{display:none}.kkj-unified .kkj-mobile-menu nav{position:absolute;left:0;right:0;top:100%;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:12px 22px 20px;margin:0;background:#f6f5f1;border-bottom:1px solid #dedfdc;box-shadow:0 12px 15px #1f243315}.kkj-unified .kkj-mobile-menu nav a{padding:11px 0;font-size:15px}.kkj-unified .kkj-mobile-menu nav .kkj-start{text-align:center;padding:10px;margin-top:8px}.kkj-unified .kkj-site-footer-links{grid-template-columns:1fr;gap:22px}.kkj-unified .kkj-site-footer-inner{padding:0 22px}}
@media(max-width:420px){.kkj-unified .kkj-site-bar{gap:8px;padding:12px 14px}.kkj-unified .kkj-site-brand{font-size:15px;gap:6px}.kkj-unified .kkj-mobile-account{font-size:12px}.kkj-unified .kkj-mobile-menu summary{font-size:12px;padding:7px}.kkj-unified .kkj-site-mark{width:29px;height:29px}}
@media print{.kkj-unified .kkj-site-header,.kkj-unified .kkj-site-footer{display:none!important}}

/* Mobile layout: prevent intrinsic table/form widths from widening a whole page. */
.kkj-unified{overflow-wrap:anywhere}
.kkj-unified :is(main,article,section,aside,form,fieldset,.kkj-site-footer-links>div){min-width:0}
.kkj-unified :is(input,select,textarea,button){box-sizing:border-box;max-width:100%}
.kkj-unified :is(img,video,iframe){max-width:100%}
.kkj-unified :is(input:not([type=checkbox]):not([type=radio]),select,textarea){min-width:0}
@media(max-width:950px){
 .kkj-unified .kkj-site-brand,.kkj-unified .kkj-mobile-account,.kkj-unified .kkj-mobile-menu summary{min-height:44px;display:flex;align-items:center}
 .kkj-unified .kkj-mobile-menu nav{max-height:calc(100dvh - 76px);overflow-y:auto;overscroll-behavior:contain}
 .kkj-unified main :is(h1,h2,h3,p,a){overflow-wrap:anywhere}
 .kkj-unified main table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
 .kkj-unified main pre{max-width:100%;overflow-x:auto;white-space:pre-wrap}
 .kkj-unified :is(input:not([type=checkbox]):not([type=radio]),select,textarea){font-size:16px}
 .kkj-unified button,.kkj-unified .btn{min-height:44px;white-space:normal}
 .kkj-unified fieldset{max-width:100%;box-sizing:border-box}
}

@media(max-width:950px){.kkj-unified .layout{grid-template-columns:minmax(0,1fr)}.kkj-unified main :is(h1,h2,h3){hyphens:auto}.kkj-unified input:is([type=checkbox],[type=radio]){min-width:24px;min-height:24px}}

.kkj-unified #seo-consent{box-sizing:border-box;max-height:min(75dvh,calc(100dvh - 72px))}

/* Owner-confirmed editorial AI images: visible, discreet, and readable without JS. */
.kkj-ai-visual{display:block;position:relative;min-width:0;max-width:100%}
.kkj-ai-caption{display:block!important;font:400 12px/1.5 system-ui,sans-serif!important;letter-spacing:0!important;text-transform:none!important;text-align:center;color:#394555!important;background:rgba(255,255,255,.94);padding:2px 6px;box-sizing:border-box;position:absolute;top:7px;right:7px;z-index:1;border-radius:3px;pointer-events:none}
.author .av{height:auto!important;overflow:visible!important;border-radius:0!important;background:transparent!important}
.author .av picture{display:block;aspect-ratio:1;border-radius:50%;overflow:hidden}
.author .av .kkj-ai-caption{font-size:10px!important;white-space:nowrap;padding:1px 4px;top:0;right:0}
.product .cover.book-visual{height:auto;min-height:0}
.product .cover.book-visual img{height:220px;object-fit:contain}

/* Keep inquiry buttons legible on the existing dark call-to-action panels. */
.kkj-unified .cta-box .btn-outline{color:#fff;border-color:#fff;background:transparent}
.kkj-unified .cta-box .btn-outline:hover{color:#173b78;background:#fff}
