:root{--bg:#f5f6f4;--surface:#eceeea;--ink:#1d2328;--muted:#5d666c;--line:#d3d8d4;--accent:#2e5e63;--accent-soft:#dce6e4;--display:"Zen Old Mincho","Hiragino Mincho ProN","Yu Mincho",serif;--body:"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic",system-ui,sans-serif;--latin:"Cormorant Garamond","Times New Roman",serif;--wrap:1040px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#14191c;--surface:#1b2225;--ink:#e4e8e5;--muted:#9aa4a6;--line:#2c3538;--accent:#8fbfc0;--accent-soft:#22302f;color-scheme:dark}}:root[data-theme=dark]{--bg:#14191c;--surface:#1b2225;--ink:#e4e8e5;--muted:#9aa4a6;--line:#2c3538;--accent:#8fbfc0;--accent-soft:#22302f;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);color:var(--ink);font-family:var(--body);letter-spacing:.02em;-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.9}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.wrap{max-width:var(--wrap);margin:0 auto;padding-inline:clamp(16px,5vw,48px)}header{top:env(safe-area-inset-top,0px);z-index:10;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);position:sticky}.bar{justify-content:space-between;align-items:center;gap:16px;padding-block:14px;display:flex}.logo{font-family:var(--latin);letter-spacing:.06em;font-size:26px;line-height:1;text-decoration:none}nav ul{letter-spacing:.08em;gap:clamp(14px,3vw,32px);margin:0;padding:0;font-size:13px;list-style:none;display:flex}nav a{color:var(--muted);text-decoration:none}nav a:hover{color:var(--ink)}@media (width<=640px){nav .hide-sm{display:none}}.hero{padding-block:clamp(72px,12vw,140px) clamp(56px,8vw,96px)}.eyebrow{font-family:var(--latin);color:var(--accent);letter-spacing:.04em;margin:0 0 28px;font-size:18px;font-style:italic}.hero h1{font-family:var(--display);letter-spacing:.06em;text-wrap:balance;margin:0;font-size:clamp(30px,5.6vw,58px);font-weight:500;line-height:1.55}.hero h1 span{display:block}.hero p.lead{max-width:34em;color:var(--muted);margin:36px 0 0;font-size:clamp(15px,1.8vw,17px)}section{border-top:1px solid var(--line);padding-block:clamp(64px,9vw,112px)}.sec-head{grid-template-columns:minmax(0,220px) minmax(0,1fr);gap:clamp(20px,5vw,64px);display:grid}@media (width<=760px){.sec-head{grid-template-columns:minmax(0,1fr)}}.label{letter-spacing:.24em;color:var(--muted);margin:0;padding-top:10px;font-size:12px}.label b{font-family:var(--latin);letter-spacing:.04em;color:var(--ink);margin-bottom:2px;font-size:22px;font-weight:500;display:block}h2{font-family:var(--display);letter-spacing:.05em;text-wrap:balance;margin:0 0 28px;font-size:clamp(24px,3.4vw,34px);font-weight:500;line-height:1.6}.prose{min-width:0;max-width:36em}.prose p{margin:0 0 1.2em}.philo-grid{grid-template-columns:minmax(0,1fr);gap:40px;display:grid}.philo-foot{grid-template-columns:minmax(0,240px) minmax(0,1fr);align-items:center;gap:clamp(24px,4vw,48px);max-width:40em;display:grid}@media (width<=600px){.philo-foot{grid-template-columns:minmax(0,1fr)}}.etym{background:var(--surface);color:var(--muted);border-radius:2px;padding:20px 22px;font-size:14px;line-height:1.8}.etym em{font-family:var(--latin);color:var(--ink);margin-right:.4em;font-size:19px;font-style:italic}figure{margin:0}figure svg{width:100%;max-width:240px;height:auto;margin:0 auto;display:block}figcaption{color:var(--muted);text-align:center;letter-spacing:.06em;margin-top:10px;font-size:12px}.services{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:8px;display:grid}@media (width<=760px){.services{grid-template-columns:minmax(0,1fr)}}.svc{background:var(--bg);flex-direction:column;gap:14px;min-width:0;padding:clamp(28px,4vw,44px);display:flex}.svc .tag{letter-spacing:.2em;color:var(--accent);font-size:12px}.svc h3{font-family:var(--latin);letter-spacing:.02em;margin:0;font-size:40px;font-weight:500;line-height:1.1}.svc .sub{font-family:var(--display);margin:0;font-size:18px;line-height:1.6}.svc p{color:var(--muted);margin:0;font-size:15px}.svc ul{border-top:1px solid var(--line);margin:6px 0 0;padding:0;font-size:14px;list-style:none}.svc li{border-bottom:1px solid var(--line);padding:10px 0}.svc .for{color:var(--muted);margin-top:auto;padding-top:10px;font-size:13px}.svc .for b{color:var(--ink);font-weight:500}.profile{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.name{font-family:var(--display);letter-spacing:.12em;margin:0;font-size:24px}.name small{font-family:var(--latin);letter-spacing:.06em;color:var(--muted);margin-top:2px;font-size:16px;display:block}.role{color:var(--muted);letter-spacing:.08em;margin:0 0 20px;font-size:13px}dl.info{border-top:1px solid var(--line);grid-template-columns:minmax(0,9em) minmax(0,1fr);margin:0;font-size:15px;display:grid}dl.info dt,dl.info dd{border-bottom:1px solid var(--line);margin:0;padding:16px 0}dl.info dt{color:var(--muted);letter-spacing:.1em;padding-top:18px;font-size:13px}dl.info dd ul{margin:0;padding-left:1.1em}.todo{color:var(--accent);background:var(--accent-soft);border-radius:2px;margin-left:4px;padding:1px 8px;font-size:12px;display:inline-block}form{gap:20px;max-width:36em;display:grid}.field{gap:6px;min-width:0;display:grid}.field label{letter-spacing:.08em;font-size:13px}.field label .req{color:var(--accent);margin-left:6px;font-size:11px}input,select,textarea{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:2px;width:100%;padding:12px 14px;font-size:15px}textarea{resize:vertical;min-height:150px;line-height:1.7}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none}.row2{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}@media (width<=560px){.row2{grid-template-columns:minmax(0,1fr)}}button{font:inherit;letter-spacing:.16em;background:var(--ink);color:var(--bg);cursor:pointer;border:0;border-radius:2px;justify-self:start;padding:15px 36px;font-size:14px}button:hover{background:var(--accent)}.note{color:var(--muted);margin:0;font-size:13px}.done{background:var(--surface);padding:20px 22px;font-size:14px;line-height:1.8}footer{border-top:1px solid var(--line);color:var(--muted);padding-block:40px;font-size:12px}footer .bar{flex-wrap:wrap;padding:0}.news-list{border-top:1px solid var(--line);max-width:40em;margin:0;padding:0;list-style:none}.news-list li{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,8em) minmax(0,1fr);gap:16px;padding:16px 0;font-size:15px;display:grid}@media (width<=560px){.news-list li{grid-template-columns:minmax(0,1fr);gap:2px}}.news-list time{color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.06em;padding-top:2px;font-size:13px}.news-list a{text-decoration:none}.news-list a:hover{text-decoration:underline}.more{letter-spacing:.1em;color:var(--muted);margin-top:20px;font-size:13px;display:inline-block}.page{padding-block:clamp(56px,8vw,96px)}.page h1{font-family:var(--display);letter-spacing:.05em;text-wrap:balance;margin:0 0 32px;font-size:clamp(24px,3.4vw,34px);font-weight:500;line-height:1.6}.article{max-width:36em}.article time{color:var(--muted);font-variant-numeric:tabular-nums;margin-bottom:8px;font-size:13px;display:block}.article .body p{margin:0 0 1.2em}.empty{color:var(--muted);font-size:14px}footer nav a{color:var(--muted)}
