:root{--ink:#2C2218;--body:#4A3C2E;--mid:#7A6A58;--sage:#6B9B6F;--sage-d:#4A7A4E;--sage-bg:#EFF4EF;--warm:#FAF7F1;--kick:#8A4A22;--line:rgba(44,34,24,.12);--max:1080px;--pad:60px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--body);font:300 17px/1.8 Jost,"Century Gothic","Noto Sans JP",sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:"Cormorant Garamond","Noto Serif JP",serif;font-weight:300;color:var(--ink);line-height:1.15;margin:0 0 .55em}
h1{font-size:clamp(36px,5vw,60px);letter-spacing:-.01em}
h2{font-size:clamp(26px,3.2vw,38px);margin-top:0}
h3{font-size:clamp(22px,2.2vw,27px);font-weight:400;margin-top:0}
h4{font-size:22px;font-weight:400}
em{font-style:italic;color:var(--sage);font-weight:300}
p{margin:0 0 1.1em;max-width:660px}
a{color:var(--sage-d)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}.narrow{max-width:var(--max)}.center{text-align:center}.center p,.center .lead{margin-left:auto;margin-right:auto}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}
/* nav */
.nav{position:fixed;top:0;left:0;right:0;height:64px;background:rgba(255,255,255,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);z-index:50}
.nav-in{max-width:var(--max);margin:0 auto;padding:0 var(--pad);height:100%;display:flex;align-items:center;justify-content:space-between}
.logo{display:flex;align-items:center}.logo img{height:30px;width:auto;display:block}
nav{display:flex;gap:28px;align-items:center}nav a{text-decoration:none;color:var(--body);font-size:14px;letter-spacing:.04em}nav a[aria-current]{color:var(--sage-d);border-bottom:1px solid var(--sage)}nav a:hover{color:var(--sage-d)}
nav .btn-sm{border:1px solid var(--sage);padding:7px 18px;border-radius:4px;color:var(--sage-d);border-bottom:1px solid var(--sage)}nav .btn-sm:hover{background:var(--sage);color:#fff}
.burger{display:none;background:none;border:1px solid var(--line);border-radius:4px;padding:5px 12px;font:inherit;font-size:14px;color:var(--ink)}
main{padding-top:64px}
/* type bits */
.eyebrow{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--kick);font-weight:500;margin:0 0 22px;max-width:none}
.eyebrow::before{content:"";width:24px;height:1px;background:#C17D4A;flex:none}
.center .eyebrow{justify-content:center}
.lead{font-size:18px;color:var(--mid);line-height:1.85;max-width:620px;font-weight:400}
.muted{color:var(--mid)}
.pull{font-family:"Cormorant Garamond",serif;font-size:clamp(24px,3vw,32px);font-style:italic;font-weight:300;line-height:1.35;color:var(--ink);border-left:2px solid var(--sage);padding-left:24px;margin:40px 0;max-width:640px}
/* sections */
.hero{padding-top:96px;padding-bottom:64px;background:#fff}
.hero h1,.sec h2{max-width:780px}.hero h1{margin-bottom:.45em}.center h1,.center h2{margin-left:auto;margin-right:auto}
.sec{padding-top:80px;padding-bottom:80px}.sec.wrap{padding-left:var(--pad);padding-right:var(--pad)}
.amber{background:var(--warm)}.sage{background:var(--sage-bg)}
.band{padding-top:88px;padding-bottom:88px;background:var(--sage-bg)}
/* buttons */
.btns{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:34px 0 0}.center .btns{justify-content:center}
.btn{display:inline-flex;align-items:center;background:var(--sage);color:#fff;text-decoration:none;padding:15px 30px;border-radius:4px;font-weight:500;font-size:15px;letter-spacing:.05em;transition:background .2s}
.btn:hover{background:var(--sage-d)}.btn.ghost{background:none;color:var(--mid);font-weight:400;padding:15px 20px}.btn.ghost:hover{color:var(--ink)}
.lang{margin-top:26px;color:var(--mid);font-size:14px;letter-spacing:.04em}
/* grids and rows */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:48px;margin:24px 0}
.card,.ex{border-top:1px solid var(--sage);padding-top:22px}.card h3,.ex h4{margin-bottom:.5em}
.card p,.ex p{font-size:16px;max-width:none}
.more{display:inline-block;margin-top:6px;font-weight:400;text-decoration:none;font-size:15px;letter-spacing:.03em}.more:hover{text-decoration:underline}
.row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.9fr);gap:56px;padding:40px 0;border-top:1px solid var(--line)}.row:last-of-type{border-bottom:1px solid var(--line)}
.row h3{margin:0}.row p:last-child{margin-bottom:0}
.chips{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0}.chips li{border:1px solid var(--line);border-radius:999px;padding:3px 16px;font-size:14px;color:var(--mid)}
.founder-row{display:flex;gap:56px;align-items:center}
.founder-row img{width:260px;height:325px;object-fit:cover;object-position:50% 12%;border-radius:2px;flex:none}
/* principles + numbers */
.princ{list-style:none;padding:0;margin:40px 0;display:grid;grid-template-columns:repeat(2,1fr);gap:40px 56px}
.princ li{display:block;border-top:1px solid var(--line);padding-top:18px}.princ h3{margin:.1em 0 .4em;font-size:24px}.princ p{font-size:16px;margin:0}
.num{display:block;font-family:"Cormorant Garamond",serif;font-size:15px;letter-spacing:.2em;color:var(--kick);font-weight:500;margin-bottom:6px}
/* cases */
.case{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.9fr);gap:56px;padding:40px 0;border-top:1px solid var(--line);margin:0}
.case:last-of-type{border-bottom:1px solid var(--line)}
.case h3{margin:0 0 .5em}.case .tags{grid-column:1;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--kick);margin:0;line-height:1.7}
.case .desc{grid-column:2;grid-row:1;font-weight:400;color:var(--ink);margin-bottom:.8em}.case .body,.case>p:not(.tags):not(.desc){grid-column:2;margin:0}
.case>div{grid-column:1;grid-row:1/span 2}
.plain{padding-left:1.1em;max-width:660px}.plain li{margin:.45em 0}.plain li::marker{color:var(--sage)}
.people{list-style:none;padding:0}.people li{margin:0 0 18px}
/* people grid */
.group-label{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--kick);font-weight:500;margin:0 0 26px;padding-bottom:12px;border-bottom:1px solid var(--line);max-width:none}
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;margin-bottom:64px}.pgrid.three{grid-template-columns:repeat(3,1fr);gap:40px}
.pgrid img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:2px;margin-bottom:14px;background:#F0EDE8;display:block}
.pname{font-family:"Cormorant Garamond",serif;font-size:23px;font-weight:400;color:var(--ink);line-height:1.2;margin:0 0 4px}
.prole{font-size:14px;color:var(--mid);line-height:1.6;margin:0;max-width:none}
/* quotes */
.quotes{display:grid;grid-template-columns:repeat(2,1fr);gap:48px 56px;margin-top:40px}
blockquote{margin:0;padding:0}blockquote p{font-family:"Cormorant Garamond",serif;font-size:clamp(21px,2.2vw,25px);font-style:italic;font-weight:300;line-height:1.4;color:var(--ink);margin:0 0 12px;max-width:none}
cite{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--kick);font-style:normal;font-weight:500}
.facts{display:grid;grid-template-columns:200px 1fr;gap:0 40px;margin:28px 0;border-top:1px solid var(--line)}.facts dt,.facts dd{padding:16px 0;border-bottom:1px solid var(--line);margin:0}.facts dt{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--kick);font-weight:500;padding-top:20px}
footer{border-top:1px solid var(--line);padding:44px 0;font-size:14px;color:var(--mid)}.foot-links{display:flex;gap:26px;flex-wrap:wrap;margin-bottom:14px}.foot-links a{color:var(--body);text-decoration:none}.foot-links a:hover{color:var(--sage-d)}footer p{margin:0}
:focus-visible{outline:2px solid var(--sage);outline-offset:3px}
@media(max-width:900px){:root{--pad:28px}.grid3,.grid2,.princ,.quotes{grid-template-columns:1fr;gap:32px}.row,.case{grid-template-columns:1fr;gap:12px;padding:30px 0}.case .tags,.case .desc,.case>p:not(.tags):not(.desc),.case>div{grid-column:1;grid-row:auto}.founder-row{flex-direction:column;align-items:flex-start;gap:28px}.founder-row img{width:200px;height:250px}.pgrid,.pgrid.three{grid-template-columns:repeat(2,1fr);gap:28px}.facts{grid-template-columns:1fr}.facts dt{border-bottom:0;padding-bottom:0}
.burger{display:block}nav{display:none;position:absolute;top:64px;left:0;right:0;background:#fff;flex-direction:column;align-items:flex-start;padding:20px 28px;gap:16px;border-bottom:1px solid var(--line)}nav.open{display:flex}.hero{padding-top:56px;padding-bottom:40px}.sec{padding-top:56px;padding-bottom:56px}.band{padding-top:64px;padding-bottom:64px}}
@media(max-width:480px){.btns{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* how tmatsu thinks */
.figs{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:48px 0 40px}
figure{margin:0}figure svg{width:100%;height:auto;display:block;background:#fff;border:1px solid var(--line);border-radius:6px}
figcaption{padding-top:18px}figcaption .num{margin-bottom:4px}figcaption h4{margin:0 0 .3em}figcaption p{font-size:16px;margin:0}
.two-for{display:grid;grid-template-columns:repeat(2,1fr);gap:48px;margin:8px 0 28px}.two-for p:last-child{margin-bottom:0}
.walk{animation:march 2.4s linear infinite}@keyframes march{to{stroke-dashoffset:-22}}
.reveal{opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s ease}.reveal.in{opacity:1;transform:none}
.no-js .reveal{opacity:1;transform:none}
@media(max-width:900px){.figs,.two-for{grid-template-columns:1fr;gap:32px}}
@media(prefers-reduced-motion:reduce){.walk{animation:none}.reveal{opacity:1;transform:none;transition:none}}
.premise{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.1fr);gap:72px;align-items:center;margin-top:88px;padding-top:72px;border-top:1px solid var(--line)}
.premise figure svg{border:0;background:none;border-radius:0}
.premise h3.big{font-size:clamp(26px,3vw,36px);font-weight:300;line-height:1.2;margin-bottom:.6em}
.premise .two-for{gap:32px;margin:28px 0 12px}.premise .two-for p{font-size:16px}
@media(max-width:900px){.premise{grid-template-columns:1fr;gap:32px;margin-top:56px;padding-top:48px}.premise figure{max-width:420px}}
/* matrix of examples */
.matrix{display:grid;grid-template-columns:150px repeat(3,minmax(0,1fr));gap:20px 32px;margin:52px 0 12px;align-items:start}
.mhead h4{margin:0;font-size:22px}.mhead .num{margin-bottom:2px}
.mrow-label{padding-top:8px}.mrow-label .eyebrow{margin:0;line-height:1.5;display:block}.mrow-label .eyebrow::before{display:block;margin-bottom:10px}
.matrix figure svg{border:1px solid var(--line);background:#fff}
.matrix figcaption{padding-top:12px}.matrix figcaption p{font-size:15px;line-height:1.6;margin:0}
.matrix .mrow-label+figure{} 
@media(max-width:1000px){.matrix{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 20px}.matrix .mhead:first-child{display:none}.mrow-label{grid-column:1/-1;padding-top:20px}.mrow-label .eyebrow::before{display:inline-block;margin:0 12px 0 0;vertical-align:middle}.mrow-label .eyebrow{display:flex}}
@media(max-width:700px){.matrix{grid-template-columns:1fr;gap:16px}.mhead{display:none}.matrix figure{margin-bottom:8px}}

.balcony{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center;margin:64px 0 0}.balcony figure svg{border:0;background:none}.balcony h3.big{font-size:clamp(26px,3vw,36px);font-weight:300;line-height:1.2;margin-bottom:.6em}@media(max-width:900px){.balcony{grid-template-columns:1fr;gap:32px}}

.expect{margin:44px 0 8px;max-width:820px}.expect .intro{font-size:17px;color:var(--mid);margin:0 0 14px}
.expect .xl{font-family:'Cormorant Garamond','Noto Sans JP',serif;font-style:italic;font-weight:300;font-size:clamp(28px,3.6vw,44px);line-height:1.2;color:var(--sage-dk,#4A7A4E);margin:0 0 .35em}
.turn{max-width:680px;font-size:18px;line-height:1.75;margin:36px 0 0}
.mini{margin:28px 0 8px;max-width:430px}.premise{align-items:start}.premise figure:first-child{position:sticky;top:96px}.mini svg{border:0;background:none}.mini figcaption{font-size:14px;color:var(--mid);padding-top:6px}



.crossings-sec{background:var(--warm);padding:64px 0 68px}
.cross-top{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:start;margin-bottom:36px}
.cross-lead{font-size:clamp(22px,2.4vw,28px);line-height:1.4;margin:0;color:var(--ink,#2C2218)}
.cross-close{font-size:16px;line-height:1.7;margin:0;color:var(--body,#4A3C2E)}

.cross-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px}
.cross-list li{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line);padding-top:16px}
.cross-list .from{font-size:14px;color:var(--mid);line-height:1.4}
.cross-list .to{font-family:'Cormorant Garamond','Noto Sans JP',serif;font-size:21px;line-height:1.25;color:var(--ink,#2C2218)}
.flip{display:none}
.flip-on .cross-list{display:none}
.flip-on .flip{display:block;max-width:540px}
.board{background:none;padding:0;box-shadow:none}
.pgs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:10px}
.pgcol{display:flex;flex-direction:column}
.pg{position:relative;height:70px;perspective:700px;cursor:pointer}
.pg .under,.pg .leaf{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:6px 14px;border-radius:3px;font-family:'Cormorant Garamond','Noto Sans JP',serif;font-weight:400;line-height:1.2}
.pg.from .under,.pg.from .leaf{background:#E1EBE1;color:#3F6A43;font-size:clamp(16px,1.5vw,18px);border:1px solid #CADBCB}
.pg.to .under,.pg.to .leaf{background:#F4E6DA;color:#2C2218;font-size:clamp(17px,1.7vw,20px);border:1px solid #E6D1BF}
.pg .leaf{transform-origin:50% 0;backface-visibility:hidden;-webkit-backface-visibility:hidden;transition:transform .6s cubic-bezier(.5,0,.2,1)}
.pg .leaf::before,.pg .under::before{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:rgba(44,34,24,.22)}
.pg .leaf.go{transform:rotateX(-180deg)}
.pg .leaf.nt{transition:none}
.plate{align-self:flex-start;font-family:Jost,sans-serif;font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#8A4A22;margin:6px 0 0 2px}
.fbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:10px}
.fdots{display:flex;gap:10px}
.fdots button{width:28px;height:4px;padding:0;border:0;border-radius:2px;background:#D9D0C0;cursor:pointer;position:relative}
.fdots button::after{content:"";position:absolute;inset:-10px 0}
.fdots button.on{background:var(--sage)}
.fnext{white-space:nowrap;font-family:Jost,sans-serif;font-size:13px;letter-spacing:.04em;color:#4A7A4E;background:none;border:0;padding:4px 0;cursor:pointer}
.fnext:hover{text-decoration:underline}
@media(max-width:1000px){.cross-top{grid-template-columns:1fr;gap:20px}.cross-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 24px}}
@media(max-width:700px){.crossings-sec{padding:44px 0}.pgs{grid-template-columns:1fr}.pg{height:56px}.fdots{gap:6px}.fdots button{width:20px}.cross-list{grid-template-columns:1fr;gap:20px}}


.pg .under,.pg .leaf{font-family:Jost,'Noto Sans JP',sans-serif;font-weight:300;letter-spacing:.01em}
.pg.from .under,.pg.from .leaf{font-size:clamp(14px,1.3vw,15px);color:#4A7A4E}
.pg.to .under,.pg.to .leaf{font-size:clamp(15px,1.4vw,17px);color:#4A3C2E}

.premise figure figcaption{font-family:'Cormorant Garamond','Noto Sans JP',serif;font-style:italic;font-size:17px;line-height:1.45;color:var(--mid);padding:10px 8px 0;text-align:center}

/* organizations: work cards + web */
.cfilter{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 28px}
.cfilter button{font-family:Jost,sans-serif;font-weight:300;font-size:14px;color:var(--mid);background:none;border:1px solid var(--line);border-radius:999px;padding:6px 16px;cursor:pointer}
.cfilter button:hover{border-color:var(--sage)}
.cfilter button.on{background:var(--sage);border-color:var(--sage);color:#fff}
.cgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.ccard{background:#fff;border:1px solid var(--line);border-top:3px solid var(--sage);padding:24px 26px 20px}
.ccard.t-coh{border-top-color:#C17D4A}.ccard.t-online{border-top-color:#7B8FA1}
.ccard[hidden]{display:none}
.ctype{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#4A7A4E}
.t-coh .ctype{color:#8A4A22}.t-online .ctype{color:#546A7C}
.ctype svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6}
.ccard h3{font-size:24px;line-height:1.25;margin:0 0 .5em}
.cdesc{font-size:15px;line-height:1.65;margin:0 0 14px}
.cmeta{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.cmeta span{border:1px solid var(--line);border-radius:999px;padding:2px 12px;font-size:13px;color:var(--mid)}
.ccard details summary,.detail summary{cursor:pointer;color:#4A7A4E;font-size:15px;list-style:none;display:inline-flex;align-items:center;gap:8px}
.ccard details summary::-webkit-details-marker,.detail summary::-webkit-details-marker{display:none}
.ccard details summary::after,.detail summary::after{content:"+";font-size:18px;line-height:1}
.ccard details[open] summary::after,.detail[open] summary::after{content:"\2212"}
.ccard details p{font-size:15px;line-height:1.7;margin:12px 0 0}
.ccard details .tags{font-size:13px;color:var(--mid)}
.web{margin:44px 0 24px}
.web svg{border:0;background:none;width:100%;max-width:820px;height:auto;display:block;margin:0 auto}
.web-list{display:none;list-style:none;padding:0;margin:0}
.web figcaption{text-align:center;font-family:'Cormorant Garamond','Noto Sans JP',serif;font-style:italic;font-size:19px;color:var(--mid);padding-top:14px}
.detail{margin:8px 0 28px}
.detail .princ{margin-top:24px}
@media(max-width:900px){.cgrid{grid-template-columns:1fr}.web svg{display:none}.web-list{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--line)}.web-list li{display:flex;flex-direction:column;gap:2px;padding:14px 0;border-bottom:1px solid var(--line)}.web-list strong{font-weight:500;color:var(--ink,#2C2218)}.web-list span{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px;color:var(--mid)}}

/* coaching tiles */
.ttiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:36px;align-items:start}
.ttile{background:#fff;border:1px solid var(--line);border-top:2px solid var(--sage);padding:26px 26px 22px}
.ttile>svg{width:44px;height:44px;fill:none;stroke:#6B9B6F;stroke-width:1.6;stroke-linecap:butt;stroke-linejoin:miter;margin-bottom:14px}
.ttile h3{font-size:23px;line-height:1.25;margin:0 0 .4em}
.ttile .gist{font-size:16px;line-height:1.6;color:var(--mid);margin:0}
.ttile details{margin-top:12px}
.ttile summary{cursor:pointer;color:#4A7A4E;font-size:15px;list-style:none;display:inline-flex;align-items:center;gap:8px}
.ttile summary::-webkit-details-marker{display:none}.ttile summary::after{content:"+";font-size:18px}.ttile details[open] summary::after{content:"\2212"}
.ttile details p{font-size:15px;line-height:1.7;margin:10px 0 0}
.ttile.tmore{background:transparent;border:1px dashed #C9BFAE;border-top:1px dashed #C9BFAE}
.ttile.tmore>svg{stroke:#C17D4A}
@media(max-width:1000px){.ttiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.ttiles{grid-template-columns:1fr}}
/* client voices */
.qsum{font-size:15px;color:var(--mid);margin:12px 0 0}
.qfilter{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 28px}
.qfilter button{font-family:Jost,'Noto Sans JP',sans-serif;font-weight:300;font-size:14px;color:var(--mid);background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 16px;cursor:pointer}
.qfilter button:hover{border-color:var(--sage)}
.qfilter button.on{background:var(--sage);border-color:var(--sage);color:#fff}
.qgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start;margin-top:30px}
.qfilter+.qgrid{margin-top:0}
.qcard{margin:0;background:#fff;border:1px solid var(--line);padding:22px 24px 20px}
.qcard[hidden]{display:none}
.qtop{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.qav{flex:none;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Cormorant Garamond',serif;font-size:17px;letter-spacing:.04em;color:#fff;background:#B9AC9B}
.qav.l-EN{background:#6B9B6F}.qav.l-JA{background:#C17D4A}
.qrole{margin:0;font-size:15px;color:var(--ink,#2C2218);line-height:1.3}
.qbadges{margin:5px 0 0;display:flex;flex-wrap:wrap;gap:6px}
.qb{display:inline-flex;align-items:center;gap:4px;border-radius:999px;padding:1px 10px;font-size:12px;border:1px solid var(--line);color:var(--mid)}
.qb.lang-EN{background:#EFF4EF;border-color:#CADBCB;color:#3F6A43}
.qb.lang-JA{background:#F9EDE3;border-color:#E6D1BF;color:#8A4A22}
.qb svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:1.4}
.qcard blockquote{margin:0;padding:0;border:0}
.qcard blockquote p{font-family:'Cormorant Garamond','Noto Sans JP',serif;font-size:19px;line-height:1.5;margin:0;color:var(--ink,#2C2218)}
.qcard.clamp blockquote p{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.qmore{margin-top:10px;background:none;border:0;padding:0;color:#4A7A4E;font-size:14px;cursor:pointer;font-family:Jost,sans-serif}
@media(max-width:1000px){.qgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.qgrid{grid-template-columns:1fr}}

.who-top{display:flex;gap:40px;align-items:flex-start;max-width:900px}
.who-photo{width:120px;height:150px;object-fit:cover;object-position:50% 12%;border-radius:2px;flex:none}
.who .crossings{margin-top:56px;padding-top:44px}
.who-link{margin:28px 0 0}
@media(max-width:700px){.who-top{flex-direction:column;gap:20px}.who-photo{width:96px;height:120px}}

.who-grid{display:grid;grid-template-columns:120px minmax(0,1fr);column-gap:44px;max-width:960px}
.rail1{display:flex;flex-direction:column;align-items:center}
.rline{flex:1;width:1px;min-height:24px;margin-top:14px;background:linear-gradient(#6B9B6F,#C17D4A);opacity:.55}
.who-text{padding-bottom:44px}
.rail2{display:flex;justify-content:center}
.rdot{width:11px;height:11px;border-radius:50%;background:#C17D4A;margin-top:6px}
.who .crossings{margin:0;padding:0;border:0}
.who .cross-top{grid-template-columns:1fr;gap:10px;margin-bottom:28px}
.who .cross-close{max-width:660px}
.who-link{margin:26px 0 0}
@media(max-width:700px){.who-grid{grid-template-columns:1fr}.rail1,.rail2{display:none}.who-text{padding-bottom:36px}.who-photo{width:96px;height:120px;margin-bottom:18px}.who-grid .rail1{display:block}.rail1 .rline{display:none}}

.ccard.t-out{border-top-color:#6B9B6F}.t-out .ctype{color:#4A7A4E}.ccard.t-in{border-top-color:#C17D4A}.t-in .ctype{color:#8A4A22}.ccard.t-judge{border-top-color:#7B8FA1}.t-judge .ctype{color:#546A7C}

.cwrap{margin-bottom:36px}
.idea{position:relative;isolation:isolate;overflow:hidden}
.idea::before{content:"";position:absolute;z-index:-1;left:50%;top:50%;width:min(620px,100%);height:78%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(107,155,111,.26) 0%,rgba(107,155,111,.12) 45%,rgba(107,155,111,0) 72%);filter:blur(22px)}
.bgrid,.hgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:32px 0 8px}
.bpanel,.hpanel{margin:0;background:#fff;border:1px solid var(--line);padding:14px 14px 16px}
.bpanel svg,.hpanel svg{border:0;background:none;width:100%;height:auto;display:block}
.bpanel figcaption{display:flex;flex-direction:column;gap:3px;padding-top:6px}
.bpanel figcaption strong{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:21px;color:var(--ink,#2C2218)}
.bpanel figcaption span{font-size:14px;line-height:1.55;color:var(--mid)}
.hpanel figcaption{text-align:center;font-family:'Cormorant Garamond',serif;font-style:italic;font-size:18px;color:var(--mid);padding-top:6px}
.bnote{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:19px;color:var(--mid);margin:6px 0 24px;text-align:center}
@media(max-width:900px){.bgrid,.hgrid{grid-template-columns:1fr}}
.ccard.t-retreat{border-top-color:#9A8667}.t-retreat .ctype{color:#6F5E40}
#founder .founder-row img{width:180px;height:225px}
#founder .detail{border-top:1px solid var(--line);margin:0;padding:18px 0}
#founder .detail:last-of-type{border-bottom:1px solid var(--line)}
#founder .founder-row{margin-bottom:28px}
@media(max-width:900px){#founder .founder-row{flex-direction:column;align-items:flex-start;gap:20px}}
.ltabs{display:flex;gap:8px;margin:18px 0 10px}
.ltabs button{font-family:Jost,'Noto Sans JP',sans-serif;font-weight:300;font-size:15px;color:var(--mid);background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 20px;cursor:pointer}
.ltabs button.on{background:var(--sage);border-color:var(--sage);color:#fff}
.lnote{font-size:14px;margin:0}
.post[hidden],.lnote[hidden]{display:none}
.post h1{font-size:clamp(30px,4.4vw,44px);line-height:1.2;margin:0 0 28px}
.post h2{font-size:clamp(24px,3vw,30px);line-height:1.3;margin:48px 0 16px}
.post h3{font-size:22px;margin:32px 0 10px}
.post p,.post li{font-size:17px;line-height:1.95}
.post[lang=ja] p,.post[lang=ja] li{line-height:2.1;font-family:'Noto Sans JP',Jost,sans-serif;font-weight:300}
.post ul,.post ol{padding-left:22px}.post li{margin-bottom:14px}
.postfig{margin:32px 0;background:#fff;border:1px solid var(--line);padding:12px}
.postfig svg{width:100%;height:auto;display:block;border:0;background:none}
.ltabs+.lnote{margin-bottom:0}
mark.hl{background:linear-gradient(transparent 58%,rgba(107,155,111,.32) 58%);color:inherit;padding:0 2px}
@media(max-width:900px){.premise figure:first-child{position:static}}
.qlgrid{margin-top:18px}
.qcar{position:relative}
.qgrid{display:flex!important;gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:6px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.qgrid .qcard{flex:0 0 calc((100% - 44px)/3);scroll-snap-align:start}
@media(max-width:1000px){.qgrid .qcard{flex-basis:calc((100% - 22px)/2)}}
@media(max-width:640px){.qgrid .qcard{flex-basis:86%}}
.qnav{display:flex;gap:10px;justify-content:flex-end;margin-top:16px}
.qnav button{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--sage-d);font-size:18px;cursor:pointer}
.qnav button:hover{border-color:var(--sage)}
.premise p strong,.sage .lead strong{font-weight:500;color:var(--ink)}
