/* Common site shell only. Page appearance lives in each page. */
:root{--ink:#292c28;--muted:#696b64;--line:#dedfd9;--white:#fff;--serif:'Yu Mincho','Hiragino Mincho ProN',serif;--sans:'Helvetica Neue',Arial,'Hiragino Kaku Gothic ProN',Meiryo,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:35px}
body{margin:0;color:var(--ink);background:var(--white);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
img{display:block;width:100%;height:auto}
h1,h2,h3,p{margin:0}
h1,h2,h3{font-weight:400}
a:focus-visible,button:focus-visible{outline:2px solid #715b35;outline-offset:6px}
a:hover{color:#756345}
.wrap{width:84%;max-width:1280px;margin-inline:auto}
.header{display:flex;align-items:center;justify-content:space-between;padding:32px 4%;gap:30px}
.brand{display:inline-flex;flex-direction:column;flex-shrink:0}
.brand>span{font-family:var(--serif);font-weight:600;font-size:26px;letter-spacing:.18em}
.brand-light{font-weight:400;font-size:22px}
.brand small{font-size:10px;letter-spacing:.2em;margin-top:9px}
.header nav{display:flex;align-items:center;gap:30px;font-size:14px;letter-spacing:.04em}
.nav-contact{border-bottom:1px solid var(--ink);padding:12px 0}
.menu-toggle{display:none}
.site-footer{border-top:1px solid var(--line);padding-top:55px}
.footer-top{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:50px}
address{font-size:13px;line-height:2;font-style:normal}
.footer-links{display:grid;gap:13px;font-size:12px}
.footer-links a:first-child{font-size:14px;margin-bottom:6px}
.footer-bottom{display:flex;justify-content:space-between;padding:55px 0 25px;font-size:12px;color:var(--muted)}
.footer-bottom small{font-size:10px;letter-spacing:.12em}
.skip{position:absolute;top:-80px;left:20px;z-index:20;background:white;padding:15px}
.skip:focus{top:10px}
@media(max-width:1050px){.header nav{gap:18px;font-size:12px}
.wrap{width:88%}}
@media(max-width:760px){.header{padding:23px 6%;position:relative;flex-wrap:wrap;gap:0}
.brand>span{font-size:23px}
.brand-light{font-size:20px}
.brand small{font-size:9px}
.menu-toggle{display:flex;align-items:center;gap:12px;background:none;border:0;padding:12px 0;font-size:13px}
.menu-toggle span{font-size:20px}
.header nav{display:none;width:100%;padding:28px 0 5px;flex-direction:column;align-items:stretch;font-size:15px;gap:0}
.header nav.is-open{display:flex}
.header nav a{padding:15px 0;border-bottom:1px solid var(--line)}
.footer-top{grid-template-columns:1fr 1fr;gap:30px}
.footer-top>.brand{grid-column:span 2}
.footer-links{font-size:11px;line-height:1.7}
address{font-size:12px}
.footer-bottom{padding-top:40px;gap:20px;font-size:11px}
.footer-bottom small{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Muted blog thumbnails and the article opening image. */
.issnp-blog-image img:not(.issnp-blog-placeholder),.issnp-cms-thumbnail,.jl-image,.iw-archive-item.type-post .wp-post-image,.iw-post-featured-image{filter:saturate(.65)}
.single-post .iw-post-featured{margin:0 0 42px}
.single-post .iw-post-featured img{display:block;width:100%;max-width:100%;height:auto}
@media(max-width:760px){.single-post .iw-post-featured{margin-bottom:30px}}

/* Always available upload link, outside the sliding page shell. */
.iw-floating-upload{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:35;display:flex;align-items:center;gap:16px;writing-mode:vertical-rl;padding:24px 15px;background:#eee4d8;color:#5e4c3e;border:1px solid #ddcdbc;border-right:0;border-radius:6px 0 0 6px;font-family:var(--serif);font-size:14px;letter-spacing:.12em;line-height:1.5;box-shadow:0 3px 16px #00000008;text-decoration:none}
.iw-floating-upload:hover{background:#e4d5c4;opacity:1}
.iw-floating-upload:focus-visible{outline:2px solid #80664f;outline-offset:3px}
.iw-drawer-open .iw-floating-upload{visibility:hidden}
@media(max-width:760px){.iw-floating-upload{top:auto;bottom:calc(70px + env(safe-area-inset-bottom,0px));right:12px;transform:none;writing-mode:horizontal-tb;padding:12px 16px;gap:10px;font-size:12px;border:1px solid #ddcdbc;border-radius:4px;min-height:44px}}
@media print{.iw-floating-upload{display:none}}

.site-footer .footer-links .iw-footer-menu a{font-size:11px;font-weight:400;letter-spacing:inherit}
