:root{color-scheme:dark;--paper:#f1eaf0;--ink:#160f18;--muted:#c5b8c6;--line:#584356;--gold:#e2c992;--lilac:#ceb1d4;--serif:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro",serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-padding-top:1rem}body{margin:0;background:#0b080d;color:var(--paper);font:16px/1.8 var(--sans);letter-spacing:.025em;overflow-wrap:anywhere}body.directory{background:#080608 url(bg_top.webp) center 66px/auto 600px no-repeat}a{color:var(--gold);text-underline-offset:.23em}a:hover{text-decoration:underline}a:focus-visible,summary:focus-visible{outline:3px solid #ffe3a5;outline-offset:3px}img{max-width:100%;height:auto;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);line-height:1.45;font-weight:600}a.skip{position:absolute;top:-6em;left:1rem;z-index:20;background:#fff;color:#180e19;padding:.5rem 1rem}a.skip:focus{top:.5rem}
.top{background:#160f18;border-block:1px solid #61455d}.topinner,.footinner{width:min(1040px,100%);margin:auto;padding:11px 34px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{display:grid;grid-template-columns:auto auto;align-items:end;gap:0 11px;color:#f5eced;text-decoration:none;width:max-content;flex-shrink:0}.brand:hover{text-decoration:none;color:var(--gold)}.brand span{font:10px/1.4 var(--sans);grid-column:1/-1;letter-spacing:.15em}.brand strong{font:600 30px/1.15 var(--serif);letter-spacing:.07em}.brand i{font:normal 9px/1.9 Georgia,serif;letter-spacing:.2em;color:#d4bacb}.topinner nav{display:flex;align-items:center;gap:24px}.topinner nav a{color:#eee0ec;text-decoration:none;font-size:13px;white-space:nowrap}.topinner nav a:hover{text-decoration:underline}.topinner nav .navphone{color:var(--gold);border-left:1px solid var(--line);padding-left:22px}.navphone b{display:inline-block;margin-left:.35em;font:18px/1 Georgia,serif}
.hero{max-width:960px;margin:auto;position:relative;background:#080608}.hero img{width:100%;height:auto}.frame{max-width:1050px;margin:auto;background:linear-gradient(90deg,#211325,#0f0b11 2%,#100c12 98%,#211325);border-inline:1px solid #50354d}.directorytop,.directorylist,.guide,.footnotes{padding-inline:clamp(18px,5vw,59px)}.directorytop{padding-block:30px 22px;border-top:2px solid #806182}.kicker{display:flex;align-items:center;gap:16px;font-size:12px;color:var(--gold);letter-spacing:.16em}.kicker:before{content:"";display:block;width:34px;height:1px;background:#b59876}.kicker time,.kicker small{color:var(--muted);font-size:11px;letter-spacing:.1em}.directorytop h1{margin:.42em 0 .3em;font-size:clamp(24px,3.5vw,43px);letter-spacing:.045em}.directorytop h1 span{display:inline-block;font-size:.55em;color:#d2b7d3;margin-left:.8em;letter-spacing:.15em}.lede{color:#d9ced9;font-size:15px;max-width:52em}.nameindex{background:#1e1621;border:1px solid var(--line);margin-top:20px}.nameindex summary,.guide summary{cursor:pointer;min-height:44px;padding:9px 16px}.nameindex summary{color:#f6e5cf;font-size:14px}.nameindex summary small{color:#c7b9c7;margin-left:10px}.nameindex>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(108px,1fr));gap:4px 14px;padding:8px 18px 16px}.nameindex a{color:#e7d6e7}.nameindex a small{color:#c2afc2;margin-left:.4em;font-size:10px}
.sectionhead{display:flex;align-items:baseline;justify-content:space-between;gap:15px;border-bottom:1px solid #705570;margin-bottom:16px;padding-bottom:7px}.sectionhead h2,.guide>h2{font-size:25px}.sectionhead>span,.dateline,.fine,small.code{font-size:12px;color:var(--muted)}.sectionhead b{font-size:16px;color:var(--gold)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.card{display:flex;flex-direction:column;color:var(--paper);text-decoration:none;padding:19px 17px 12px;background:linear-gradient(135deg,#271c2a,#19131c);border:1px solid #503c50;border-top:2px solid #97729a;min-width:0}.card:hover{text-decoration:none;border-color:#c5a36f;background:#302333}.cardmain{display:flex;align-items:center;gap:15px}.cardmain img{width:66px;height:66px;border:1px solid #746173;object-fit:cover}.reading{font:11px/1.6 var(--sans);letter-spacing:.15em;color:#d1b8cd}.card h3{font-size:clamp(21px,2.2vw,29px);letter-spacing:.05em}.card h3 small,.identity h1 small{font-size:.47em;margin-left:.3em;font-weight:400}.code{font-size:10px;color:#bdacbc}.card p{font-size:13px;line-height:1.6;margin:12px 0;flex:1}.cardlink{border-top:1px solid #4b394b;padding-top:7px;font-size:11px;color:var(--gold);display:flex;justify-content:space-between}.cardlink b{font-size:16px;line-height:1}.dateline{padding:16px 0 30px}.dateline a{white-space:normal}.guide{padding-block:20px 28px;border-top:1px solid var(--line)}.guidegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.guidegrid h3,.story h3{font-size:19px;margin:.4em 0}.guidegrid p,.guide details p{font-size:14px;color:#d7cbd7}.tel{font-family:Georgia,serif;letter-spacing:.07em}.guide details{border-bottom:1px solid #473647}.guide details p{padding:0 16px 14px}.footnotes{padding-block:20px 32px;display:flex;flex-wrap:wrap;gap:8px 18px}.footnotes a,.footinner a:not(.brand){font-size:12px}
footer{border-top:1px solid #634d64;background:#171019}.footinner{padding-block:23px}.footinner>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 19px}.footinner>div a{color:#d6c8d5}.profile{background:#0c080d url(bg_top.webp) center 56px/auto 450px no-repeat}.profilewrap{margin-block:25px;max-width:1000px;padding:0 clamp(20px,5vw,56px);border:1px solid var(--line)}.crumb{display:flex;align-items:center;gap:.8em;font-size:12px;color:#cdbecd;padding:17px 0;border-bottom:1px solid var(--line)}.crumb i{font-style:normal;color:#846886}.identity{display:grid;grid-template-columns:minmax(130px,220px) 1fr;align-items:center;gap:clamp(24px,5vw,58px);padding:30px 0;border-bottom:1px solid var(--line)}.portrait{padding:6px;border:1px solid #876c86;background:#271c29}.portrait img{width:100%;aspect-ratio:1/1;object-fit:cover}.idcopy .reading{margin-top:1.3em}.identity h1{font-size:clamp(38px,5vw,59px);margin:0;line-height:1.3}.sub{font:19px/1.65 var(--serif);color:#e4cfdf;margin:.45em 0 .9em}.primary{display:inline-flex;align-items:center;gap:20px;padding:10px 17px;border:1px solid #c2a67e;background:#e3cb9f;color:#2d1b22;font-weight:600;text-decoration:none;font-size:14px}.profcolumns{display:grid;grid-template-columns:1fr minmax(218px,31%);gap:clamp(25px,4vw,45px);padding:31px 0}.eyebrow{font-size:11px;color:var(--gold);letter-spacing:.12em}.story h2,.facts h2{font-size:25px;margin:3px 0 13px}.story>p{line-height:1.95}.story h3{margin-top:22px}.example{padding:13px 17px;background:#241b26;border-left:2px solid #ad8cae}.example small{font-size:10px;color:var(--lilac)}.example p{font-size:15px}.tags{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:7px}.tags li{padding:3px 9px;border:1px solid #584658;color:#ddd0df;font-size:13px}.facts{padding:19px 21px;align-self:start;background:#251a27;border-top:2px solid #9a779b}.facts h2{font-size:19px}.facts dl{margin:0}.facts dt{font-size:11px;color:#c6b4c8;padding-top:.5em}.facts dd{margin:0;padding-bottom:7px;border-bottom:1px solid #514050}.price{font-size:14px}.fine{margin:.9em 0}.facts>a{font-size:13px}.neighbors{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:9px;padding:16px 0;font-size:13px}
@media(max-width:760px){.topinner,.footinner{padding-inline:17px}.topinner nav{gap:15px}.topinner nav .navphone{display:none}.cards{grid-template-columns:repeat(2,minmax(0,1fr))}.profilewrap{margin:0;border-inline:0}.guidegrid{grid-template-columns:1fr;gap:13px}.footinner{align-items:flex-start}.card{padding:14px}.cardmain{gap:10px}.identity{grid-template-columns:140px 1fr;gap:20px}.profcolumns{grid-template-columns:1fr}.facts{order:0}.identity .kicker{gap:8px}.identity .kicker:before{display:none}.identity .kicker small{font-size:10px}}
@media(max-width:520px){.brand strong{font-size:24px}.brand i{font-size:8px}.topinner nav{gap:11px}.topinner nav a{font-size:12px}.directorytop{padding-top:23px}.directorytop h1 span{display:block;margin:.12em 0 .35em;font-size:.8em}.lede{font-size:14px}.sectionhead h2{font-size:22px}.cards{grid-template-columns:1fr;gap:10px}.card{display:grid;grid-template-columns:1fr auto;align-items:center;padding:13px 15px;gap:4px 12px}.cardmain{grid-row:1/3}.cardmain img{width:55px;height:55px}.card h3{font-size:24px}.card p{grid-column:1/-1;grid-row:3;margin:4px 0 0}.cardlink{grid-column:2;grid-row:1/3;display:block;padding:0;border:0;font-size:10px}.cardlink b{display:block;text-align:right;margin-top:4px}.footinner{display:block}.footinner>div{justify-content:flex-start;margin-top:15px}.identity{grid-template-columns:88px 1fr;align-items:start;gap:15px;padding:22px 0}.identity .kicker{font-size:10px;flex-wrap:wrap}.idcopy .reading{margin-top:6px}.identity h1{font-size:37px}.sub{font-size:16px}.primary{font-size:12px;gap:6px;padding:9px 11px}.profcolumns{padding-top:23px}.story h2{font-size:23px}.story>p{font-size:15px}.nameindex summary small{font-size:10px}.neighbors{font-size:12px}.kicker{font-size:11px}}
.contactbar{max-width:960px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:24px;background:#1d1520;border-block:1px solid #513c51;padding:8px 14px}.contactbar a{font-size:13px;text-decoration:none;color:#e7d5e3}.contactbar a:hover{text-decoration:underline}.contactbar a+a{border-left:1px solid #624e64;padding-left:24px}.contactbar b{font:15px Georgia,serif;color:var(--gold)}@media(max-width:520px){.contactbar{gap:10px;padding:5px 10px}.contactbar a{font-size:10px;padding-block:5px}.contactbar b{display:block;font-size:14px}.contactbar a+a{padding-left:12px}}

.introcopy{margin:1.6rem 0 1.2rem;padding:1.1rem 1.35rem;border-inline-start:3px solid #a784bb;background:#26172f;color:#f2ebf4}.introcopy h2,.choiceguide h3{font-family:serif}.introcopy h2{font-size:1.2rem;margin:0 0 .45rem}.introcopy p{margin:.45rem 0;line-height:1.9}.choiceguide p,.consultdetail p{line-height:1.95}.choiceguide h3{margin-block:1.5rem .35rem}.choiceguide a{text-decoration:underline;text-underline-offset:.2em}.consultdetail p+p{margin-top:.8rem}
