:root{--ink:#111;--muted:#666;--line:#dedede;--paper:#fff;--wash:#f5f5f5;--font:Arial,"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:150px}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--font);font-size:14px;line-height:1.65;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
button,summary{cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.45}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:4px}
img,video,svg{max-width:100%}
img{display:block;height:auto}
figure,p,h1,h2,h3{margin:0}
h1,h2,h3{line-height:1.35;font-weight:500}
h1{font-size:clamp(25px,3vw,38px)}
h2{font-size:clamp(23px,2.3vw,30px)}
h3{font-size:18px}
ul{padding-left:1.3rem}
button{background:none}
:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
[hidden]{display:none!important}
.page-width{max-width:1440px;margin-inline:auto;padding-inline:32px}
.button{display:inline-flex;min-height:48px;padding:12px 26px;align-items:center;justify-content:center;border:1px solid var(--ink);background:var(--ink);color:#fff;line-height:1.3;font-weight:600;text-align:center;text-decoration:none;border-radius:0;transition:background .15s,color .15s}
.button:hover{background:#333;text-decoration:none}
.button--outline{background:#fff;color:var(--ink)}
.button--outline:hover{background:var(--wash)}
.field{width:100%;min-height:48px;padding:11px 14px;border:1px solid #aaa;border-radius:0;background:#fff}
.muted{color:var(--muted)}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:-100px;left:16px;z-index:100;padding:14px;background:#111;color:#fff}
.skip-link:focus{top:16px}
.breadcrumb{display:flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:12px;margin-block:26px}
.rich-text{line-height:1.9;overflow-wrap:anywhere}
.rich-text p,.rich-text ul,.rich-text ol,.rich-text h2,.rich-text h3{margin-block:0 1.2em}
.rich-text a{text-decoration:underline;text-underline-offset:3px}
.rich-text table{max-width:100%;border-collapse:collapse}
.rich-text td,.rich-text th{border:1px solid var(--line);padding:8px}
.rich-text img{max-width:100%;height:auto}
.empty-state{text-align:center;padding:72px 24px;background:var(--wash)}
.empty-state h2{margin-bottom:14px}
.empty-state p{color:var(--muted);max-width:500px;margin:0 auto 24px}
.pagination{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;margin-top:48px}
.pagination a,.pagination span{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center;padding:8px}
.pagination .current{background:var(--ink);color:#fff}
.pagination a{border:1px solid var(--line)}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 18px;list-style:none;padding:0;margin:0}
.template-content{padding-block:30px 80px;min-height:45vh}
.template-content>h1{margin-bottom:32px}
.form-errors{padding:14px;background:#fff1ef;border:1px solid #ad3224;margin-bottom:20px}
.form-success{padding:14px;background:#f3f6f0;border:1px solid #667851;margin-bottom:20px}
@view-transition{navigation:auto}
@media(max-width:989px){.page-width{padding-inline:24px}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:749px){html{scroll-padding-top:100px}.page-width{padding-inline:16px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 12px}.breadcrumb{margin-block:20px}.template-content{padding-block:24px 54px}.empty-state{padding:48px 20px}body{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
