
:root{--bg:#0b0f18;--surface:#141c29;--raised:#1d2737;--border:#303b4b;--text:#f4f0ec;--muted:#bcc5d0;--accent:#802b42;--accent-text:#f0acba;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.8 'Yu Gothic UI','Hiragino Kaku Gothic ProN',Meiryo,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--accent-text)}button,input{font:inherit}button{cursor:pointer}a,button,input{outline-offset:4px}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent-text)}p{margin:0 0 18px}h1,h2,h3{font-family:'Yu Mincho',Georgia,serif;font-weight:500;line-height:1.5;overflow-wrap:anywhere}h1{font-size:38px;letter-spacing:.04em;margin:10px 0 14px}h2{font-size:27px;margin:0 0 18px}h3{font-size:17px;margin:7px 0 15px}img{max-width:100%;height:auto}main{min-height:50vh}.shell{max-width:1152px;width:calc(100% - 64px);margin:auto}.skip{position:absolute;left:16px;top:-90px;background:var(--text);color:var(--bg);padding:12px;z-index:999}.skip:focus{top:8px}.isolation-banner{padding:5px 12px;text-align:center;font-size:11px;letter-spacing:.1em;color:var(--muted);background:#172031;border-bottom:1px solid var(--border)}.site-header{border-bottom:1px solid var(--border)}.header-inner{min-height:98px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:13px;font-family:'Yu Mincho',serif;font-size:26px;letter-spacing:.08em;white-space:nowrap}.brand small{display:block;font:10px/1.6 Meiryo,sans-serif;letter-spacing:.12em;color:var(--muted)}.brand-mark{background:var(--accent);font-size:22px;width:43px;height:43px;display:grid;place-items:center;border-radius:6px}#primary-nav{display:flex;gap:28px;font-size:13px}#primary-nav a{padding:12px 0}.menu-button{display:none;min-height:44px;padding:8px 12px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:var(--text)}.hero{padding-top:42px;padding-bottom:34px}.eyebrow{font:11px/1.6 Meiryo,sans-serif;letter-spacing:.15em;color:var(--accent-text);margin:0 0 6px}.hero-sub{color:var(--muted);font-size:14px;margin-bottom:22px}.search-box{max-width:780px;margin:20px 0 20px}.search-box label{display:block;margin-bottom:9px;font-weight:bold;font-size:13px}.search-row{display:flex;align-items:center;background:var(--surface);border:1px solid #566277;border-radius:6px;min-height:56px;overflow:visible}.search-icon{font-size:25px;color:var(--muted);padding:0 17px}.search-row input{flex:1;min-width:0;width:0;border:0;background:transparent;color:var(--text);padding:12px 8px;font-size:16px;min-height:52px}.search-row button{background:var(--accent);color:var(--text);border:0;border-radius:4px;padding:11px 28px;margin:5px;font-weight:bold;min-height:44px}.search-box small{display:block;color:var(--muted);font-size:11px;line-height:1.7;margin-top:8px}.category-row{display:flex;gap:9px;flex-wrap:wrap;align-items:center;scroll-margin-top:20px}.category-row>span{font-size:12px;color:var(--muted);margin-right:4px}.chip{display:inline-flex;padding:9px 13px;font-size:12px;border:1px solid var(--border);border-radius:5px;min-height:42px;align-items:center}.chip:hover{border-color:var(--accent-text);background:var(--raised)}.works-section{padding:4px 0 48px;scroll-margin-top:20px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px}.section-heading h2{margin-bottom:5px}.section-note{color:var(--muted);font-size:11px;margin:3px 0 20px}.text-link{font-size:12px;color:var(--accent-text);display:inline-flex;align-items:center;min-height:44px}.work-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.work-card{display:flex;flex-direction:column;border:1px solid var(--border);background:var(--surface);border-radius:6px;overflow:hidden}.cover-link{display:block;min-width:0}.work-card .cover{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}.card-copy{padding:16px;display:flex;flex:1;flex-direction:column;min-width:0}.card-copy .eyebrow{font-size:10px;letter-spacing:.08em}.card-copy :is(h2,h3){font-size:17px;line-height:1.55;word-break:normal}.card-meta{color:var(--muted);font-size:10px;display:block;margin-top:auto}.card-action{display:flex;justify-content:space-between;padding-top:12px;margin-top:12px;border-top:1px solid var(--border);font-size:12px;min-height:44px;color:var(--accent-text)}.guides-section{padding-bottom:48px}.guides-section .section-heading{margin-bottom:23px}.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.guide-card{display:flex;min-width:0;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:var(--surface)}.guide-card .cover-link{width:34%;flex-shrink:0}.guide-card .cover{width:100%;height:100%;min-height:240px;object-fit:cover;display:block}.guide-card .card-copy{padding:20px}.guide-card :is(h2,h3){font-size:19px}.guide-card p{color:var(--muted);font-size:12px;margin-bottom:14px}.editorial{border-top:1px solid var(--border);padding:42px 0 48px}.editorial h2{margin:8px 0 18px}.editorial p{max-width:660px;color:var(--muted);font-size:14px}.site-footer{border-top:1px solid var(--border);padding:40px 0 28px;background:#080c13}.footer-top{display:flex;justify-content:space-between;gap:30px;margin-bottom:24px}.footer-top p{font-size:12px;color:var(--muted)}.site-footer nav{display:flex;gap:16px 22px;flex-wrap:wrap;font-size:11px;margin-bottom:26px}.site-footer nav a{min-height:44px;display:flex;align-items:center}.site-footer small{color:var(--muted);font-size:10px}.breadcrumbs{color:var(--muted);font-size:11px;margin-bottom:26px;overflow-wrap:anywhere}.listing{padding-top:32px;padding-bottom:50px}.listing h1{font-size:32px}.listing .category-row{margin-bottom:26px}.pagination{display:flex;justify-content:center;gap:12px;margin-top:30px;flex-wrap:wrap}.pagination a,.pagination span.page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--border);padding:8px}.pagination .current{background:var(--accent)}.empty-state{padding:34px 0;grid-column:1/-1}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:48px;padding-top:32px;padding-bottom:60px}.article-main{min-width:0}.article-main h1{font-size:34px;line-height:1.6;margin-top:8px}.article-meta{font-size:11px;color:var(--muted)}.editorial-note{padding:13px 17px;background:var(--surface);border-left:3px solid var(--accent);font-size:11px;color:var(--muted);margin:24px 0}.article-visual{margin:0 0 30px}.article-visual img{display:block;width:100%;max-height:350px;object-fit:cover;object-position:center 36%;border-radius:6px}.article-visual figcaption{font-size:10px;color:var(--muted);margin-top:5px}.toc{padding:23px 26px;background:var(--surface);border:1px solid var(--border);border-radius:6px;margin-bottom:30px;font-size:13px}.toc strong{font-weight:500}.toc ol{margin:12px 0 0;padding-left:21px}.toc a{display:inline-block;padding:5px 0}.article-body{font-size:15px;line-height:2.1;overflow-wrap:anywhere}.article-body h2{font-size:25px;border-bottom:1px solid var(--border);padding-bottom:12px;margin:38px 0 22px;scroll-margin-top:20px}.article-body h3{font-size:20px;margin:26px 0 16px}.article-body p{margin-bottom:24px}.article-body a{text-decoration:underline;text-underline-offset:4px;color:var(--accent-text)}.article-body ul,.article-body ol{padding-left:23px}.article-body table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed;margin:26px 0}.article-body th,.article-body td{border:1px solid var(--border);padding:12px;text-align:left;overflow-wrap:anywhere}.article-body th{background:var(--raised)}.article-aside{align-self:start;padding:22px;border:1px solid var(--border);border-radius:6px;background:var(--surface);margin-top:52px}.article-aside h2{font-size:19px}.article-aside p{font-size:12px;color:var(--muted)}.article-aside>a{font-size:12px;color:var(--accent-text)}.aside-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:26px}.related{margin:42px 0 26px;border-top:1px solid var(--border);padding-top:25px}.related h2{font-size:23px}.related .guide-grid{grid-template-columns:1fr}.policy-page{max-width:840px;padding-top:32px;padding-bottom:60px}.policy-page h1{font-size:32px}.draft-badge{padding:8px 14px;background:var(--accent);font-size:12px;border-radius:5px}.empty-cover{background:var(--raised);color:var(--muted);display:grid!important;place-items:center;font-size:13px}
@media(max-width:1050px){.article-layout{gap:30px;grid-template-columns:minmax(0,1fr) 220px}.article-main h1{font-size:30px}}
@media(max-width:950px){.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guide-grid{grid-template-columns:1fr}.article-layout{grid-template-columns:1fr}.article-aside{margin-top:0}.shell{width:calc(100% - 48px)}#primary-nav{gap:18px}.guide-card .cover-link{width:30%}.guide-card .cover{min-height:210px}}
@media(max-width:700px){.shell{width:calc(100% - 32px)}.isolation-banner{font-size:9px;padding:4px}.header-inner{min-height:75px;position:relative;flex-wrap:wrap;gap:0}.brand{font-size:21px;gap:10px}.brand-mark{width:35px;height:35px;font-size:19px}.brand small{font-size:8px;letter-spacing:.05em}.menu-button{display:block;font-size:11px;padding:8px 10px}#primary-nav{display:none;flex-basis:100%;gap:0;flex-direction:column;border-top:1px solid var(--border);padding:8px 0}#primary-nav.is-open{display:flex}#primary-nav a{padding:12px 5px;min-height:44px}.hero{padding-top:25px;padding-bottom:22px}.eyebrow{font-size:9px;letter-spacing:.12em}h1{font-size:23px;letter-spacing:.02em;margin:8px 0 10px}h2{font-size:22px}.hero-sub{font-size:11px;margin-bottom:17px}.search-box{margin:17px 0}.search-box label{font-size:11px;margin-bottom:7px}.search-icon{padding:0 10px;font-size:23px}.search-row input{padding:10px 3px;font-size:16px;min-height:48px}.search-row button{padding:8px 14px;font-size:12px;margin:4px;min-height:44px}.search-row{min-height:54px}.search-box small{font-size:10px;line-height:1.8}.category-row{gap:7px}.category-row>span{width:100%;font-size:10px}.chip{font-size:10px;padding:8px 11px;min-height:40px}.works-section{padding-bottom:32px}.work-grid{gap:12px}.section-heading{gap:12px}.section-heading h2{font-size:20px}.section-heading .text-link{font-size:10px;flex-shrink:0}.section-note{font-size:10px;margin:3px 0 14px}.card-copy{padding:11px}.card-copy .eyebrow{font-size:9px}.card-copy :is(h2,h3){font-size:14px;margin:6px 0 12px;line-height:1.6}.card-meta{font-size:9px}.card-action{font-size:10px;margin-top:10px;padding-top:10px}.guides-section{padding-bottom:34px}.guides-section h2{font-size:19px}.guide-grid{gap:13px}.guide-card .cover-link{width:30%}.guide-card .cover{min-height:190px}.guide-card .card-copy{padding:13px}.guide-card :is(h2,h3){font-size:16px}.guide-card p{font-size:11px}.editorial{padding:30px 0}.editorial h2{font-size:22px}.editorial p{font-size:12px}.site-footer{padding:30px 0 23px}.footer-top{flex-direction:column;gap:14px;margin-bottom:20px}.footer-top .brand{font-size:22px}.site-footer nav{gap:5px 20px;font-size:10px;margin-bottom:20px}.listing{padding-top:23px;padding-bottom:35px}.listing h1{font-size:25px}.breadcrumbs{font-size:10px;margin-bottom:20px}.listing .category-row{margin-bottom:22px}.article-layout{padding-top:23px;padding-bottom:40px;gap:28px}.article-main h1{font-size:25px;line-height:1.6;letter-spacing:0}.article-meta{font-size:10px}.editorial-note{margin:18px 0;font-size:10px;padding:11px 13px}.article-visual{margin-bottom:22px}.article-visual img{max-height:240px}.toc{padding:18px 19px;font-size:12px}.article-body{font-size:14px;line-height:2}.article-body h2{font-size:21px;margin:28px 0 18px}.article-body h3{font-size:18px}.article-body table{font-size:12px}.article-body th,.article-body td{padding:9px}.article-aside{padding:18px}.policy-page{padding-top:23px}.policy-page h1{font-size:27px}}
@media(max-width:340px){h1{font-size:21px}.brand{font-size:19px;gap:8px}.brand small{font-size:7px}.menu-button{font-size:10px;padding:8px}.search-row button{padding:8px 11px}.search-icon{padding:0 8px}.card-copy{padding:9px}.card-copy :is(h2,h3){font-size:13px}.card-copy .eyebrow{letter-spacing:0}.guide-card :is(h2,h3){font-size:15px}.guide-card .cover-link{width:28%}.guide-card .card-copy{padding:11px}.article-main h1{font-size:23px}.section-heading h2{font-size:19px}.guides-section h2{font-size:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.article-body a{display:inline-block;max-width:100%}

/* Long search text must wrap at narrow viewport widths. */
.hero-sub{overflow-wrap:anywhere;}

/* Editorial guides use original typography, never sample product artwork. */
.editorial-cover{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:12px;padding:28px;text-align:left;background:radial-gradient(ellipse at 90% 10%,#462333 0,transparent 65%),linear-gradient(135deg,#171f31,#0c1019);color:#eee7e4}.editorial-cover .eyebrow{font-size:10px;letter-spacing:.12em;color:#c6aab4}.editorial-cover strong{font-family:serif;font-size:clamp(20px,2.2vw,30px);font-weight:500;line-height:1.4}.editorial-cover>span:last-child{font-size:12px;color:#bbb8c2}@media(max-width:480px){.editorial-cover{padding:20px;gap:10px}}
.editorial-cover>*{max-width:100%;min-width:0;overflow-wrap:anywhere}
.guide-card .editorial-cover{padding:12px;gap:8px}
.guide-card .editorial-cover strong{font-size:18px;line-height:1.5}
.guide-card .editorial-cover .eyebrow{font-size:8px;letter-spacing:.06em}
.guide-card .editorial-cover>span:last-child{font-size:10px}
@media(max-width:480px){.guide-card .editorial-cover{padding:10px;gap:6px}.guide-card .editorial-cover strong{font-size:14px}}
