:root{--ink:#303a3f;--muted:#6e767a;--accent:#526f7f;--line:#dfe4e6;--tint:#f4f6f7;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.wrap{width:min(940px,calc(100% - 72px));margin-inline:auto}.skip-link{position:absolute;left:16px;top:-90px;background:white;padding:8px 14px;z-index:5}.skip-link:focus{top:8px}.sample-note{padding:7px 16px;text-align:center;background:var(--tint);color:#647078;font-size:11px;letter-spacing:.05em}.sample-note span{margin-right:10px;color:var(--accent)}.site-header{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.brand{text-decoration:none;font-family:var(--serif);font-size:20px;letter-spacing:.1em;white-space:nowrap}.brand span{margin-left:12px;font-family:Georgia,serif;font-size:13px;font-style:italic;letter-spacing:.03em;color:var(--muted)}nav{display:flex;gap:25px}nav a{font-size:12px;text-decoration:none;transition:color .15s}nav a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:6px}.hero{display:grid;grid-template-columns:320px 1fr;gap:72px;align-items:center;padding:50px 0 55px}.portrait{margin:0}.portrait img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}.eyebrow{margin:0 0 8px;font-family:Georgia,serif;font-size:11px;letter-spacing:.19em;color:var(--accent)}h1{margin:0;font-family:var(--serif);font-weight:500;font-size:40px;letter-spacing:.15em;line-height:1.5}.roman-name{margin:5px 0 30px;font-family:Georgia,serif;font-size:15px;letter-spacing:.08em;color:var(--muted)}.hero-message{margin:0 0 18px;font-family:var(--serif);font-size:23px;font-weight:500;line-height:1.9;letter-spacing:.05em}.intro{font-size:13px;line-height:2.1;margin:0 0 22px}.text-link{display:inline-flex;gap:24px;align-items:center;border-bottom:1px solid #a6b6be;padding-bottom:3px;text-decoration:none;font-size:12px;color:var(--accent)}.text-link:hover{border-color:var(--accent)}.text-section{display:grid;grid-template-columns:175px 1fr;gap:42px;border-top:1px solid var(--line);padding:42px 0;scroll-margin-top:20px}.section-title h2{margin:0;font-family:var(--serif);font-size:20px;font-weight:500;letter-spacing:.04em}.prose p{margin:0 0 17px;font-size:14px;line-height:2.15}.prose p:last-child{margin-bottom:0}.contact-section{background:var(--tint);padding:38px 24px 32px;margin:4px 0 42px;text-align:center}.contact-section h2{margin:0 0 12px;font-family:var(--serif);font-weight:500;font-size:23px;letter-spacing:.04em}.contact-section>p:not(.eyebrow):not(.contact-note){margin:0 0 20px;font-size:13px}.contact-button{background:var(--accent);border:1px solid var(--accent);color:#fff;min-height:48px;padding:11px 26px;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:30px;transition:background .15s}.contact-button:hover{background:#3f5967}.contact-note{font-size:11px;color:var(--muted);margin:12px 0 0}.site-footer{padding:0 0 25px;text-align:center}.footer-brand{font-family:Georgia,serif;font-size:15px;letter-spacing:.04em;margin:0 0 12px}.footer-brand span{font-size:12px;color:var(--muted)}.fiction-note{font-size:10px;color:var(--muted);margin:0 0 7px}.copyright{margin:0;font-size:10px;letter-spacing:.03em;color:var(--muted)}dialog{width:min(460px,calc(100% - 36px));border:1px solid var(--line);padding:40px 30px 28px;text-align:center;color:var(--ink);background:#fff}dialog::backdrop{background:rgba(28,41,47,.45)}dialog h2{font-family:var(--serif);font-size:22px;font-weight:500;margin:0 0 20px}dialog p{font-size:13px}dialog .sample-address{font-family:Georgia,serif;font-size:23px;color:var(--accent);padding:12px 0 6px;margin:0}dialog .dialog-note{color:var(--muted);font-size:11px;margin:0 0 26px}.dialog-close{position:absolute;right:8px;top:5px;width:44px;height:44px;background:none;border:0;font-size:28px;color:var(--muted);cursor:pointer}.dialog-done{border:1px solid #b7c2c8;background:white;padding:8px 30px;min-height:44px;color:var(--accent);cursor:pointer}.dialog-done:hover{background:var(--tint)}
.social-links{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 28px;margin:23px 0 0}.social-link{display:inline-flex;align-items:center;gap:7px;min-height:34px;text-decoration:none;color:var(--accent);font-size:13px}.social-link:hover{text-decoration:underline;text-underline-offset:4px}.social-link span{font-size:10px;color:var(--muted)}.social-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5}.social-link .icon-dot{fill:currentColor;stroke:none}.sample-profile-name{margin:0!important;font-family:var(--serif);font-size:16px!important}#sns-handle{font-size:20px}#sns-description{margin:20px 0 25px;color:var(--muted);font-size:12px}
@media(min-width:1200px){.hero{padding-top:56px;padding-bottom:60px}}
@media(max-width:760px){.wrap{width:calc(100% - 40px)}.site-header{min-height:82px;flex-wrap:wrap;justify-content:center;gap:5px;padding:15px 0 13px}.brand{font-size:19px}nav{width:100%;justify-content:center;gap:25px}nav a{font-size:11px;padding:5px 0}.hero{grid-template-columns:240px 1fr;gap:30px;padding:32px 0 38px}h1{font-size:32px}.hero-message{font-size:20px}.intro{font-size:12px}.roman-name{margin-bottom:19px}.desktop-break{display:none}.text-section{grid-template-columns:135px 1fr;gap:22px;padding:32px 0}.section-title h2{font-size:19px}.prose p{font-size:14px}.sample-note{font-size:10px}}
@media(max-width:550px){.hero{grid-template-columns:1fr;gap:26px;padding:28px 0 36px}.portrait{width:min(280px,85%);margin-inline:auto}.hero-copy{padding-inline:8px}.hero-copy .eyebrow{margin-bottom:5px}h1{font-size:34px}.roman-name{margin-top:3px;margin-bottom:21px}.hero-message{font-size:22px;line-height:1.8;margin-bottom:14px}.intro{font-size:13px;margin-bottom:17px}.text-section{grid-template-columns:1fr;gap:19px;padding:29px 0}.section-title .eyebrow{margin-bottom:3px}.section-title h2{font-size:21px}.prose p{line-height:2.1;margin-bottom:16px}.contact-section{padding:28px 17px;margin-bottom:30px}.contact-section h2{font-size:22px}.contact-button{padding:10px 18px;gap:23px}.contact-note{font-size:10px}.fiction-note{line-height:1.9;max-width:300px;margin-inline:auto}.sample-note span{margin-right:6px}.site-footer{padding-bottom:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
