:root{color-scheme:light;--ink:#1b1813;--ink-soft:#625b50;--paper:#f7f3ea;--surface:#fffdf8;--line:#ded7c9;--accent:#b96f22;--accent-dark:#7a4211;--highlight:#f4c46d;--max-width:1160px;--shadow:0 18px 50px #3d2d1814;font-family:Inter,Noto Sans JP,Noto Sans SC,Noto Sans KR,Yu Gothic UI,Meiryo,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:radial-gradient(circle at 12% 0%, #f4c46d38, transparent 28rem), var(--paper);margin:0;line-height:1.75}a{color:inherit}.page-shell{width:min(calc(100% - 32px), var(--max-width));margin:0 auto}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:84px;display:flex}.brand{letter-spacing:.02em;align-items:center;gap:10px;font-size:1.1rem;font-weight:700;text-decoration:none;display:inline-flex}.brand-mark{width:36px;height:36px;color:var(--highlight);background:var(--ink);border-radius:11px;place-items:center;display:grid}.header-actions,.primary-nav{align-items:center;display:flex}.header-actions{gap:clamp(14px,2.5vw,30px)}.primary-nav{gap:clamp(14px,3vw,34px)}.primary-nav a,.site-footer a,.section-heading>a{color:var(--ink-soft);font-size:.92rem;font-weight:600;text-decoration:none}.primary-nav a:hover,.site-footer a:hover,.section-heading>a:hover{color:var(--accent-dark)}.language-switcher{z-index:20;position:relative}.language-switcher summary{min-height:38px;color:var(--ink-soft);border:1px solid var(--line);cursor:pointer;letter-spacing:.04em;background:#fffdf8c7;border-radius:999px;align-items:center;gap:7px;padding:0 12px;font-size:.8rem;font-weight:700;list-style:none;display:inline-flex}.language-switcher summary::-webkit-details-marker{display:none}.language-switcher[open] summary{color:var(--accent-dark);border-color:#d6b37f}.language-switcher ul{border:1px solid var(--line);background:var(--surface);width:max-content;min-width:150px;box-shadow:var(--shadow);border-radius:16px;margin:0;padding:8px;list-style:none;position:absolute;top:calc(100% + 10px);right:0}.language-switcher a{color:var(--ink-soft);border-radius:10px;padding:8px 10px;text-decoration:none;display:block}.language-switcher a:hover,.language-switcher a[aria-current=page]{color:var(--ink);background:#f5ecdc}main{min-height:65vh}.hero{max-width:920px;padding:clamp(88px,13vw,160px) 0 clamp(64px,9vw,112px)}.eyebrow{color:var(--accent-dark);letter-spacing:.16em;text-transform:uppercase;margin:0 0 14px;font-size:.78rem;font-weight:700}h1,h2,h3{letter-spacing:-.035em;margin-top:0;line-height:1.2}.hero h1{max-width:900px;margin-bottom:28px;font-size:clamp(2.7rem,7vw,5.8rem)}.hero h1 span{display:block}.hero-copy,.page-intro>p:last-child,.lead{max-width:760px;color:var(--ink-soft);font-size:clamp(1rem,2vw,1.22rem)}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:36px;display:flex}.button{border:1px solid var(--ink);border-radius:999px;justify-content:center;align-items:center;min-height:48px;padding:0 22px;font-weight:700;text-decoration:none;display:inline-flex}.button.primary{color:var(--paper);background:var(--ink)}.button.secondary{background:0 0}.button:hover{transform:translateY(-1px)}.principles{border:1px solid var(--line);box-shadow:var(--shadow);background:#fffdf8b8;border-radius:24px;grid-template-columns:repeat(3,1fr);margin-bottom:clamp(76px,10vw,130px);display:grid}.principles div{flex-direction:column;gap:3px;padding:28px 30px;display:flex}.principles div+div{border-left:1px solid var(--line)}.principles span{color:var(--ink-soft);font-size:.9rem}.section-block{margin-bottom:clamp(80px,11vw,140px)}.section-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:26px;display:flex}.section-heading h2{margin-bottom:0;font-size:clamp(1.8rem,3vw,2.6rem)}.card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.collection-grid{margin-bottom:clamp(80px,11vw,140px)}.content-card{border:1px solid var(--line);background:var(--surface);border-radius:22px;min-height:290px;padding:28px;transition:transform .16s,box-shadow .16s;box-shadow:0 10px 30px #3d2d180a}.content-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.card-meta,.content-dates{color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;flex-wrap:wrap;justify-content:space-between;gap:8px 18px;font-size:.78rem;font-weight:600;display:flex}.content-card h3{margin:34px 0 14px;font-size:1.35rem}.content-card h3 a{text-decoration:none}.content-card p{color:var(--ink-soft)}.tag-list{flex-wrap:wrap;gap:7px;margin:22px 0 0;padding:0;list-style:none;display:flex}.tag-list li{color:var(--accent-dark);background:#fff8ea;border:1px solid #e3c99f;border-radius:999px;padding:4px 10px;font-size:.74rem;font-weight:600}.page-intro{max-width:820px;padding:clamp(70px,10vw,120px) 0 54px}.page-intro h1,.content-header h1{margin-bottom:22px;font-size:clamp(2.5rem,6vw,4.8rem)}.content-page{max-width:860px;margin:0 auto}.content-header{border-bottom:1px solid var(--line);padding:clamp(70px,10vw,120px) 0 52px}.content-dates{text-transform:none;letter-spacing:normal;justify-content:flex-start;margin-top:24px}.translation-note{max-width:760px;color:var(--accent-dark);background:#fff8ea;border:1px solid #e3c99f;border-radius:14px;margin:26px 0 0;padding:14px 16px;font-size:.9rem}.prose{padding:50px 0 100px;font-size:1.02rem}.prose h2{margin:2.5em 0 .8em;font-size:1.75rem}.prose h3{margin:2em 0 .7em;font-size:1.3rem}.prose p,.prose li{color:#39342d}.prose a{color:var(--accent-dark);text-underline-offset:3px;text-decoration-thickness:1px}.prose code{background:#eee7d9;border-radius:5px;padding:.15em .35em}.prose pre{background:var(--ink);color:var(--paper);border-radius:14px;padding:20px;overflow-x:auto}.prose blockquote{border-left:4px solid var(--highlight);color:var(--ink-soft);margin-left:0;padding-left:20px}.empty-state{color:var(--ink-soft);border:1px dashed #c7bcaa;border-radius:18px;padding:34px}.not-found{min-height:58vh}.site-footer{color:var(--ink-soft);border-top:1px solid var(--line);justify-content:space-between;gap:24px;padding:30px 0 42px;font-size:.84rem;display:flex}.site-footer p{margin:0}.social-links{flex-wrap:wrap;justify-content:flex-end;gap:10px 18px;display:flex}@media (width<=820px){.card-grid{grid-template-columns:1fr 1fr}.principles{grid-template-columns:1fr}.principles div+div{border-top:1px solid var(--line);border-left:0}}@media (width<=700px){.site-header{flex-direction:column;justify-content:center;align-items:flex-start;gap:14px;padding:18px 0}.header-actions{justify-content:space-between;width:100%}.language-switcher{margin-left:auto}}@media (width<=600px){.page-shell{width:min(calc(100% - 22px), var(--max-width))}.header-actions{align-items:flex-start}.primary-nav{flex-wrap:wrap;gap:12px 18px}.language-switcher ul{width:auto;position:fixed;top:auto;left:11px;right:11px}.hero h1 span{display:inline}.hero h1 span+span:before{content:" "}.card-grid{grid-template-columns:1fr}.content-card{min-height:auto}.section-heading{flex-direction:column;align-items:flex-start}.site-footer{flex-direction:column}.social-links{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.site-header{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(18px,3vw,38px);display:grid}.primary-nav{justify-self:end}.language-switcher{justify-self:end;margin-left:0}.language-icon{flex:none}.language-full-label{white-space:nowrap;display:inline}.language-chevron{margin-left:1px;font-size:.9em;transform:translateY(-1px)}@media (width<=900px){.site-header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px 12px;padding:18px 0;display:grid}.brand{grid-area:1/1}.language-switcher{grid-area:1/2;justify-self:end;margin-left:0}.language-switcher summary{background:var(--surface);min-height:44px;padding:0 14px}.primary-nav{border-top:1px solid var(--line);grid-area:2/1/auto/-1;justify-content:flex-start;justify-self:stretch;width:100%;padding-top:12px}.language-switcher ul{width:min(260px,100vw - 22px);min-width:0;position:absolute;top:calc(100% + 8px);left:auto;right:0}}.content-card-with-media{overflow:hidden}.content-card-media{aspect-ratio:40/21;border-bottom:1px solid var(--line);background:#e9e1d4;margin:-28px -28px 24px;display:block;overflow:hidden}.content-card-media img{object-fit:cover;width:100%;height:100%;transition:transform .22s;display:block}.content-card:hover .content-card-media img{transform:scale(1.025)}.content-card-with-media h3{margin-top:24px}.content-cover{aspect-ratio:40/21;border:1px solid var(--line);box-shadow:var(--shadow);background:#e9e1d4;border-radius:24px;margin:44px 0 0;overflow:hidden}.content-cover img{object-fit:cover;width:100%;height:100%;display:block}.project-facts{border:1px solid var(--line);background:#fffdf8d1;border-radius:20px;margin:0 0 48px;padding:26px 28px}.project-facts h2{margin:0 0 18px;font-size:1.25rem}.project-facts dl{gap:14px;margin:0;display:grid}.project-facts dl>div{border-top:1px solid var(--line);grid-template-columns:minmax(110px,.28fr) minmax(0,1fr);gap:16px;padding-top:14px;display:grid}.project-facts dt{color:var(--ink-soft);font-size:.82rem;font-weight:700}.project-facts dd{color:var(--ink);margin:0}.project-link-list{flex-wrap:wrap;gap:10px 18px;display:flex}@media (width<=600px){.content-cover{border-radius:18px;margin-top:30px}.project-facts{padding:22px}.project-facts dl>div{grid-template-columns:1fr;gap:4px}}@media (prefers-reduced-motion:reduce){.content-card-media img{transition:none}}.about-page{max-width:980px;margin:0 auto;padding-bottom:clamp(80px,11vw,140px)}.about-intro{max-width:860px}.about-intro>p:last-child{max-width:800px}.about-section{margin-top:clamp(52px,8vw,88px)}.about-section>h2,.about-links h2{margin-bottom:24px;font-size:clamp(1.7rem,3vw,2.45rem)}.about-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.about-card,.about-policy,.about-links{border:1px solid var(--line);background:var(--surface);border-radius:22px;box-shadow:0 10px 30px #3d2d180a}.about-card{padding:28px}.about-card h3{margin-bottom:12px;font-size:1.3rem}.about-card p,.about-policy p,.about-links p{color:var(--ink-soft);margin-bottom:0}.about-policy{padding:clamp(28px,5vw,48px)}.about-policy p{max-width:800px}.about-policy p+p{margin-top:18px}.about-links{justify-content:space-between;align-items:center;gap:28px;padding:clamp(28px,5vw,44px);display:flex}.about-links h2{margin-bottom:8px}.about-social-link{flex:none;gap:8px}@media (width<=820px){.about-grid{grid-template-columns:1fr}}@media (width<=600px){.about-links{flex-direction:column;align-items:flex-start}.about-social-link{width:100%}}
