@font-face{font-family:Koyo;src:url("fonts/instrument-sans-400.ttf") format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Koyo;src:url("fonts/instrument-sans-500.ttf") format("truetype");font-weight:500;font-display:swap}@font-face{font-family:Koyo;src:url("fonts/instrument-sans-600.ttf") format("truetype");font-weight:600;font-display:swap}@font-face{font-family:Koyo;src:url("fonts/instrument-sans-700.ttf") format("truetype");font-weight:700;font-display:swap}
:root{--ink:#171817;--orange:#ff7b3f;--muted:#606660;--line:#e4ded8;--cream:#fff9f4}*{box-sizing:border-box}html{background:#fff}body{margin:0;min-width:0;overflow-x:hidden;background:#fff;color:var(--ink);font-family:Koyo,system-ui,sans-serif;font-size:16px;line-height:1.55}a{color:inherit}img{display:block;max-width:100%;height:auto}main{display:block;width:100%;max-width:none;margin:0;padding:0}
body>header{position:sticky;z-index:50;top:12px;display:flex;align-items:center;justify-content:space-between;width:min(1240px,calc(100% - 40px));min-height:68px;margin:12px auto 0;padding:8px 10px 8px 22px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.96);box-shadow:0 14px 32px rgba(23,24,23,.06);backdrop-filter:blur(15px)}body>header .logo{display:flex;flex:0 0 auto;align-items:center;line-height:0}body>header .koyo-wordmark{width:108px;height:auto}body>header nav{display:flex;align-items:center;gap:clamp(15px,2vw,28px);margin-left:auto}body>header nav>a:not(.button){display:inline-flex;align-items:center;min-height:42px;color:var(--ink);font-size:13px;font-weight:600;line-height:1;letter-spacing:-.015em;text-decoration:none;white-space:nowrap}body>header nav>a:not(.button):hover{color:var(--orange)}body>header nav>.button{display:inline-flex;align-items:center;gap:9px;min-height:50px;padding:0 18px;border-radius:10px;background:#272927;color:#fff;font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap}body>header .nav-toggle{display:none;width:42px;height:42px;padding:0;border:0;background:transparent;cursor:pointer}body>header .nav-toggle span{display:block;width:20px;height:2px;margin:5px auto;background:var(--ink);transition:transform .2s ease}
.koyo-content-shell{width:min(1180px,calc(100% - 48px));margin:0 auto}.koyo-page-hero{position:relative;padding:96px 0 58px;overflow:hidden}.koyo-page-hero:before{position:absolute;inset:0 0 auto;z-index:0;height:390px;background-image:linear-gradient(rgba(255,123,63,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,123,63,.1) 1px,transparent 1px);background-size:32px 32px;content:"";pointer-events:none}.koyo-page-hero>*{position:relative}.koyo-eyebrow{display:inline-block;color:var(--orange);font-size:11px;font-weight:700;letter-spacing:.14em;line-height:1.2}.koyo-page-hero h1{max-width:850px;margin:16px 0 0;font-size:clamp(2.7rem,4.4vw,4.7rem);font-weight:500;line-height:.98;letter-spacing:-.06em}.koyo-page-hero p{max-width:650px;margin:20px 0 0;color:var(--muted);font-size:17px;line-height:1.65}
.koyo-post{padding:84px 0 112px}.koyo-post-header{width:min(980px,calc(100% - 48px));margin:0 auto 48px;text-align:center}.koyo-post-header .koyo-eyebrow{margin-bottom:17px}.koyo-post-header h1{max-width:960px;margin:0 auto 20px;font-size:clamp(3rem,6vw,6.3rem);font-weight:500;line-height:.96;letter-spacing:-.07em}.koyo-post-deck{max-width:700px;margin:0 auto 22px;color:var(--muted);font-size:clamp(16px,1.5vw,19px);line-height:1.6}.koyo-post-byline{display:flex;flex-wrap:wrap;justify-content:center;gap:7px 20px;color:var(--muted);font-size:13px}.koyo-post-byline a,.koyo-post-aside a{color:var(--orange)}.koyo-post-image{width:min(1180px,calc(100% - 48px));max-height:680px;margin:0 auto 64px;aspect-ratio:16/9;border-radius:22px;background:var(--cream);object-fit:cover}.koyo-post-layout{display:grid;width:min(1000px,calc(100% - 48px));margin:0 auto;grid-template-columns:170px minmax(0,720px);gap:clamp(34px,6vw,78px)}.koyo-post-aside{padding-top:10px;color:var(--muted);font-size:11px;letter-spacing:.06em}.koyo-post-aside strong{display:block;margin-bottom:12px;color:var(--ink)}.koyo-post-aside a{display:block;margin:7px 0;font-size:12px;letter-spacing:0}.koyo-post-content{font-size:18px;line-height:1.78}.koyo-post-content>p:first-child{font-size:1.14em}.koyo-post-content h2{margin:2.1em 0 .62em;font-size:clamp(2rem,3.4vw,3.3rem);font-weight:500;line-height:1;letter-spacing:-.055em}.koyo-post-content h3{margin:1.8em 0 .6em;font-size:clamp(1.45rem,2.3vw,2rem);line-height:1.1}.koyo-post-content img{margin:30px 0;border-radius:16px}.koyo-review-note{margin-top:54px;padding:22px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);font-size:14px;line-height:1.6}
.koyo-archive{padding:24px 0 100px}.koyo-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:52px 22px}.koyo-card a{display:block;color:inherit;text-decoration:none}.koyo-card img,.koyo-card-placeholder{display:block;width:100%;height:250px;border-radius:18px;background:var(--cream);object-fit:cover}.koyo-card-placeholder{display:grid;place-items:center}.koyo-card-placeholder img{width:min(60%,180px);height:auto;object-fit:contain}.koyo-card-meta{display:block;margin-top:18px;color:var(--orange);font-size:10px;font-weight:700;letter-spacing:.13em;text-transform:uppercase}.koyo-card h2{margin:10px 0 8px;font-size:clamp(1.35rem,2vw,1.85rem);font-weight:500;line-height:1.05;letter-spacing:-.045em}.koyo-card p{margin:0;color:var(--muted);font-size:15px;line-height:1.6}.koyo-pagination{margin-top:58px}.koyo-pagination .nav-links{display:flex;gap:8px}.koyo-pagination a,.koyo-pagination span{display:grid;min-width:42px;height:42px;place-items:center;border:1px solid var(--line);border-radius:8px;text-decoration:none}.koyo-pagination .current{border-color:var(--orange);background:var(--orange)}
.koyo-entry{padding:28px 0 100px}.koyo-entry-content{max-width:760px;font-size:18px;line-height:1.78}.koyo-entry-content h2{font-size:clamp(2rem,3.4vw,3.3rem);line-height:1;letter-spacing:-.055em}.koyo-entry-content img{margin:26px 0;border-radius:16px}.koyo-wp-form{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:900px}.koyo-wp-form label{display:grid;gap:8px;font-size:14px;font-weight:600}.koyo-wp-form input,.koyo-wp-form textarea{width:100%;padding:14px;border:1px solid var(--line);border-radius:8px;font:inherit}.koyo-form-wide,.koyo-form-success{grid-column:1/-1}.koyo-wp-form button{display:inline-flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 18px;border:0;border-radius:8px;background:var(--orange);color:var(--ink);font:700 14px Koyo, sans-serif}.koyo-form-success{padding:14px;border-left:3px solid var(--orange);background:#fff3ec}
.koyo-not-found{display:flex;align-items:center;min-height:calc(100vh - 92px);padding:clamp(48px,8vw,110px) max(24px,calc((100vw - 1240px)/2));background:linear-gradient(115deg,#fffaf5 0%,#fff 56%,#fff1e8 100%)}.koyo-not-found-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(300px,.72fr);align-items:center;width:100%;max-width:1240px;margin:auto;gap:clamp(36px,8vw,120px)}.koyo-not-found-copy{max-width:710px}.koyo-not-found h1{margin:18px 0 22px;font-size:clamp(3.35rem,6.2vw,6.7rem);font-weight:500;line-height:.94;letter-spacing:-.065em}.koyo-not-found p{color:var(--muted);font-size:clamp(16px,1.35vw,19px);line-height:1.6}.koyo-not-found-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.koyo-not-found-actions a{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:0 20px;font-size:14px;font-weight:700;text-decoration:none}.koyo-not-found-primary{background:var(--orange)}.koyo-not-found-secondary{border:1px solid var(--ink)}.koyo-not-found-app{position:relative;padding:clamp(18px,2vw,28px);border-radius:26px;background:#f2ede7;box-shadow:0 26px 60px rgba(70,46,25,.12);text-align:center}.koyo-not-found-app:before{position:absolute;inset:14px;border:1px solid rgba(255,123,63,.22);border-radius:18px;content:""}.koyo-not-found-app img,.koyo-not-found-app p{position:relative;z-index:1}.koyo-not-found-app img{width:min(100%,390px);margin:auto}.koyo-not-found-app p{margin:12px auto 0;font-size:14px}
body>footer{display:grid;grid-template-columns:1.4fr repeat(4,1fr);width:min(1240px,calc(100% - 48px));margin:0 auto;padding:60px 0 46px;gap:28px;border-top:1px solid var(--line)}body>footer>div{min-width:0}body>footer .logo{display:inline-flex;margin-bottom:12px}body>footer .koyo-wordmark{width:108px}body>footer h3{margin:0 0 14px;font-size:12px}body>footer p,body>footer a{display:block;margin:0 0 9px;color:var(--muted);font-size:13px;line-height:1.55;text-decoration:none}
@media(max-width:1050px){body>header .nav-toggle{display:block}body>header:not(.menu-open) nav{display:none}body>header.menu-open nav{position:absolute;top:calc(100% + 10px);right:0;left:0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:10px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 22px 50px rgba(41,29,19,.14)}body>header.menu-open nav>a:not(.button){width:100%;min-height:52px;padding:0 12px;border-bottom:1px solid var(--line);font-size:15px}body>header.menu-open nav>.button{justify-content:space-between;width:100%;margin-top:9px}.koyo-not-found-hero{grid-template-columns:1fr}.koyo-not-found-app{max-width:460px}body>header.menu-open .nav-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)}body>header.menu-open .nav-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)}}
@media(max-width:800px){body>footer{grid-template-columns:repeat(2,minmax(0,1fr));width:calc(100% - 36px);padding:44px 0}.koyo-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.koyo-post{padding:62px 0 78px}.koyo-post-header{width:calc(100% - 36px);margin-bottom:34px}.koyo-post-header h1{font-size:clamp(2.8rem,12.5vw,4.5rem)}.koyo-post-image,.koyo-post-layout{width:calc(100% - 36px)}.koyo-post-layout{grid-template-columns:1fr;gap:24px}.koyo-post-aside{display:flex;align-items:center;gap:12px;padding:0 0 16px;border-bottom:1px solid var(--line)}.koyo-post-aside strong{margin:0}.koyo-post-aside a{margin:0}.koyo-post-content{font-size:17px}.koyo-wp-form{grid-template-columns:1fr}.koyo-form-wide,.koyo-form-success{grid-column:auto}}
@media(max-width:600px){body>header{top:8px;width:calc(100% - 28px);min-height:58px;margin-top:8px;padding:8px 10px 8px 18px}.koyo-content-shell{width:calc(100% - 36px)}.koyo-page-hero{padding:72px 0 44px}.koyo-page-hero h1{font-size:clamp(2.5rem,11vw,3.6rem)}.koyo-card-grid{grid-template-columns:1fr}.koyo-card img,.koyo-card-placeholder{height:240px}.koyo-not-found{min-height:calc(100svh - 74px);padding:48px 20px}.koyo-not-found h1{font-size:clamp(3rem,15vw,4.7rem)}.koyo-not-found-actions{display:grid}.koyo-not-found-actions a{width:100%}body>footer{grid-template-columns:1fr}}
/* Mobile menu hardening — shared across the static build and all WordPress templates. */
body>header{overflow:visible!important}body>header nav{min-width:0!important}body>header .nav-toggle{flex:0 0 42px!important}body>header.menu-open .nav-toggle span:first-child{transform:translateY(3.5px) rotate(45deg)!important}body>header.menu-open .nav-toggle span:last-child{transform:translateY(-3.5px) rotate(-45deg)!important}@media(max-width:1050px){body>header{position:sticky!important}body>header.menu-open{z-index:9999!important}body>header.menu-open nav{max-height:calc(100svh - 92px)!important;overflow-y:auto!important}body>header.menu-open nav>a{flex-shrink:0!important}body>header.menu-open nav>.button{min-height:54px!important}}@media(max-width:420px){body>header .koyo-wordmark{width:92px!important}body>header .nav-toggle{width:38px!important;flex-basis:38px!important}body>header.menu-open nav{left:-1px!important;right:-1px!important}}
/* One clear credit block above each article image; no decorative credit rules. */
.koyo-post-header .koyo-post-byline,.post-hero .post-meta,.post-hero .post-credits{border:0!important;box-shadow:none!important;padding-top:0!important;padding-bottom:0!important;line-height:1.6!important}
.koyo-post-byline>span,.post-credits>span{border:0!important}
.koyo-post-aside,.post-aside,.post-aside-categories{border:0!important;box-shadow:none!important}
.koyo-relocated-reviewer{flex-basis:100%}
@media(max-width:700px){.koyo-post-byline,.post-credits{gap:8px 16px!important}.koyo-post-byline>span:last-child{flex-basis:100%}}
