:root{--paper:#f4efe6;--sheet:#fffaf3;--ink:#2b241e;--muted:#6e6258;--line:#e3d6c4;--persimmon:#b5522a;--pine:#234743;--pine-soft:#e7f0ee;--shadow:0 10px 30px rgba(70,46,24,0.06);color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at top left,rgba(181,82,42,.08),transparent 28rem),var(--paper);color:var(--ink);font-family:var(--font-gothic),"Hiragino Sans","Yu Gothic",sans-serif;font-size:17px;line-height:1.75}a{color:var(--pine)}a:hover{color:var(--persimmon)}.skip{position:absolute;left:1rem;top:-4rem;background:var(--ink);color:white;padding:.4rem .8rem}.skip:focus{top:.5rem}.wrap{width:min(1080px,calc(100% - 2rem));margin:0 auto}.site-header{border-bottom:1px solid var(--line);background:rgba(255,250,243,.9);position:-webkit-sticky;position:sticky;top:0;z-index:2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.site-footer .wrap,.site-header .wrap{display:flex;gap:1rem 1.5rem;align-items:center;justify-content:space-between;padding:.85rem 0;flex-wrap:wrap}.brand{text-decoration:none;color:inherit}.brand strong{font-family:var(--font-mincho),serif;font-size:1.45rem;font-weight:500;letter-spacing:.04em}.brand small{display:block;color:var(--muted);font-size:.78rem;letter-spacing:.08em}.nav{display:flex;gap:.35rem .9rem;flex-wrap:wrap}.nav a{text-decoration:none;font-size:.95rem}.hero{padding:3.2rem 0 1.4rem}.hero h1{font-family:var(--font-mincho),serif;font-weight:500;font-size:clamp(2rem,4vw,3.3rem);line-height:1.35;margin:0 0 .8rem}.hero p{max-width:40rem;margin:0;color:var(--muted)}.section{padding:1.2rem 0 1.6rem}.section-head{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;margin-bottom:.8rem}.page-head h1,.section h2{font-family:var(--font-mincho),serif;font-weight:500;font-size:1.7rem;margin:0}.quiet,.section-head a{color:var(--muted);font-size:.92rem}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:.9rem;gap:.9rem}.card,.panel{background:var(--sheet);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.card{padding:1rem 1.05rem 1.1rem;display:flex;flex-direction:column;gap:.35rem;text-decoration:none;color:inherit}.card:hover{border-color:#c9b59a}.card .meta,.kicker{color:var(--muted);font-size:.82rem;letter-spacing:.04em}.card h3{margin:0;font-size:1.12rem;line-height:1.45;font-weight:600}.dates{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.badge{align-self:flex-start;border-radius:999px;padding:.05rem .55rem;background:var(--pine-soft);color:var(--pine);font-size:.82rem}.lines{margin:.3rem 0 0;padding:0;list-style:none}.lines li{font-size:.92rem}.lines span{color:var(--muted);margin-right:.35rem}.areas{display:flex;flex-wrap:wrap;gap:.5rem}.areas a,.button{text-decoration:none;border:1px solid var(--line);background:var(--sheet);border-radius:999px;padding:.35rem .8rem}.button{display:inline-block;background:var(--pine);color:white;border-color:var(--pine)}.button:hover{color:white;background:#1a3835}.page-head{padding:2.2rem 0 .4rem}.page-head p{color:var(--muted);max-width:40rem}.detail{display:grid;grid-template-columns:1.4fr .8fr;grid-gap:1rem;gap:1rem;padding-bottom:2rem}.detail h1{font-family:var(--font-mincho),serif;font-weight:500;font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.35;margin:.2rem 0 .6rem}.figure{min-height:180px;border-radius:18px;background:linear-gradient(160deg,rgba(255,255,255,.3),transparent 40%),#efe4d4;border:1px solid var(--line);display:grid;place-items:center;padding:1rem;color:var(--muted);text-align:center}.figure img{width:100%;height:auto;border-radius:12px}.figure figcaption{font-size:.82rem;margin-top:.4rem}.door{width:74px;height:110px;border:2px solid #b89b78;border-radius:2px 36px 2px 2px;position:relative}.door:after{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:var(--persimmon);right:10px;top:54px}dl.facts{display:grid;grid-template-columns:7rem 1fr;grid-gap:.35rem .8rem;gap:.35rem .8rem;margin:1rem 0}dl.facts dt{color:var(--muted)}dl.facts dd{margin:0}.desk{margin-top:1.2rem;padding:1rem 1.1rem}.desk h2,.desk h3{font-family:var(--font-mincho),serif;font-weight:500;margin:0 0 .4rem}.desk-partner{margin-top:1rem;padding-top:.8rem;border-top:1px dashed var(--line)}.empty{padding:1rem 1.1rem;color:var(--muted)}.site-footer{border-top:1px solid var(--line);margin-top:2rem;color:var(--muted);font-size:.9rem}.site-footer p{margin:.2rem 0}@media (max-width:800px){.detail{grid-template-columns:1fr}.hero{padding-top:2rem}}